This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: build failure in native gdb with crosstool-ng-1.13.1 on openSUSE 12.1


Both openSUSE-32 and openSUSE-64 introduced a "config.site" file and
define a CONFIG_SITE environment variable to point to this file in the
default configuration (/etc/profile.d/profile.sh). On 64-bit systems
this file is /usr/share/site/x86_64-unknown-linux-gnu and on 32-bit
systems it is /usr/share/site/i686-pc-linux-gnu. Neither version
(32-bit nor 64-bit) of 11.4 had this mechanism.

More information about this mechanism can be found in the "autoconf" info file.

On openSUSE 12.1 I was seeing 2 build failures trying to build the
arm-cortex_a8-linux-gnueabi recipe:
1) gdb-native would fail because needed libraries were being placed
into "lib64" directories by earlier parts of the build when "lib"
directories were provided in "-L" options to later parts
2) in one of the last steps "make" was doing an "install-strip" step
which was failing mysteriously

This recipe builds just fine on either 32- or 64-bit versions of openSUSE 11.4.

On the buildroot mailing list Guillaume Gardet was also seeing build
failures with the 64-bit version of openSUSE, in fact he was the one
who tracked this problem down to the CONFIG_SITE environment variable.
He proposed a patch to the "/usr/share/site/x86_64-unknown-linux-gnu"
file because he noticed it was looking for a "host" ./configure option
but not including the ARM architecture in its "case" statement.

Also on the buildroot mailing list Peter Korsgaard suggested unsetting
the CONFIG_SITE environment variable prior to building.

On this list Yann proposed a patch to crosstool-NG to explicitly place
the native libraries in a "lib" directory so the subsequent "-L" would
use the correct directory.

On openSUSE 12.1 64-bit using Yann's patch .OR. Guillaume's patch .OR.
unsetting CONFIG_SITE by themselves solved the gdb-native build
failure. However, only unsetting CONFIG_PATH solved the
"install-strip" problem.

openSUSE 11.4 does not include the CONFIG_PATH mechanism in either of
the 32-bit or 64-bit installs, so crosstool-NG builds fine on those
distributions.

On openSUSE 12.1 32-bit nothing needs to be done to get "gdb-native"
to build correctly, however the "install-strip" phase also fails
unless CONFIG_PATH is unset in the environment.

Attachment: i686-pc-linux-gnu
Description: Binary data

Attachment: x86_64-unknown-linux-gnu
Description: Binary data

--
For unsubscribe information see http://sourceware.org/lists.html#faq

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]