Possible solution to glibc problem (again)
tush at yahoo.com
Fri Oct 11 10:11:41 PDT 2002
Tushar T wrote:
> da02043 wrote:
>> A solution is to configure glibc with --enable-static-nss. In this
>> case you
>> can create a static binary that will use only the services dns and files
>> (change /etc/nsswitch.conf for this). You need to link explicitly
>> all these services. For example:
>> gcc -static test-netdb.c -o test-netdb \
>> -Wl,--start-group -lc -lnss_files -lnss_dns -lresolv -Wl,--end-group
> The problem is that the glibc on the host distro won't have the static
> glibc libraries (libnss_dns.a & libnss_files.a). So we need to compile
> glibc-2.3 on the host distro (maybe with a different prefix, say
> ~lfs). glibc-2.3 requires gcc-3.2, hence you will need to compile gcc
> before glibc. And just to be safe, binutils. After doing all this if
> you try to link bash against glibc-2.3, it starts complaining coz the
> host ncurses is linked against a different glibc version that is not
> compatible. So finally you end up installing lot of packages with
> --prefix=~lfs before starting Chapter 5.
One solution that I can think of is to install the static version of
glibc in with a prefix of ~lfs (lfs being the temporary user created in
Ch 5). The version of glibc used should be the same as the version on
the host. So for a glibc-2.2.5 system, we build glibc-2.2.5. That way we
avoid having to compile lot of other packages like gcc, ncurses, etc.
just to compile Ch. 5. Then for all packages in Ch 5 that are installed
in $LFS/static, we link to static nss files as in the above example.
Think this will work?
I have a static version of glibc compiled, but am not very sure how to
use the above example to compile Ch 5. Would setting LDFLAGS="-lc
-lnss_files -lnss_dns -lresolv" work? or should I add
CFLAGS="-Wl,--start-group -lc -lnss_files -lnss_dns -lresolv
-Wl,--end-group"? If someone has an answer I would appreciate it, else
will go 'google' in the gcc docs.
LFS ID: 1377
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-dev' in the subject header of the message
More information about the lfs-dev