www-client/firefox fails to compile, please help

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
User avatar
an7h
Tux's lil' helper
Tux's lil' helper
Posts: 98
Joined: Wed Jan 10, 2018 8:37 am

www-client/firefox fails to compile, please help

Post by an7h »

I have no idea what's wrong, but it refuses to compile.

Here's the /var/tmp/portage/www-client/firefox/temp/build.log :
https://filebin.net/ll1l2w7fqbeypdm2

Hope somebody can help figure out what I'm missing here.
Please tell me if any other additional info is required. Thanks.
Last edited by an7h on Tue Sep 22, 2020 2:18 pm, edited 2 times in total.
If dreams were horses, beggars would ride.
User avatar
fedeliallalinea
Administrator
Administrator
Posts: 31976
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:

Post by fedeliallalinea »

I can't download file
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
User avatar
an7h
Tux's lil' helper
Tux's lil' helper
Posts: 98
Joined: Wed Jan 10, 2018 8:37 am

Post by an7h »

^ fixed ^
If dreams were horses, beggars would ride.
User avatar
NeddySeagoon
Administrator
Administrator
Posts: 56071
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

Post by NeddySeagoon »

I can't / won't log in to google.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
User avatar
fedeliallalinea
Administrator
Administrator
Posts: 31976
Joined: Sat Mar 08, 2003 11:15 pm
Location: here
Contact:

Post by fedeliallalinea »

Code: Select all

980:41.49 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: warning: libmozgtk.so, needed by ../../toolkit/library/build/libxul.so, not found (try using -rpath or -rpath-link)
980:41.53 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_print_settings_get_print_pages'
980:41.62 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_tree_view_column_get_button'
980:41.63 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gdk_screen_get_system_visual'
980:41.63 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_widget_grab_focus'
980:41.63 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_page_setup_get_paper_size'
980:41.63 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_main_iteration'
980:41.63 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_widget_set_realized'
980:41.63 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_combo_box_new_with_entry'
980:41.63 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: ../../toolkit/library/build/libxul.so: undefined reference to `gtk_page_setup_set_bottom_margin'
...
980:42.81 collect2: error: ld returned 1 exit status
980:42.81 gmake[4]: *** [/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/config/rules.mk:460: ../../dist/bin/plugin-container] Error 1
980:42.81 gmake[4]: Leaving directory '/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/ff/ipc/app'
980:42.81 gmake[3]: *** [/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/config/recurse.mk:72: ipc/app/target] Error 2
980:42.81 gmake[3]: Leaving directory '/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/ff'
980:42.82 gmake[2]: *** [/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/config/recurse.mk:34: compile] Error 2
980:42.93 gmake[2]: Leaving directory '/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/ff'
980:43.01 gmake[1]: *** [/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/config/rules.mk:390: default] Error 2
980:43.22 gmake[1]: Leaving directory '/var/tmp/portage/www-client/firefox-80.0.1-r1/work/firefox-80.0.1/ff'
980:43.25 gmake: *** [client.mk:125: build] Error 2
980:44.87 11 compiler warnings present.
Maybe recompile gtk+:3
Questions are guaranteed in life; Answers aren't.

"Those who would give up essential liberty to purchase a little temporary safety,
deserve neither liberty nor safety."
- Ben Franklin
https://www.news.admin.ch/it/nsb?id=103968
User avatar
Ionen
Developer
Developer
Posts: 3007
Joined: Thu Dec 06, 2018 2:23 pm

Post by Ionen »

Looking at the log it seem like gtk+:3 was detected properly, but libmozgtk.so wasn't built (only the stub was, I don't see a line with "-o libmozgtk.so" while I do in my own logs), and now it's failing to find it.

Code: Select all

980:41.49 /usr/lib/gcc/i686-pc-linux-gnu/9.3.0/../../../../i686-pc-linux-gnu/bin/ld.bfd: warning: libmozgtk.so, needed by ../../toolkit/library/build/libxul.so, not found (try using -rpath or -rpath-link)
Not quite sure what is happening myself, maybe it's something i686-specific new in 80.0.x but I don't have a i686 system ready anymore to try and reproduce.

As mentioned above could try to rebuild gtk+:3 anyway, but I feel there's something else going on.

Edit: Posting USE from build.log for those that can't download:

Code: Select all

 * USE:        abi_x86_32 dbus elibc_glibc gmp-autoupdate kernel_linux l10n_ru openh264 screenshot system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp userland_GNU x86
 * FEATURES:   network-sandbox sandbox userpriv usersandbox
User avatar
an7h
Tux's lil' helper
Tux's lil' helper
Posts: 98
Joined: Wed Jan 10, 2018 8:37 am

Post by an7h »

Sorry, but I wasn't sure where to upload. I would've used pastebin, but it doesn't allow for large files. Anyway, uploaded it to something else not related to google at all.

The only reason I use google is for my music playlist on youtube. Yeah, I know, it's silly, but it's an account created years ago without any phone number attached, so whatever. They keep trying to fish out that phone number (for "security reasons"), but I just say NO. :lol: Sometimes I need the drive, though, for large files. :roll:

I recompiled gtk+:3, hope it helps.
If dreams were horses, beggars would ride.
User avatar
an7h
Tux's lil' helper
Tux's lil' helper
Posts: 98
Joined: Wed Jan 10, 2018 8:37 am

Post by an7h »

Unfortunately recompiling/updating gtk+:3 did not resolve the issue. Does somebody have any other ideas? :(

-- edit --
I'll try compiling =www-client/firefox-78.0.2::sabayon . Hopefully it'll work.
If dreams were horses, beggars would ride.
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

Post by Tony0945 »

I run firefox-bin for sites that insist on firefox. I'm not going to install rust or pulseaudio just for a backup browser.
User avatar
an7h
Tux's lil' helper
Tux's lil' helper
Posts: 98
Joined: Wed Jan 10, 2018 8:37 am

Post by an7h »

The only version that compiled is =www-client/firefox-68.12.0, which is marked as stable.
If dreams were horses, beggars would ride.
User avatar
Perfect Gentleman
Veteran
Veteran
Posts: 1301
Joined: Sun May 18, 2014 10:16 am
Contact:

Post by Perfect Gentleman »

build it with LLVM/Clang.
User avatar
an7h
Tux's lil' helper
Tux's lil' helper
Posts: 98
Joined: Wed Jan 10, 2018 8:37 am

Post by an7h »

@Perfect Gentleman
Yeah, I noticed the use flag for that, but what about performance? It's a really old laptop, but I'm messing around again to see the extent of optimization I can achieve. :P
Guess I'll try anyway, though. Only one way to find out.
If dreams were horses, beggars would ride.
User avatar
Ionen
Developer
Developer
Posts: 3007
Joined: Thu Dec 06, 2018 2:23 pm

Post by Ionen »

Upstream firefox (aka firefox-bin), actually use clang+lto+pgo. So it's most tested with clang nowadays while a gcc-built version is sometime plagued by oversights (sometime leading to strange runtime errors if not during building, gentoo did make an effort to patch those whenever it happens though).

And now here's an extra thing, if you don't build with pgo (which doubles build time), then your built firefox will most likely run worse than firefox-bin regardless of things like -march/-Ctarget-cpu=native (pgo usually gives more noticeable results than those do).

If building is non-trivial for you (like say, a laptop), might as well use firefox-bin unless you need things can only get from source -- like patches, use more system libraries, ppc/arm64 build, or ALSA without apulse (although apulse offer better compatibility than the hardly-worked-on alsa backend that mozilla might remove anytime, apulse[sdk] also allow to build without pulseaudio on non-68 ebuilds).

No idea if USE=clang would help with those gtk issues though, but "possible" if there's a bug in the build system only triggered on i686+gcc+maybe something else. System did go through a lot of changes in >=78 and could explain why 68 works for you.
Edit: may also want to try the new ebuilds from yesterday (they were entirely revised, ported to eapi7, moz eclass removed, and python2 dep removed), aka firefox:0/esr78 and >=firefox-81.0, would be nice to find issues before 0/esr78 is stabilized.
User avatar
Perfect Gentleman
Veteran
Veteran
Posts: 1301
Joined: Sun May 18, 2014 10:16 am
Contact:

Post by Perfect Gentleman »

@an7h, I don't know what USE flags do you have, but building with clang has some advantages. Some of them are less RAM consumed, faster building.
User avatar
an7h
Tux's lil' helper
Tux's lil' helper
Posts: 98
Joined: Wed Jan 10, 2018 8:37 am

Post by an7h »

Well, I was able to compile =www-client/firefox-82.0_beta3::anarchy with gcc, although I believe this is not related to the overlay or version. Other than trying to build a newer version of firefox I also updated clang and llvm, which most likely, in my opinion, fixed the problem. I'm not sure what fixed it, but previously I wasn't able to compile anything newer than the rather outdated stable version.
If dreams were horses, beggars would ride.
Post Reply