You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Jeff Trawick <tr...@bellsouth.net> on 2001/01/09 21:25:35 UTC

Re: cvs commit: apr APRVARS.in configure.in

rbb@apache.org writes:

> rbb         01/01/09 11:28:38
> 
>   Modified:    .        configure.in
>                .        APRVARS.in configure.in
>   Log:
>   Fix a compile break with the new APR libtool setup.  Basically, we are
>   using a libtool library from MM, but it isn't getting linked into the
>   Apache executable, so we fail the link stage.  This makes APR
>   publicize the libtool libraries that it uses, so that Apache can link
>   them in.

This doesn't get it building for me :(

Before this commit, the patch at the bottom from Victor got us going.

Index: Makefile.in
===================================================================
RCS file: /home/cvspublic/apr/Makefile.in,v
retrieving revision 1.37
diff -u -d -r1.37 Makefile.in
--- Makefile.in	2001/01/09 11:05:33	1.37
+++ Makefile.in	2001/01/09 19:38:53
@@ -42,7 +42,8 @@
 $(LIBAPR): $(MODULES)
 	@for i in $(SUBDIRS); do objects="$$objects $$i/*.lo"; done ; \
 	    echo $(LINK) -rpath $(libdir) $$objects ; \
-	    $(LINK) -rpath $(libdir) $$objects
+	    $(LINK) -rpath $(libdir) $$objects ; \
+            ln -s .libs/libapr.a
 
 delete-exports:
 	@if test -f $(TARGET_EXPORTS); then \
Index: shmem/unix/Makefile.in
===================================================================
RCS file: /home/cvspublic/apr/shmem/unix/Makefile.in,v
retrieving revision 1.15
diff -u -d -r1.15 Makefile.in
--- shmem/unix/Makefile.in	2001/01/09 11:06:15	1.15
+++ shmem/unix/Makefile.in	2001/01/09 19:39:59
@@ -17,11 +17,12 @@
 # build the MM library, then copy the objects to this dir so our top-level
 # will find them and copy them to the (top)/objs directory
 MM_OBJS = \
-	mm/mm_global.lo mm/mm_alloc.lo mm/mm_core.lo mm/mm_lib.lo \
-	mm/mm_vers.lo
+	mm/mm_global.o mm/mm_alloc.o mm/mm_core.o mm/mm_lib.o \
+	mm/mm_vers.o
 
 build-mm:
 	(cd mm && $(MAKE) libmm.la)
-	cp $(MM_OBJS) .
+	@rm -f mm*.o mm*.lo
+	@for i in $(MM_OBJS); do ln $$i `echo $$i | sed -e 's/.*\/\(.*\)\.o/\1\.lo/'`; done 
 
 # DO NOT REMOVE

-- 
Jeff Trawick | trawickj@bellsouth.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: cvs commit: apr APRVARS.in configure.in

Posted by Jeff Trawick <tr...@bellsouth.net>.
Jeff Trawick <tr...@bellsouth.net> writes:

> Oops... I meant to follow up to the list... trying again.
> 
> Note also that upgrading to libtool 1.3.4 and libtool 1.3.5 didn't
> help.

Double loser...   I didn't blow away ltmain.sh after upgrading, and
ltmain.sh is where the bug was.

libtool 1.3.4 has a fix for the problem.

Unless somebody shouts real soon, I'll change the libtool check to
require 1.3.4 instead of 1.3.3.

Also, I noticed that build/cvsclean doesn't blow away all copies of
ltmain.sh:

./srclib/pcre/ltmain.sh
./srclib/apr/shmem/unix/mm/ltmain.sh
./ltmain.sh         

The first two reside in cvs, so it is okay not to remove them.

The last one isn't in cvs so it has to go.
-- 
Jeff Trawick | trawickj@bellsouth.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: cvs commit: apr APRVARS.in configure.in

Posted by Jeff Trawick <tr...@bellsouth.net>.
Oops... I meant to follow up to the list... trying again.

Note also that upgrading to libtool 1.3.4 and libtool 1.3.5 didn't
help.

Greg Stein <gs...@lyra.org> writes:

> That patch is just plain wrong. Usable as a stopgap, but not something to be
> committed.
> 
> I was dead tired last night and had to crash after some minimal testing.
> I'll get the stuff cleaned back up.
> 
> Jeff: what is going wrong for you with Ryan's new patch?

