soversions.i not found with --disable-shared

Roland McGrath roland@frob.com
Tue Apr 4 17:46:00 GMT 2000


> 
> Compiling glibc for ix86/linux with --disable-shared I get:
> make[1]: *** No rule to make target
> `/data/builds/glibc/20000404-main-static/soversions.i', 
> needed by `/data/builds/glibc/20000404-main-static/Versions.all'.
> 
> Anybody out there with a patch to fix this?

I just checked in a change that seems appropriate, though I didn't test
your case.  Here is the patch (or just cvs update).

2000-04-04  Roland McGrath  <roland@baalperazim.frob.com>

	* Makeconfig [$(build-shared) != yes] (versioning): Set to `no'.

Index: Makeconfig
===================================================================
RCS file: /cvs/glibc/libc/Makeconfig,v
retrieving revision 1.233
retrieving revision 1.234
diff -u -b -p -r1.233 -r1.234
--- Makeconfig	2000/04/03 18:01:08	1.233
+++ Makeconfig	2000/04/05 00:44:59	1.234
@@ -762,6 +762,15 @@ ifndef rtld-version-installed-name
 rtld-version-installed-name = ld-$(version).so
 endif
 
+else  # build-shared != yes
+
+# Since symbol versioning is only meaningful for shared objects,
+# turn this variable off when we aren't building any.
+# The setting from config.make just tells us ld would support it if we cared.
+# Clobbering it here avoids having to double-conditionalize everything
+# on both $(versioning) and $(build-shared).
+versioning := no
+
 endif # build-shared
 
 ifneq (,$(findstring linuxthreads,$(add-ons)))


More information about the Libc-hacker mailing list