This is the mail archive of the libc-hacker@sources.redhat.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]

make install is pretty broken


If force-install = no, make install is broken, see the attached bits
from an install log.  The problems are probably caused by the
following patch:

2000-03-17  Cristian Gafton  <gafton@redhat.com>

	* elf/Makefile ($(rtld-version-installed-name)): Delay replacing
	existing rtld-installed-name.
	($(rtld-installed-name)): Request libc-$(version) be installed too.
	replace existing rtld-installed-name using $(symbolic-link-prog).

I don't understand this patch.  It doesn't say what it tries to fix,
and there are no comments in elf/Makefile explaining things.  It
probably tries to deal with overwriting an already installed libc with
a new one with the same version number.  However, I don't see how it
avoids problems, since there is always a window where the old libc.so is
used with the new ld.so, or the other way around.  Can we revert this
patch?

Mark


make -C elf ldso_install
make[2]: Entering directory `/home/kettenis/CVS/libc-2.2/elf'
/usr/bin/install -c /home/kettenis/obj/libc/elf/ld.so /mnt/hdb2/lib/ld-2.1.91.so
.new
/usr/bin/install -c /home/kettenis/obj/libc/libc.so /mnt/hdb2/lib/libc-2.1.91.so
.new
mv -f /mnt/hdb2/lib/libc-2.1.91.so.new /mnt/hdb2/lib/libc-2.1.91.so
rm -f /mnt/hdb2/lib/ld.so.1 /mnt/hdb2/lib/ld-2.1.91.so
ln -s /mnt/hdb2/lib/ld-2.1.91.so.new /mnt/hdb2/lib/ld.so.1
ln /mnt/hdb2/lib/ld-2.1.91.so.new /mnt/hdb2/lib/ld-2.1.91.so
rm -f /mnt/hdb2/lib/ld.so.1
ln -s ld-2.1.91.so /mnt/hdb2/lib/ld.so.1
rm -f /mnt/hdb2/lib/ld-2.1.91.so.new
make[2]: Leaving directory `/home/kettenis/CVS/libc-2.2/elf'
/usr/bin/install -c /home/kettenis/obj/libc/libc.so /mnt/hdb2/lib/libc-2.1.91.so
.new
mv -f /mnt/hdb2/lib/libc-2.1.91.so.new /mnt/hdb2/lib/libc-2.1.91.so
rm -f /mnt/hdb2/lib/libc.so.0.2
ln -s libc-2.1.91.so /mnt/hdb2/lib/libc.so.0.2

...

make  -C elf subdir_install
make[2]: Entering directory `/home/kettenis/CVS/libc-2.2/elf'
rm -f /mnt/hdb2/lib/ld.so.1 /mnt/hdb2/lib/ld-2.1.91.so
ln -s /mnt/hdb2/lib/ld-2.1.91.so.new /mnt/hdb2/lib/ld.so.1
ln /mnt/hdb2/lib/ld-2.1.91.so.new /mnt/hdb2/lib/ld-2.1.91.so
ln: /mnt/hdb2/lib/ld-2.1.91.so.new: No such file or directory
make[2]: *** [/mnt/hdb2/lib/ld.so.1] Error 1

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