Here is the tail end of a build just now on an up-to-date clean tree:

make[3]: Leaving directory `/home/trawick/apache/httpd-2.0/srclib/apr/dso/unix'
make[3]: Entering directory `/home/trawick/apache/httpd-2.0/srclib/apr'
/bin/sh /home/trawick/apache/httpd-2.0/srclib/apr/libtool --mode=link --silent gcc -DLINUX=2 -DAPACHE_XLATE
Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -I./include -I../include -o libapr.l.Aa -rpath /usr/local/lib lib/apr_pools.lo strings/apr_cpystrn.lo strings/apr_fnmatch.lo strings/apr_snprintf.lo strings/apr_strings.lo strings/apr_strnatcmp.lo passwd/apr_getpass.lo passwd/apr_md5.lo tables/apr_hash.lo tables/apr_tables.lo file_io/unix/dir.lo file_io/unix/fileacc.lo file_io/unix/filedup.lo file_io/unix/filestat.lo file_io/unix/flock.lo file_io/unix/fullrw.lo file_io/unix/open.lo file_io/unix/pipe.lo file_io/unix/readwrite.lo file_io/unix/seek.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/poll.lo network_io/unix/sendrecv.lo network_io/unix/sockaddr.lo network_io/unix/sockets.lo network_io/unix/sockopt.lo threadproc/unix/proc.lo threadproc/unix/procsup.lo threadproc/unix/signals.lo threadproc/unix/thread.lo threadproc/unix/threadpriv.lo misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/getuuid.lo misc/unix/otherchild.lo mis!
!
c/unix/rand.lo misc/unix/start.lo misc/unix/uuid.lo locks/unix/crossproc.lo locks/unix/intraproc.lo locks/unix/locks.lo time/unix/time.lo time/unix/timestr.lo mmap/unix/common.lo mmap/unix/mmap.lo shmem/unix/mm_alloc.lo shmem/unix/mm_core.lo shmem/unix/mm_global.lo shmem/unix/mm_lib.lo shmem/unix/mm_vers.lo shmem/unix/shmem.lo i18n/unix/xlate.lo user/unix/homedir.lo dso/unix/dso.lo
ar: shmem/unix/mm_alloc.o: No such file or directory
make[3]: *** [libapr.la] Error 1
make[3]: Leaving directory `/home/trawick/apache/httpd-2.0/srclib/apr'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/trawick/apache/httpd-2.0/srclib/apr'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/trawick/apache/httpd-2.0/srclib'
make: *** [all-recursive] Error 1 

Here are the files in shmem/unix.  Look at the symbolic links.  Not
too cool.  They were created by libtool...

[trawick@adsl-77-241-65 httpd-2.0]$ dir srclib/apr/shmem/unix/
total 48
drwxrwxr-x   4 trawick  trawick      1024 Jan 10 07:01 .
drwxrwxr-x   5 trawick  trawick      1024 Dec  4 17:23 ..
-rw-rw-r--   1 trawick  trawick        20 Jan  9 15:17 .cvsignore
drwxrwxr-x   2 trawick  trawick      1024 Jan  9 15:17 CVS
-rw-rw-r--   1 trawick  trawick       657 Jan 10 07:00 Makefile
-rw-rw-r--   1 trawick  trawick       549 Jan  9 15:17 Makefile.in
drwxrwxr-x   4 trawick  trawick      2048 Jan 10 07:01 mm
-rw-rw-r--   1 trawick  trawick        10 Jan 10 07:01 mm_alloc.lo
lrwxrwxrwx   1 trawick  trawick        22 Jan 10 07:01 mm_alloc.o -> shmem/unix/mm_alloc.lo
-rw-rw-r--   1 trawick  trawick        10 Jan 10 07:01 mm_core.lo
lrwxrwxrwx   1 trawick  trawick        21 Jan 10 07:01 mm_core.o -> shmem/unix/mm_core.lo
-rw-rw-r--   1 trawick  trawick        10 Jan 10 07:01 mm_global.lo
lrwxrwxrwx   1 trawick  trawick        23 Jan 10 07:01 mm_global.o -> shmem/unix/mm_global.lo
-rw-rw-r--   1 trawick  trawick        10 Jan 10 07:01 mm_lib.lo
lrwxrwxrwx   1 trawick  trawick        20 Jan 10 07:01 mm_lib.o -> shmem/unix/mm_lib.lo
-rw-rw-r--   1 trawick  trawick        10 Jan 10 07:01 mm_vers.lo
lrwxrwxrwx   1 trawick  trawick        21 Jan 10 07:01 mm_vers.o -> shmem/unix/mm_vers.lo
-rw-rw-r--   1 trawick  trawick      6381 Jan  8 10:34 shmem.c
-rw-rw-r--   1 trawick  trawick        10 Jan 10 07:01 shmem.lo
-rw-rw-r--   1 trawick  trawick     26420 Jan 10 07:01 shmem.o 

Here is what libtool is doing (I turned off --silent):

make[1]: Entering directory `/home/trawick/apache/httpd-2.0/srclib/apr'
/bin/sh /home/trawick/apache/httpd-2.0/srclib/apr/libtool --mode=link gcc -DLINUX=2 -DAPACHE_XLA
TE -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -DAP_DEBUG -DNO_DBM_
apr_fnmatch.lo strings/apr_snprintf.lo strings/apr_strings.lo strings/apr_strnatcmp.lo passwd/apr_getpass.lo passwd/apr_md5.lo tables/apr_hash.lo tables/apr_tables.lo file_io/unix/dir.lo file_io/unix/fileacc.lo file_io/unix/filedup.lo file_io/unix/filestat.lo file_io/unix/flock.lo file_io/unix/fullrw.lo file_io/unix/open.lo file_io/unix/pipe.lo file_io/unix/readwrite.lo file_io/unix/seek.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo network_io/unix/poll.lo network_io/unix/sendrecv.lo network_io/unix/sockaddr.lo network_io/unix/sockets.lo network_io/unix/sockopt.lo threadproc/unix/proc.lo threadproc/unix/procsup.lo threadproc/unix/signals.lo threadproc/unix/thread.lo threadproc/unix/threadpriv.lo misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/getuuid.lo misc/unix/otherchild.lo misc/unix/rand.lo misc/unix/start.lo misc/unix/uuid.lo
locks/unix/crossproc.lo locks/unix/intraproc.lo locks/unix/locks.lo time/unix/time.lo time/unix/timestr.lo mmap/unix/common.lo mmap/unix/mmap.lo shmem/unix/mm_alloc.lo shmem/unix/mm_core.lo shmem/unix/mm_global.lo shmem/unix/mm_lib.lo shmem/unix/mm_vers.lo shmem/unix/shmem.lo i18n/unix/xlate.lo user/unix/homedir.lo dso/unix/dso.lo
mkdir .libs
ln -s shmem/unix/mm_alloc.lo shmem/unix/mm_alloc.o
ln -s shmem/unix/mm_core.lo shmem/unix/mm_core.o
ln -s shmem/unix/mm_global.lo shmem/unix/mm_global.o
ln -s shmem/unix/mm_lib.lo shmem/unix/mm_lib.o
ln -s shmem/unix/mm_vers.lo shmem/unix/mm_vers.o
ar cru .libs/libapr.a  lib/apr_pools.o strings/apr_cpystrn.o strings/apr_fnmatch.o strings/apr_snprintf.o strings/apr_strings.o strings/apr_strnatcmp.o passwd/apr_getpass.o passwd/apr_md5.o tables/apr_hash.o tables/apr_tables.o file_io/unix/dir.o file_io/unix/fileacc.o file_io/unix/filedup.o file_io/unix/filestat.o file_io/unix/flock.o file_io/unix/fullrw.o file_io/unix/open.o file_io/unix/pipe.o file_io/unix/readwrite.o file_io/unix/seek.o network_io/unix/inet_ntop.o network_io/unix/inet_pton.o network_io/unix/poll.o network_io/unix/sendrecv.o network_io/unix/sockaddr.o network_io/unix/sockets.o network_io/unix/sockopt.o threadproc/unix/proc.o threadproc/unix/procsup.o threadproc/unix/signals.o threadproc/unix/thread.o threadproc/unix/threadpriv.o misc/unix/errorcodes.o misc/unix/getopt.o misc/unix/getuuid.o misc/unix/otherchild.o misc/unix/rand.o misc/unix/start.o misc/unix/uuid.o locks/unix/crossproc.o locks/unix/intraproc.o locks/unix/locks.o time/unix/time.o time/unix/tim!
!
estr.o mmap/unix/common.o mmap/unix/mmap.o shmem/unix/mm_alloc.o
shmem/unix/mm_core.o shmem/unix/mm_global.o shmem/unix/mm_lib.o shmem/unix/mm_vers.o shmem/unix/shmem.o i18n/unix/xlate.o user/unix/homedir.o dso/unix/dso.o
ar: shmem/unix/mm_alloc.o: No such file or directory
make[1]: *** [libapr.la] Error 1
make[1]: Leaving directory `/home/trawick/apache/httpd-2.0/srclib/apr'
make: *** [all-recursive] Error 1
[trawick@adsl-77-241-65 apr]$     

[trawick@adsl-77-241-65 apr]$ libtool --version
ltmain.sh (GNU libtool) 1.3.3 (1.385.2.181 1999/07/02 15:49:11) 

-- 
Jeff Trawick | trawickj@bellsouth.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: cvs commit: apr APRVARS.in configure.in

Posted by Greg Stein <gs...@lyra.org>.
That patch is just plain wrong. Usable as a stopgap, but not something to be
committed.

I was dead tired last night and had to crash after some minimal testing.
I'll get the stuff cleaned back up.

Jeff: what is going wrong for you with Ryan's new patch?

Cheers,
-g

On Tue, Jan 09, 2001 at 03:25:35PM -0500, Jeff Trawick wrote:
> rbb@apache.org writes:
> 
> > rbb         01/01/09 11:28:38
> > 
> >   Modified:    .        configure.in
> >                .        APRVARS.in configure.in
> >   Log:
> >   Fix a compile break with the new APR libtool setup.  Basically, we are
> >   using a libtool library from MM, but it isn't getting linked into the
> >   Apache executable, so we fail the link stage.  This makes APR
> >   publicize the libtool libraries that it uses, so that Apache can link
> >   them in.
> 
> This doesn't get it building for me :(
> 
> Before this commit, the patch at the bottom from Victor got us going.
> 
> Index: Makefile.in
> ===================================================================
> RCS file: /home/cvspublic/apr/Makefile.in,v
> retrieving revision 1.37
> diff -u -d -r1.37 Makefile.in
> --- Makefile.in	2001/01/09 11:05:33	1.37
> +++ Makefile.in	2001/01/09 19:38:53
> @@ -42,7 +42,8 @@
>  $(LIBAPR): $(MODULES)
>  	@for i in $(SUBDIRS); do objects="$$objects $$i/*.lo"; done ; \
>  	    echo $(LINK) -rpath $(libdir) $$objects ; \
> -	    $(LINK) -rpath $(libdir) $$objects
> +	    $(LINK) -rpath $(libdir) $$objects ; \
> +            ln -s .libs/libapr.a
>  
>  delete-exports:
>  	@if test -f $(TARGET_EXPORTS); then \
> Index: shmem/unix/Makefile.in
> ===================================================================
> RCS file: /home/cvspublic/apr/shmem/unix/Makefile.in,v
> retrieving revision 1.15
> diff -u -d -r1.15 Makefile.in
> --- shmem/unix/Makefile.in	2001/01/09 11:06:15	1.15
> +++ shmem/unix/Makefile.in	2001/01/09 19:39:59
> @@ -17,11 +17,12 @@
>  # build the MM library, then copy the objects to this dir so our top-level
>  # will find them and copy them to the (top)/objs directory
>  MM_OBJS = \
> -	mm/mm_global.lo mm/mm_alloc.lo mm/mm_core.lo mm/mm_lib.lo \
> -	mm/mm_vers.lo
> +	mm/mm_global.o mm/mm_alloc.o mm/mm_core.o mm/mm_lib.o \
> +	mm/mm_vers.o
>  
>  build-mm:
>  	(cd mm && $(MAKE) libmm.la)
> -	cp $(MM_OBJS) .
> +	@rm -f mm*.o mm*.lo
> +	@for i in $(MM_OBJS); do ln $$i `echo $$i | sed -e 's/.*\/\(.*\)\.o/\1\.lo/'`; done 
>  
>  # DO NOT REMOVE
> 
> -- 
> Jeff Trawick | trawickj@bellsouth.net | PGP public key at web site:
>        http://www.geocities.com/SiliconValley/Park/9289/
>              Born in Roswell... married an alien...

-- 
Greg Stein, http://www.lyra.org/