Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 204485 - www-servers/apache and dev-libs/apr do not bundle libtool and use old automake (libtool cannot infer tags from full path)
Summary: www-servers/apache and dev-libs/apr do not bundle libtool and use old automak...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Apache Team - Bugzilla Reports
URL:
Whiteboard:
Keywords:
: 264250 474586 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-01-05 22:11 UTC by Santiago M. Mola (RETIRED)
Modified: 2021-04-28 19:14 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Santiago M. Mola (RETIRED) gentoo-dev 2008-01-05 22:11:18 UTC
www-servers/apache-2.2.6-r5 build fails when CC is a path.

# CC="/usr/bin/gcc" emerge =www-servers/apache-2.2.6-r5

[...]

/usr/bin/libtool --silent --mode=compile /usr/bin/gcc -pthread  -O2 -pipe -march=nocona  -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE    -I. -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/os/unix -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/server/mpm/worker -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/http -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/filters -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/proxy -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/include -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/generators -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/mappers -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/database -I/usr/include/apr-1 -I/usr/include/db4.5 -I/usr/include/mysql -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/proxy/../generators -I/usr/include -I/usr/kerberos/include -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/ssl -I/var/tmp/portage/www-servers/apache-2.2.6-r5/work/httpd-2.2.6/modules/dav/main  -prefer-non-pic -static -c unixd.c && touch unixd.lo
libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag'
make[3]: *** [unixd.lo] Error 1



# emerge --info
Portage 2.1.3.19 (default-linux/amd64/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r5 x86_64)
=================================================================
System uname: 2.6.23-gentoo-r5 x86_64 Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz
Timestamp of tree: Sat, 05 Jan 2008 11:00:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6, 2.5.1-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=nocona"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -march=nocona"
DISTDIR="/var/distfiles"
FEATURES="ccache collision-protect distlocks metadata-transfer multilib-strict parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="es_ES.UTF-8"
LC_ALL="es_ES.UTF-8"
LDFLAGS="-Wl,-O1,--as-needed"
LINGUAS="es es_ES en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/pm/repos/paludis-extras /home/coldwind/dev/sunrise/sunrise"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac aalib ace acl acpi aiglx alsa amd64 apache2 asf avahi bash-completion berkdb bitmap-fonts bluetooth branding cairo cdda cddb cdio cdr cli cracklib crypt cscope css cups d dbus dhcp dri dvd dvdr dvdread dvi eds emboss encode evo expat fam festival ffmpeg fftw firefox flac fltk fmod fortran ftp gd gdbm geoip gif gimp glitz glsa gpm gstreamer gtk hal iconv ipod ipv6 irc irssi isdnlog jabber jack javascript jingle jpeg jpeg2k kde kerberos kqemu lame ldap libcaca libnotify mad matroska midi mikmod mjpeg mmx mng modplug mp3 mp4 mpeg mplayer msn mudflap musicbrainz mysql ncurses nfs nls nptl nptlonly ntfs offensive ogg openal opengl openmp pam pango pcmcia pcre pdf perl php png pppd python qt3 qt3support qt4 quicktime rar readline reflection ruby samba sdl session sid sndfile sockets softmmu spell spl sqlite sse sse2 ssl startup-notification subtitles subversion svg tcpd tga theora threads tiff truetype truetype-fonts type1-fonts unicode usb v4l2 vcd vfat vim vim-syntax visualization vnc vorbis wma wmf x264 xanim xcomposite xinerama xml xml2 xorg xosd xpm xrandr xsl xv xvid zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es es_ES en" USERLAND="GNU" VIDEO_CARDS="none i810 vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2008-01-12 22:00:11 UTC

*** This bug has been marked as a duplicate of bug 56407 ***
Comment 2 Santiago M. Mola (RETIRED) gentoo-dev 2008-01-13 03:54:08 UTC
I fail to see why $PATH should be a problem for $CC being an _absolute_ path. Add a quick explanation if you really think this is a duplicate.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2008-01-13 12:14:02 UTC
(In reply to comment #2)
> I fail to see why $PATH should be a problem for $CC being an _absolute_ path.
> Add a quick explanation if you really think this is a duplicate.

I don't see how's Bug 56407 limited to path really. As the summary suggests, it's a generic bug about portage failing to sanitize ebuild environment.
Comment 4 Santiago M. Mola (RETIRED) gentoo-dev 2008-01-13 12:37:18 UTC
Ok, it's a dupe of Bug 56407 in the sense that portage shouldn't be using user's env CC.

But what I'm reporting is actually libtool being broken when CC is a patch, and CC can be defined in PM's env.
Comment 5 SpanKY gentoo-dev 2008-01-13 20:51:19 UTC
portage should never remove CC from the environment

there are multiple issues here, all of which i blame on apache:
 - no package should ever execute libtool from /usr/bin/
 - apache's automake is old and does not pass the --tag option when executing libtool

i could further hack libtool so that its tag inferring logic takes into account full paths, but apache would still be broken
Comment 6 Benedikt Böhm (RETIRED) gentoo-dev 2008-01-19 10:03:42 UTC
(In reply to comment #5)
> portage should never remove CC from the environment
> 
> there are multiple issues here, all of which i blame on apache:
>  - no package should ever execute libtool from /usr/bin/
>  - apache's automake is old and does not pass the --tag option when executing
> libtool

apache uses/needs to use (not entirely sure here) APRs libtool, and i guess other packages depending on APR do so as well, but for some reason i cannot remember installing APRs libtool was broken as well, otherwise we wouldn't have switched to the system libtool

not sure what to do here ...
Comment 7 SpanKY gentoo-dev 2008-01-19 20:42:31 UTC
i'm not sure i follow ... apache needs APRs libtool, but it can use the system's /usr/bin/libtool ?

any package that works with /usr/bin/libtool works with bundling a local version
Comment 8 Benedikt Böhm (RETIRED) gentoo-dev 2008-01-19 21:08:49 UTC
no, apache uses the same libtool as apr (via apr-1-config --apr-libtool), so we use /usr/bin/libtool in apr, otherwise we'd need to install the libtool bundled with apr/generated by eautoreconf
Comment 9 SpanKY gentoo-dev 2008-01-19 21:23:47 UTC
so when you say "APRs libtool", you actually mean "the same exact libtool that APR uses" ... so apache and APR use /usr/bin/libtool
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2008-02-27 08:39:17 UTC
(In reply to comment #7)
> any package that works with /usr/bin/libtool works with bundling a local
> version

Well, no not really. It blows up horribly and the apr-bundled libtool was already removed for this exact reason (things like Bug 81260).
 
Comment 11 SpanKY gentoo-dev 2008-02-28 18:36:20 UTC
you're mixing up "bundled" i think

when i say "bundled" i mean the configure process should be generating a libtool script which the rest of the one package's build system uses.  this is how all libtool based packages should work in order for things to work sanely.

i am not referring to any package *installing* a libtool script for other packages to utilize
Comment 12 Benedikt Böhm (RETIRED) gentoo-dev 2009-03-31 15:30:43 UTC
*** Bug 264250 has been marked as a duplicate of this bug. ***
Comment 13 SpanKY gentoo-dev 2014-01-22 22:38:27 UTC
*** Bug 474586 has been marked as a duplicate of this bug. ***
Comment 14 Michael Haubenwallner (RETIRED) gentoo-dev 2014-04-24 13:51:07 UTC
(In reply to SpanKY from comment #11)

Eventually, a separate autotoolized package just doing LT_INIT-things would help here, like https://github.com/haubi/host-libtool
which I'm using for ncurses and readline in Prefix for the moment:
http://prefix.gentooexperimental.org/hg/prefix-tree/diff/c9c7aedd3e4a/sys-libs/ncurses/ncurses-5.9-r02.1.ebuild
http://prefix.gentooexperimental.org/hg/prefix-tree/diff/950e40887d8a/sys-libs/readline/readline-6.2_p1-r1.ebuild

IMO, sys-devel/libtool should not install /usr/bin/libtool any more (just libtoolize). Instead, we might eventually want to install something like /usr/${CHOST}/bin/libtool - as noone would find /usr/bin/${CHOST}-libtool.

However, I could imagine for /usr/bin/libtool to be a wrapper redirecting to proper sth. like /usr/bin/${CHOST}-libtool for cross-compiling and the like...
Comment 15 SpanKY gentoo-dev 2014-04-29 21:58:00 UTC
(In reply to Michael Haubenwallner from comment #14)

it would help to a degree.  the apache packages still probe their internal helper scripts looking for paths, and libtool is just one of the items they extract.

the latest versions in the tree should properly cross-compile now and should work under prefix afaict.
Comment 16 Pacho Ramos gentoo-dev 2016-02-08 18:46:24 UTC
Is this still the case with apache-2.4?
Comment 17 SpanKY gentoo-dev 2016-02-08 23:35:47 UTC
apr-util still pokes apr directly and runs its libtool script:
/bin/bash /usr/share/build-1/libtool  --mode=compile x86_64-pc-linux-gnu-gcc -pthread  -O2 -march=amdfam10 -pipe -g -frecord-gcc-switches -Wimplicit-function-declaration -DHAVE_CONFIG_H  -DLINUX -D_REENTRANT -D_GNU_SOURCE  -DCPPFLAGS_TEST -I/var/tmp/portage/dev-libs/apr-util-1.5.4-r1/work/apr-util-1.5.4/include -I/var/tmp/portage/dev-libs/apr-util-1.5.4-r1/work/apr-util-1.5.4/include/private -I/usr/include/postgresql-9.4  -I/usr/include/apr-1  -I/usr/include/db6.0  -o buckets/apr_buckets.lo -c buckets/apr_buckets.c && touch buckets/apr_buckets.lo

so does apache:
/usr/share/build-1/libtool --silent --mode=compile x86_64-pc-linux-gnu-gcc -std=gnu99  -pthread  -O2 -march=amdfam10 -pipe -g -frecord-gcc-switches -Wimplicit-function-declaration    -DLINUX -D_REENTRANT -D_GNU_SOURCE  -DCPPFLAGS_TEST   -I. -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/os/unix -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/include -I/usr/include/apr-1 -I/usr/include/db6.0 -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/aaa -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/cache -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/core -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/database -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/filters -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/ldap -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/loggers -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/lua -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/proxy -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/session -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/ssl -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/test -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/server -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/arch/unix -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/dav/main -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/generators -I/var/tmp/portage/www-servers/apache-2.4.12/work/httpd-2.4.12/modules/mappers  -prefer-non-pic -static -c unixd.c && touch unixd.lo