Bug 35098 - Install fails using --prefix
Install fails using --prefix
Status: VERIFIED INVALID
Product: Apache httpd-2
Classification: Unclassified
Component: Build
2.2.2
Other Linux
: P2 major with 1 vote (vote)
: ---
Assigned To: Apache HTTPD Bugs Mailing List
:
: 39157 (view as bug list)
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2005-05-27 07:37 UTC by solprovider
Modified: 2011-12-31 20:52 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description solprovider 2005-05-27 07:37:52 UTC
"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'
Comment 1 Paul Querna 2005-05-27 07:46:58 UTC
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.
Comment 2 solprovider 2005-05-27 08:20:39 UTC
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.
Comment 3 Paul Querna 2005-05-27 08:30:05 UTC
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.
Comment 4 solprovider 2005-05-27 09:26:50 UTC
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.
Comment 5 Peter Kravtsov 2005-10-18 02:48:00 UTC
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
Comment 6 Peter Kravtsov 2005-10-18 02:49:25 UTC
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

Comment 7 Joe Orton 2005-10-18 09:18:00 UTC
A "make clean" is usually necessary after re-running "configure".
Comment 8 Jerome Zago 2006-11-21 09:10:14 UTC
*** Bug 39157 has been marked as a duplicate of this bug. ***
Comment 9 Denis TRUFFAUT 2011-12-31 20:49:59 UTC
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 !
Comment 10 Denis TRUFFAUT 2011-12-31 20:52:23 UTC
Verified on 2.2.21