On Wed, 2008-09-24 at 22:34 +0200, Maarten wrote:
> Albert Hopkins wrote:

> > The grep package has a "static" USE flag.  e2fsprogs does not. So
> > enabling the static USE flag has no effect on e2fsprogs.
> 
> Ehm, how do you figure that? It surely displays the "static" USE flag:
> 
> thoughtpad ~ # emerge -pv e2fsprogs
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies... done!
> [ebuild   R   ] sys-fs/e2fsprogs-1.40.9  USE="nls -static" 0 kB
> 

Sorry, I am using a later version of e2fsprogs that does not have the
"static" USE flag.  I didn't know that earlier versions did have it but,
as another poster said, there is a bug for the package where use of the
"static" flag doesn't work.

> So I would assume at this point the package is broken in this respect.
> 
> > The easiest (easier?) thing to do would be to compile e2fsprogs
> > statically by hand and copy over the resulting binary
> 
> Good idea... well, maybe...
> 
> > # tar zxvf /path/to/e2fsprogs-1.x.x.tar.gz
> > # cd e2fsprogs-1.x.x
> > # ./configure --enable-static
> > # make
> > # ldd e2fsck/e2fsck
> >     linux-gate.so.1 =>  (0xb8033000)
> >     libc.so.6 => /lib/libc.so.6 (0xb7edb000)
> >     /lib/ld-linux.so.2 (0xb8034000)
> 
> Ehm, exactly. So yes, it uses less libraries than before, but in no way 
> is this a real statically linked binary:
> 
This is true, but it is sufficiently static enough.  Pretty much any
Linux shipped within the past 10 years or so has GNU libc 2 .x (libc 6),
so the dependencies are satisfied.

If you really really need static then:

# cd e2fsck
# make e2fsck.static
# ldd e2fsck.static 
        not a dynamic executable




Reply via email to