This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Next problem with --disable-shared


>>>>> Roland McGrath writes:

>> 
>> Here's the next problem with disable-shared:
>> 
>> In file included from tmpfile.c:57:
>> ../include/shlib-compat.h:26: abi-versions.h: No such file or directory
>> make[2]: ***[/data/builds/glibc/20000404-main-static/stdio-common/tmpfile.o] Error 1
>> 
>> The problem is caused by:
>> config.h:#define        DO_VERSIONING 1

Roland> Perhaps a better version of the solution I applied would be to do it in
Roland> configure instead of in Makeconfig.  Then DO_VERSIONING would be unset too.

We need to unset both - hacking configure might be the right thing.
Roland> (Before someone asks, the reason shlib-compat.h doesn't test SHARED before
Roland> including abi-versions.h is because the dependency generation pass does a
Roland> single version and doesn't define SHARED, so you fail to get dependencies
Roland> on abi-versions.h when you should.)

Roland> Before I bother reverting my earlier change and hacking configure, why
Roland> don't you try reverting the earlier change and hand-editting your
Roland> config.h to #undef DO_VERSIONING and verify that your build works that way.

I just undeféd DO_VERSIONING and was nearly sucessfull.

I get now:
gcc -nostdlib -nostartfiles -o /home/aj/build-glibc-static/nss/makedb     /home/aj/build-glibc-static/csu/crt1.o /home/aj/build-glibc-static/csu/crti.o `gcc --print-file-name=crtbegin.o` /home/aj/build-glibc-static/nss/makedb.o /home/aj/build-glibc-static/dlfcn/libdl.a /home/aj/builld-glibc-static/nss/db-open.o  /home/aj/build-glibc-static/libc.a  -lgcc /home/aj/build-glibc-static/libc.a -lgcc `gcc --print-file-name=crtend.o` /home/aj/build-glibc-static/csu/crtn.o
/home/aj/build-glibc-static/nss/db-open.o: In function `load_db':
/home/aj/glibc-2.2/nss/nss_db/db-open.c:82: undefined reference to `dlopen'
/home/aj/glibc-2.2/nss/nss_db/db-open.c:87: undefined reference to `dlsym'
/home/aj/glibc-2.2/nss/nss_db/db-open.c:91: undefined reference to `dlsym'
/home/aj/glibc-2.2/nss/nss_db/db-open.c:98: undefined reference to `dlsym'
/home/aj/glibc-2.2/nss/nss_db/db-open.c:156: undefined reference to `dlclose'
/home/aj/glibc-2.2/nss/nss_db/db-open.c:159: undefined reference to `dlerror'
/home/aj/build-glibc-static/nss/db-open.o: In function `unload_db':
/home/aj/glibc-2.2/nss/nss_db/db-open.c:172: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[2]: *** [/home/aj/build-glibc-static/nss/makedb] Error 1
make[2]: Leaving directory `/home/aj/glibc-2.2/nss'
make[1]: *** [nss/others] Error 2

Changing the link order (adding libdl.a after db-open) fixes this -
but I didn't succeed in changing the Makefile :-(.

The only other problem is fixed with the appended patch.

Andreas

2000-04-04  Andreas Jaeger  <aj@suse.de>

	* intl/Makefile: Only run the gettext test with shared libraries.

============================================================
Index: intl/Makefile
--- intl/Makefile	2000/02/26 00:59:28	1.21
+++ intl/Makefile	2000/04/05 03:37:53
@@ -44,10 +44,12 @@
 
 include ../Rules
 
+ifeq (yes,$(build-shared))
 .PHONY: do-gettext-test
 tests: do-gettext-test
 do-gettext-test: tst-gettext.sh $(objpfx)tst-gettext
 	$(SHELL) -e $< $(common-objpfx) $(objpfx)
+endif
 
 $(objpfx)msgs.h: po2test.sed ../po/de.po
 	$(make-target-directory)

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]