Okay. I can't attest to the accuracy of the sed command but I agree with
the intent :) Though I'm not sure there still exists any place where we
use X_LIBS if cross-compiling.
Thanks,
David
On 22/01/2013 8:18 PM, Erik Joelsson wrote:
New webrev for this:
http://cr.openjdk.java.net/~erikj/8005855/webrev.root.02/
I changed the sed to only remove the -R argument and made it conditional
on cross compilation.
A bit of background on this. The X_LIBS variable is created by autoconf
by calling some special macros to locate libraries needed for X11. On
some systems nothing extra is needed and X_LIBS is left empty, but on
some, extra -L arguments are needed. Autoconf then also adds -R to put
these extra paths in the runtime search path for the built
library/executable.
In the case where we cross compile, the extra -R paths are unwanted
however. On the build host, autoconf will typically find them in
something like /path/to/cross-toolkit/lib. This directory is unlikely to
exist on the target host. The extra rpath entry in the built binary is
usually harmless, but also not correct. The main point though is that it
wasn't there in the old build and that's why we are trying to remove it
in the new.
/Erik
On 2013-01-09 14:14, Erik Joelsson wrote:
8003958 fixes this for sizer generation yes, but there is also one
library in CompileNativeLibraries that has X_LIBS on the link line.
But I suppose we shouldn't fix it unless there is a problem with it.
/Erik
On 2013-01-09 03:56, David Holmes wrote:
On 9/01/2013 5:56 AM, Kelly O'Hair wrote:
I need more info on this, what is X_LIBS for, and why remove ALL -R
options.
IIRC Fredrik added this to deal with some binary difference detected
on OSX. I don't know what these variables actually contain
I always considered the -R options to be LD options, not library
specifications really.
The -L and -l options are library specifications, but -R is just a
path that gets baked into the .so
for runtime access to the libraries, the paths don't have to exist
at build time.
The paths that get baked in at build time may not exist at runtime.
Also for cross-compilation the -R option is not recognized - which is
what
https://jbs.oracle.com/bugs/browse/JDK-8003958
build-infra: Cross-compilation of sizers utility has been broken
is all about. So these two bugs seems to be overlapping somewhat -
but the real fix is 8003958.
David
-----
-kto
On Jan 8, 2013, at 5:35 AM, Erik Joelsson wrote:
Filter away -R flags from X_LIBS variable in configure.
http://cr.openjdk.java.net/~erikj/8005855/webrev.root.01/