Hi Erik:
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.
Looks good. Thanks for the background!
Tim
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/