svn commit: trunk/uClibc

Peter Kjellerstedt peter.kjellerstedt at axis.com
Wed May 31 09:03:21 UTC 2006


> -----Original Message-----
> From: Mike Frysinger [mailto:vapier at gentoo.org] 
> Sent: Wednesday, May 31, 2006 10:40
> To: Peter S. Mazinger
> Cc: Peter Kjellerstedt; uclibc at uclibc.org
> Subject: Re: svn commit: trunk/uClibc
> 
> On Tuesday 30 May 2006 16:27, Peter S. Mazinger wrote:
> > On Tue, 30 May 2006, Mike Frysinger wrote:
> > > On Tuesday 30 May 2006 07:13, Peter Kjellerstedt wrote:
> > > > Upgrading is not really an option for me until I get a 
> > > > new computer.
> > > > And I believe I am not the only one using an older installation
> > > > which has been running fine for years, so it is very likely that
> > > > others will run into this very subtle problem as well.
> > >
> > > broken is broken ... as you may have noticed, i care very 
> > > little for bending over for such situations
> > >
> > > > 	cd lib && $(TAR) -cf - *.so.* | $(TAR) -xf - -C
> > > > $(PREFIX)$(RUNTIME_PREFIX)lib
> > >
> > > use '-C lib' rather than 'cd lib' and see if you can use 
> > > tar to install all libs rather than using `install` and 
> > > `tar` and that'll work for me
> >
> > why not cp/install *.so and run ldconfig -n on the 
> > destination directory?
> 
> as we've seen, using cp is unreliable on old broken systems
> 
> i really really dislike the idea of using ldconfig
> -mike

Ok, I will try to make a collective response here to the issues 
that have been addressed in this thread.

* The *.so files have been installed with mode 644 since r3080 of 
  the toplevel Makefile (July 2001)... But I cannot see a reason
  as to why this was done, and I too think they should be installed 
  executable.
* We cannot use tar to install all libraries. This is due to the
  separation of the install_dev and the install_runtime targets.
  Neither can we use cp due to its incompatibility issues.
  Thus I still suggest using tar as per my previous suggestion,
  since it will mean the least changes to how the build system
  works.

Here is my suggested patch for these two issues:

Index: Makefile.in
===================================================================
--- Makefile.in	(revision 15242)
+++ Makefile.in	(working copy)
@@ -251,9 +251,9 @@
 install_runtime:
 ifeq ($(HAVE_SHARED),y)
 	$(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)lib
-	$(INSTALL) -m 644
lib/lib*-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \
+	$(INSTALL)
lib/lib*-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \
 		$(PREFIX)$(RUNTIME_PREFIX)lib
-	cp -PRf lib/*.so.* $(PREFIX)$(RUNTIME_PREFIX)lib
+	cd lib && $(TAR) -cf - *.so.* | $(TAR) -xf - -C
$(PREFIX)$(RUNTIME_PREFIX)lib
 	@if [ -x
lib/$(UCLIBC_LDSO_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
] ; then \
 	    set -e; \
 		$(SHELL_SET_X); \

//Peter



More information about the uClibc mailing list