On Wed, 2008-04-23 at 21:49 -0600, Eric Blake wrote: 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> According to Brad Walker on 4/23/2008 8:08 AM:
> | Emacs's configure script (from CVS HEAD) unnecessarily
> | includes /usr/lib64 in $x_libraries. This causes the build process to
> | hardcode the /usr/lib64 path into the binaries during linking, violating
> | Fedora's packaging guidelines:
> |
> | On i386 (autoconf-2.62):
> |
> | ./configure:
> |   Where do we find X Windows header files?                Standard dirs
> |   Where do we find X Windows libraries?                   Standard dirs
> 
> These messages are not printed by anything in autoconf.  Have you first
> checked that this isn't a bug specific to emacs' specific additions to
> their configure.ac?

Emacs doesn't have a configure.ac file, just configure.in. Yes, that
output from configure is from custom code in the configure.in file.

On the bugzilla report I mentioned that the code that finds x_libraries
comes from _AC_PATH_X_XMKMF:
https://bugzilla.redhat.com/show_bug.cgi?id=253872#c1

The code that assigns the RPATH to the linker flags is custom Emacs
code. Patching _AC_PATH_X_XMKMF's output to check the lib64 directories
(example: https://bugzilla.redhat.com/attachment.cgi?id=302963 ) sets
$ac_x_libraries so that the custom code doesn't set the RPATH linker
flag.



Here's some output from config.log where _AC_PATH_X_XMKMF's output runs
(before patching):

i386:
configure:9229: checking for X
configure:9400: gcc -o conftest  -O2 -D_BSD_SOURCE    -Wl,-znocombreloc
conftest.c -lX11  >&5  
configure:9407: $? = 0
configure:9469: result: libraries , headers 

x86_64:
configure:9229: checking for X
configure:9469: result: libraries /usr/lib64, headers 



Here on x86_64 x_libraries should be ''... I believe on x86_64
platforms _AC_PATH_XMKMF should check /lib64 and /usr/lib64.



After applying the above patch on x86_64:

configure:9229: checking for X
configure:9400: gcc -o conftest  -O2 -D_BSD_SOURCE    -Wl,-znocombreloc
conftest.c -lX11  >&5  
configure:9407: $? = 0
configure:9469: result: libraries , headers 

./configure output after applying the above patch on x86_64:

  What window system should Emacs use?                    x11
  What toolkit should Emacs use?                          GTK
  Where do we find X Windows header files?                Standard dirs
  Where do we find X Windows libraries?                   Standard dirs
  Does Emacs use -lXaw3d?                                 no



Brad Walker


Reply via email to