[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: firefox-37, where to put



On Thursday 02 April 2015 20:35:17 Reco wrote:
>  Hi.
>
> On Thu, 2 Apr 2015 15:06:42 -0400
>
> Gene Heskett <gheskett@wdtv.com> wrote:
> > "ldd" says its not an executable, but then says ldd itself is not,
> > while "file" says its (ldd) a Bourne Again SHell script.
> >
> > Am I compromized?
>
> Let's see what all fuss is about.
>
> First,
>
> wget -q
> http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/37.0/linux-x86_64/e
>n-US/firefox-37.0.tar.bz2
>
> Second,
>
> wget -q
> ftp.mozilla.org/pub/mozilla.org/firefox/releases/37.0/SHA512SUMS
>
> Third,
>
> sha512sum firefox-37.0.tar.bz2
>
> Fourth,
>
> grep
> 665f856cd9f69db2122c6d5bf25305e0ffa60bb56f342be9512cbe81e912c0966a7e100ce2d
>0e30bf978cf94fcf43a2de4c8afa6834ebd46ff7b292f6eec3224 SHA512SUMS
>
> And hurray, I've apparently got Genuine™ Mozilla Firefox 37.
>
> Next,
>
> tar xf firefox-37.0.tar.bz2 && cd firefox
>
> And, finally
>
> $ file firefox
> firefox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
> dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID
> [sha1]=0xd9c52e07232a78690be6d991546a12bb3668601d, stripped
>
> $ file --mime-type firefox
> firefox: application/x-executable
>
> So, it's definitely a binary. Yet,
>
> $ ldd ./firefox
>         not a dynamic executable
>
> Why? That's why:
>
> $ pwd
> /tmp/firefox
> $ mount | grep /tmp
> tmpfs on /tmp type tmpfs
> (rw,nosuid,nodev,noexec,relatime,size=12234980k)
>
> Notice *noexec* here.
>
>
> You see, ldd actually tries to execute a file (by using special hack in
> ld.so, so that's OK). And of course, if you put an executable at
> no-executable mountpoint, not only you won't be able to run it, ldd
> also ceases to work.
>
> And yes, ldd is a shell script. A customary way to prepend hacky
> environment variables to executables is using shell wrappers. ldd is
> just one of those.
>
> Still, if ldd fails you - use objdump:
>
> $ objdump -x firefox | grep NEED
>   NEEDED               libpthread.so.0
>   NEEDED               libdl.so.2
>   NEEDED               librt.so.1
>   NEEDED               libstdc++.so.6
>   NEEDED               libm.so.6
>   NEEDED               libgcc_s.so.1
>   NEEDED               libc.so.6
>   NEEDED               ld-linux-x86-64.so.2
>   VERNEED              0x00000000004036c8
>   VERNEEDNUM           0x0000000000000007
>
>
> tl;dr version - move your firefox directory to filesystem mounted with
> exec. Problem should solve itself.

But he doesn't need to do it anyway, because Iceweasel is in fact working.

Lisi


Reply to: