Subject: Re: bug#38565: Cannot run pre-compiled Firefox

From: Arne Babenhauserheide <[email-masked]>
Date: Wed, 11 Dec 2019 16:56:32 +0100

Ricardo Wurmus <[email-masked]> writes:

> Arne Babenhauserheide <[email-masked]> writes:
>
>> Previously I got it working with the following setup:
>>
>> cd $HOME/Downloads/firefox
>> export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/run/current-system/profile/lib/:$HOME/.guix-profile/lib/:$HOME/.guix-profile/lib/nss/:$HOME/.guix-profile/lib/lib/:/gnu/store/69x60a1pn0mf5jv68al8awjfkyp1miwi-gcc-8.3.0-lib/lib/:./browser:."
>> ./firefox-bin
>
> LD_LIBRARY_PATH forces firefox-bin to use libraries from the given
> directories.  These might not be ABI compatible, so a segfault is one of
> the expected outcomes.

Yes — I’m looking for a way to get it working again.

>> This used to work with only minor limitations.
>
> I’m surprised it worked before, because often it doesn’t.  Do you happen
> to know what libraries and their exact versions this firefox binary
> expects?

$ ldd firefox-bin
	linux-vdso.so.1 (0x00007ffed00b5000)
	libpthread.so.0 => /gnu/store/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29/lib/libpthread.so.0 (0x00007f238888d000)
	libdl.so.2 => /gnu/store/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29/lib/libdl.so.2 (0x00007f2388888000)
	librt.so.1 => /gnu/store/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29/lib/librt.so.1 (0x00007f238887e000)
	libstdc++.so.6 => not found
	libm.so.6 => /gnu/store/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29/lib/libm.so.6 (0x00007f238873e000)
	libgcc_s.so.1 => not found
	libc.so.6 => /gnu/store/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29/lib/libc.so.6 (0x00007f2388582000)
	/lib64/ld-linux-x86-64.so.2 => /gnu/store/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29/lib/ld-linux-x86-64.so.2 (0x00007f2388916000)

The shipped libraries:

$ ldd *so | cut -d ' ' -f 1  | sort -u | grep -e "^[^l]"
	libatk-1.0.so.0
	libblkid.so.1
	libcairo-gobject.so.2
	libcairo.so.2
	libc.so.6
	libdbus-1.so.3
	libdbus-glib-1.so.2
	libdl.so.2
	libffi.so.6
	libfontconfig.so.1
	libfreetype.so.6
	libgcc_s.so.1
	libgdk-3.so.0
	libgdk_pixbuf-2.0.so.0
	libgio-2.0.so.0
	libglib-2.0.so.0
	libgmodule-2.0.so.0
	libgobject-2.0.so.0
	libgthread-2.0.so.0
	libgtk-3.so.0
	liblgpllibs.so
	libmount.so.1
	libmozavutil.so
	libmozgtk.so
	libmozsandbox.so
	libmozsqlite3.so
	libmozwayland.so
	libm.so.6
	libnspr4.so
	libnss3.so
	libnssutil3.so
	libpango-1.0.so.0
	libpangocairo-1.0.so.0
	libpangoft2-1.0.so.0
	libpcre.so.1
	libplc4.so
	libplds4.so
	libpthread.so.0
	libresolv.so.2
	librt.so.1
	libselinux.so.1
	libsmime3.so
	libssl3.so
	libstdc++.so.6
	libX11.so.6
	libX11-xcb.so.1
	libxcb-shm.so.0
	libxcb.so.1
	libXcomposite.so.1
	libXcursor.so.1
	libXdamage.so.1
	libXext.so.6
	libXfixes.so.3
	libXi.so.6
	libXrender.so.1
	libXt.so.6
	libz.so.1
	linux-vdso.so.1

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken