diff options
author | Holger Freyther <zecke@selfish.org> | 2008-01-15 22:58:54 +0000 |
---|---|---|
committer | Holger Freyther <zecke@selfish.org> | 2008-01-15 22:58:54 +0000 |
commit | 0b07e526611dc0e1867caa3eb6e4372855488026 (patch) | |
tree | f44ea0a03c807ac60c4765a91732be8ddab75d87 | |
parent | 5630386777914cd4a48811f077951c09e4fe18c4 (diff) |
packages/gcc/gcc-cross_4.2.2: Attempt to fix the fortran issue
f951 was not executable because libmpfr and libgmp which were build by
OpenEmbedded were not found. They resist in the staging lib directory and
we do not have the LD_LIBRARY_PATH set.
--enable-rpath for gcc was not an option, as we would have difficulties to
say which path would be checked (we install to cross and not staging).
Attempt to set an rpath when linking to mpfr/gmp. We pass --with-mpfr to the
gcc-cross, patch the configure to add an -Wl,-rpath, to gmplibs, this gets
set to GMPLIBS, which gets replaced to HOST_GMPLIBS in the Makefile inside the
builddir, which will be used when linking the f951 utility.
-rw-r--r-- | packages/gcc/gcc-4.2.2/fortran-libs-rpath-to-staging-hack.patch | 48 | ||||
-rw-r--r-- | packages/gcc/gcc-cross_4.2.2.bb | 1 |
2 files changed, 49 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.2.2/fortran-libs-rpath-to-staging-hack.patch b/packages/gcc/gcc-4.2.2/fortran-libs-rpath-to-staging-hack.patch new file mode 100644 index 0000000000..bf319f8b0a --- /dev/null +++ b/packages/gcc/gcc-4.2.2/fortran-libs-rpath-to-staging-hack.patch @@ -0,0 +1,48 @@ +f951 (fortran) links to MPFR and GMP of our staging area but when executing +the command the libs can not be found. Use rpath like all the other apps in +our staging bin/ directory. + +Patch the configure to avoid the regeneration... + +Index: gcc-4.2.2/configure +=================================================================== +--- gcc-4.2.2.orig/configure 2008-01-15 23:23:41.000000000 +0100 ++++ gcc-4.2.2/configure 2008-01-15 23:25:20.000000000 +0100 +@@ -2278,14 +2278,14 @@ + + + if test "x$with_mpfr" != x; then +- gmplibs="-L$with_mpfr/lib $gmplibs" ++ gmplibs="-Wl,-rpath,$with_mpfr/lib -L$with_mpfr/lib $gmplibs" + gmpinc="-I$with_mpfr/include" + fi + if test "x$with_mpfr_include" != x; then + gmpinc="-I$with_mpfr_include" + fi + if test "x$with_mpfr_lib" != x; then +- gmplibs="-L$with_mpfr_lib $gmplibs" ++ gmplibs="-Wl,-rpath,$with_mpfr_lib -L$with_mpfr_lib $gmplibs" + fi + + # Specify a location for gmp +Index: gcc-4.2.2/configure.in +=================================================================== +--- gcc-4.2.2.orig/configure.in 2008-01-15 23:23:41.000000000 +0100 ++++ gcc-4.2.2/configure.in 2008-01-15 23:24:36.000000000 +0100 +@@ -1066,14 +1066,14 @@ + AC_ARG_WITH(mpfr_lib, [ --with-mpfr-lib=PATH Specify the directory for the installed MPFR library]) + + if test "x$with_mpfr" != x; then +- gmplibs="-L$with_mpfr/lib $gmplibs" ++ gmplibs="-Wl,-rpath,$with_mpfr/lib -L$with_mpfr/lib $gmplibs" + gmpinc="-I$with_mpfr/include" + fi + if test "x$with_mpfr_include" != x; then + gmpinc="-I$with_mpfr_include" + fi + if test "x$with_mpfr_lib" != x; then +- gmplibs="-L$with_mpfr_lib $gmplibs" ++ gmplibs="-Wl,-rpath,$with_mpfr_lib -L$with_mpfr_lib $gmplibs" + fi + + # Specify a location for gmp diff --git a/packages/gcc/gcc-cross_4.2.2.bb b/packages/gcc/gcc-cross_4.2.2.bb index ec169072af..3984147eae 100644 --- a/packages/gcc/gcc-cross_4.2.2.bb +++ b/packages/gcc/gcc-cross_4.2.2.bb @@ -15,6 +15,7 @@ require gcc3-build-cross.inc # cross packaging require gcc-package-cross.inc SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 " +SRC_URI_append = " file://fortran-libs-rpath-to-staging-hack.patch;patch=1 " # Do not build libssp libmudflap and libgomp # We might need them for some beefy targets EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \ |