%{_libdir} wrong on x86_64 xenU on FC5 from xenguest-install.py

Paul Wouters paul at xelerance.com
Tue Sep 26 15:04:39 UTC 2006


On Tue, 26 Sep 2006, Paul Wouters wrote:

An update on this. It is not apache specific. It seems the stock FC5 xenguest-install.py
on x86_64, despite running the proper 64bit kernel/userland, is somehow using /usr/lib
as %{_libdir}. This is odd, as it is a virgin xenguest install from a x86_86 xen0, where
the xen0 properly expands %{_libdir} to /usr/lib64, but the installed xenU does not.

I've changed the bugzilla item to the xen component.

Paul

> Date: Tue, 26 Sep 2006 08:11:15 +0200 (CEST)
> From: Paul Wouters <paul at xelerance.com>
> Cc: fedora-devel-list at redhat.com
> To: Discussion related to Fedora Extras <fedora-extras-list at redhat.com>
> Subject: multiple apache module packages fail on %{_libdir} on x86_64 on FC5
>
>
> ( filed as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=208059 but posting
> here anyway, as it might cause faulty builds for extras apache modules as well)
>
> (someone prob needs to approve the fedora-devel-list CC:, if it doesnt' auto bounce)
>
> I was in the process of making a new apache module (mod_auth_radius). A problem I
> ran into was that despite using %{_libdir}, the module would install in
> /usr/lib/httpd/modules instead of /usr/lib64/httpd/modules. This is on an FC5
> xenu build with xenguest-install.py on a P4 with an x86_64 kernel.
>
> I checked what I could have done wrong by testing two random other modules from
> extras, mod_cband and mod_security. They turned out to suffer from the same
> problem, they also install in the wrong directory.
>
> So I decided to look at a core module, and picked mod_auth_mysql, which turns
> out to not even build on x86_64, with a failure to link against libmysqlclient,
> which is indeed a missing Require (which I bugzilla'ed), but after installing
> both mysqlclient10 and mysqlclient14, it still couldnt't find the proper
> library.
>
> So I picked mod_auth_pgsql. That compiled fine, but I already had it installed
> from binary. I peeked:
>
> # rpm -ql mod_auth_pgsql
> /etc/httpd/conf.d/auth_pgsql.conf
> /usr/lib64/httpd/modules/mod_auth_pgsql.so
> /usr/share/doc/mod_auth_pgsql-2.0.3
> /usr/share/doc/mod_auth_pgsql-2.0.3/INSTALL
> /usr/share/doc/mod_auth_pgsql-2.0.3/README
> /var/www/manual/mod/mod_auth_pgsql.html
>
> Then I checked my freshly build package:
>
> # rpm -qlp /usr/src/redhat/RPMS/x86_64/mod_auth_pgsql-2.0.3-2.3.x86_64.rpm
> /usr/doc/mod_auth_pgsql-2.0.3
> /usr/doc/mod_auth_pgsql-2.0.3/INSTALL
> /usr/doc/mod_auth_pgsql-2.0.3/README
> /usr/etc/httpd/conf.d/auth_pgsql.conf
> /usr/lib/httpd/modules/mod_auth_pgsql.so
> /var/www/manual/mod/mod_auth_pgsql.html
>
>
> This leads me to believe that the current apxs in httpd-devel is subtly
> broken. Note this is a freshly installed FC5 with updates.
>
> Part of my spec file (which matches other mod_* packages)
>
> %build
> /usr/sbin/apxs -Wc,"%{optflags}" -c mod_auth_radius-2.0.c
>
> %install
> rm -rf %{buildroot}
> mkdir -p %{buildroot}%{_libdir}/httpd/modules/
> mkdir -p %{buildroot}/%{_sysconfdir}/httpd/conf.d/
> install -p .libs/mod_auth_radius-2.0.so %{buildroot}/%{_libdir}/httpd/modules/
> install -m644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/httpd/conf.d/
>
> relevant bits of output:
>
> + cd /usr/src/redhat/BUILD
> + cd mod_auth_radius-1.5.7
> + /usr/sbin/apxs '-Wc,-O2 -g' -c mod_auth_radius-2.0.c
> /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -prefer-pic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -pthread -I/usr/include/httpd  -I/usr/include/apr-1   -I/usr/include/apr-1  -O2 -g  -c -o mod_auth_radius-2.0.lo mod_auth_radius-2.0.c && touch mod_auth_radius-2.0.slo
>
> /usr/lib64/apr-1/build/libtool --silent --mode=link gcc -o mod_auth_radius-2.0.la  -rpath /usr/lib64/httpd/modules -module -avoid-version    mod_auth_radius-2.0.lo
> + exit 0
> Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.599
> + umask 022
> + cd /usr/src/redhat/BUILD
> + cd mod_auth_radius-1.5.7
> + rm -rf /var/tmp/mod_auth_radius-1.5.7-1-root-
> + mkdir -p /var/tmp/mod_auth_radius-1.5.7-1-root-/usr/lib/httpd/modules/
> + mkdir -p /var/tmp/mod_auth_radius-1.5.7-1-root-//usr/etc/httpd/conf.d/
> + install -p .libs/mod_auth_radius-2.0.so /var/tmp/mod_auth_radius-1.5.7-1-root-//usr/lib/httpd/modules/
> + install -m644 /usr/src/redhat/SOURCES/mod_auth_radius.conf /var/tmp/mod_auth_radius-1.5.7-1-root-//usr/etc/httpd/conf.d/
> + exit 0
>
> As can be seen, apxs seems to reference /usr/lib64/httpd/modules while building, but /var/tmp/mod_auth_radius-1.5.7-1-root-//usr/lib/httpd/modules/ when installing.
>
> Paul
>
>

-- 
Building and integrating Virtual Private Networks with Openswan:
http://www.amazon.com/gp/product/1904811256/104-3099591-2946327?n=283155




More information about the fedora-extras-list mailing list