Review Request: 8005855: build-infra: Remove -R flag when cross compiling
tim.bell at oracle.com
Tue Jan 22 16:36:00 UTC 2013
> New webrev for this:
> I changed the sed to only remove the -R argument and made it
> conditional on cross compilation.
Looks good. Thanks for the background!
> 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
> 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.
> 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.
>> 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
>>> 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
>>> 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.
>>>> On Jan 8, 2013, at 5:35 AM, Erik Joelsson wrote:
>>>>> Filter away -R flags from X_LIBS variable in configure.
More information about the build-dev