[OE-core] [PATCH] gcc-cross: Fix linker and fortran symlinks
Martin Jansa
martin.jansa at gmail.com
Tue Jul 11 14:16:59 UTC 2017
Shouldn't the symlink be created in ${D}${STAGING_DIR_NATIVE} as suggested
in:
http://lists.openembedded.org/pipermail/openembedded-core/2014-April/091480.html
On Tue, Jul 11, 2017 at 3:05 PM, Khem Raj <raj.khem at gmail.com> wrote:
> If we used -fuse-ld gcc option, then it does not work
> ending in
>
> collect2: fatal error: cannot find 'ld'
>
>
> compilation terminated.
>
> This is because we are not creating proper symlinks for BFD
> and Gold linker in gcc installation
>
> Secondly, we end up with dangling fortran compiler symlinks
> if fortran is not enabled when confguring gcc, therefore
> create these symlinks only when fortran support is enabled
> in gcc
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> meta/recipes-devtools/gcc/gcc-cross.inc | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc
> b/meta/recipes-devtools/gcc/gcc-cross.inc
> index b08bc197ba..1e184a60db 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross.inc
> +++ b/meta/recipes-devtools/gcc/gcc-cross.inc
> @@ -161,17 +161,19 @@ do_install () {
>
> install -d ${D}${target_base_libdir}
> install -d ${D}${target_libdir}
> -
> +
> # Link gfortran to g77 to satisfy not-so-smart configure or hard
> coded g77
> # gfortran is fully backwards compatible. This is a safe and
> practical solution.
> - ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran
> ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true
> + if [ -n "${@d.getVar('FORTRAN')}" ]; then
> + ln -sf ${STAGING_DIR_NATIVE}${prefix_
> native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_
> native}/bin/${TARGET_PREFIX}g77 || true
> + fortsymlinks="g77 gfortran"
> + fi
>
> -
> # Insert symlinks into libexec so when tools without a prefix are
> searched for, the correct ones are
> # found. These need to be relative paths so they work in different
> locations.
> dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
> install -d $dest
> - for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp
> gfortran; do
> + for t in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip
> gcc cpp $fortsymlinks; do
> ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
> ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t
> ${dest}${TARGET_PREFIX}$t
> done
> --
> 2.13.2
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170711/d9273b0a/attachment-0002.html>
More information about the Openembedded-core
mailing list