"make install" fails if the prefix is not /usr/local/apache2 --- httpd-2.1.3-beta ./configure --prefix=/usr/local/apache21 --enable-auth-anon --enable-auth-dbm --enable-headers --enable-logio --enable-ssl --enable-usertrack --enable-vhost-alias --enable-rewrite --enable-proxy make make install /bin/sh /opt/httpd-2.1.3-beta/srclib/apr/libtool --mode=install /usr/bin/install -c -m 755 libaprutil-1.la /usr/local/apache21/lib libtool: install: error: cannot install `libaprutil-1.la' to a directory not ending in /usr/local/apache2/lib make[2]: *** [install] Error 1 make[2]: Leaving directory `/opt/httpd-2.1.3-beta/srclib/apr-util'
Using a --prefix works for me, and I have never seen an issue like this. This is a libtool error, perhaps something else is broken.
libtool --version ltmain.sh (GNU libtool) 1.4 (1.920 2001/04/24 23:26:18) Upgrade. ltmain.sh (GNU libtool) 1.5.18 (1.1220.2.245 2005/05/16 08:55:27) Same error.
did you run configure and make without a --prefix first? Did you later run configure with a new prefix? Try a 'make clean' after running configure.
make clean make make install WORKED (mod_jk complains about wrong version, but that is not this bug.) So there is a problem with libtool-1.4 and httpd-2.1.3-beta.
I ran into this bug after installing apache in /usr/local/apache2.1. Subsequent installations with a different prefix fail during “make install” : for f in libtool shlibtool; do \ if test -f ${f}; then /usr/bin/install -c -m 755 ${f} /usr/local/apache2/build; fi; \ done /usr/bin/install -c -m 755 /usr/src/httpd-2.1.8- beta/srclib/apr/build/mkdir.sh /usr/local/apache2/build for f in make_exports.awk make_var_export.awk; do \ /usr/bin/install -c -m 644 /usr/src/httpd-2.1.8-beta/srclib/apr/build/ ${f} /usr/local/apache2/build; \ done /usr/bin/install -c -m 644 build/apr_rules.out /usr/local/apache2/build/apr_rules.mk /usr/bin/install -c -m 755 apr-config.out /usr/local/apache2/bin/apr-1-config make[2]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib/apr' Making install in apr-util make[2]: Entering directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' sed 's,^\(location=\).*$,\1installed,' < apu-1-config > apu-config.out make[3]: Entering directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' make[3]: Nothing to be done for `local-all'. make[3]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' /usr/src/httpd-2.1.8- beta/srclib/apr/build/mkdir.sh /usr/local/apache2/include /usr/local/apache2/li b/pkgconfig \ /usr/local/apache2/lib /usr/local/apache2/bin for f in /usr/src/httpd-2.1.8-beta/srclib/apr-util/include/*.h /usr/src/httpd- 2.1.8-beta/srclib/apr-util/include/*.h; do \ /usr/bin/install -c -m 644 ${f} /usr/local/apache2/include; \ done /usr/bin/install -c -m 644 apr-util.pc /usr/local/apache2/lib/pkgconfig/apr- util-1.pc list=''; for i in $list; do \ ( cd $i ; make DESTDIR= install ); \ done /bin/sh /usr/src/httpd-2.1.8-beta/srclib/apr/libtool -- mode=install /usr/bin/install -c -m 755 libaprutil-1.la /usr/local/apache2/lib libtool: install: error: cannot install `libaprutil-1.la' to a directory not ending in /usr/local/apache2.1/lib make[2]: *** [install] Error 1 make[2]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib' make: *** [install-recursive] Error 1
make clean does the trick. (In reply to comment #5) > I ran into this bug after installing apache in /usr/local/apache2.1. > > Subsequent installations with a different prefix fail during “make install” : > > for f in libtool shlibtool; do \ > if test -f ${f}; then /usr/bin/install -c -m 755 > ${f} /usr/local/apache2/build; fi; \ > done > /usr/bin/install -c -m 755 /usr/src/httpd-2.1.8- > beta/srclib/apr/build/mkdir.sh /usr/local/apache2/build > for f in make_exports.awk make_var_export.awk; do \ > /usr/bin/install -c -m 644 /usr/src/httpd-2.1.8-beta/srclib/apr/build/ > ${f} /usr/local/apache2/build; \ > done > /usr/bin/install -c -m 644 > build/apr_rules.out /usr/local/apache2/build/apr_rules.mk > /usr/bin/install -c -m 755 apr-config.out /usr/local/apache2/bin/apr-1-config > make[2]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib/apr' > Making install in apr-util > make[2]: Entering directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' > sed 's,^\(location=\).*$,\1installed,' < apu-1-config > apu-config.out > make[3]: Entering directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' > make[3]: Nothing to be done for `local-all'. > make[3]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' > /usr/src/httpd-2.1.8- > beta/srclib/apr/build/mkdir.sh /usr/local/apache2/include /usr/local/apache2/li > b/pkgconfig \ > /usr/local/apache2/lib /usr/local/apache2/bin > for f in /usr/src/httpd-2.1.8-beta/srclib/apr- util/include/*.h /usr/src/httpd- > 2.1.8-beta/srclib/apr-util/include/*.h; do \ > /usr/bin/install -c -m 644 ${f} /usr/local/apache2/include; \ > done > /usr/bin/install -c -m 644 apr-util.pc /usr/local/apache2/lib/pkgconfig/apr- > util-1.pc > list=''; for i in $list; do \ > ( cd $i ; make DESTDIR= install ); \ > done > /bin/sh /usr/src/httpd-2.1.8-beta/srclib/apr/libtool -- > mode=install /usr/bin/install -c -m 755 libaprutil- 1.la /usr/local/apache2/lib > libtool: install: error: cannot install `libaprutil-1.la' to a directory not > ending in /usr/local/apache2.1/lib > make[2]: *** [install] Error 1 > make[2]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib/apr-util' > make[1]: *** [install-recursive] Error 1 > make[1]: Leaving directory `/usr/src/httpd-2.1.8-beta/srclib' > make: *** [install-recursive] Error 1
A "make clean" is usually necessary after re-running "configure".
*** Bug 39157 has been marked as a duplicate of this bug. ***
I confirm that : sudo make clean && sudo make && sudo make install ...works. Please note that a make clean is always required... even on a fresh download !
Verified on 2.2.21