1

A cross compiler which ran without issues on Linux 2.6.26-2-686 i686 now doesn't work on Linux 4.19.0-13-amd64 x86_64

The installation directory lists the files and also 'hidden' files starting with dot.

schoutem@DHU007:~/x-tools/arm-hc2-linux-gnueabi/bin$ ll
total 37352
-r-xr-xr-x  1 schoutem schoutem   666783 2010-09-21 17:43 .arm-hc2-linux-gnueabi-addr2line
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-addr2line
-r-xr-xr-x  1 schoutem schoutem     1022 2010-09-21 19:31 .arm-hc2-linux-gnueabi-addr2name.awk
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-addr2name.awk
-r-xr-xr-x  2 schoutem schoutem   696445 2010-09-21 17:43 .arm-hc2-linux-gnueabi-ar
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-ar
-r-xr-xr-x  2 schoutem schoutem  1159523 2010-09-21 17:43 .arm-hc2-linux-gnueabi-as
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-as
-r-xr-xr-x  2 schoutem schoutem   259750 2010-09-21 19:30 .arm-hc2-linux-gnueabi-c++
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-c++
lrwxrwxrwx  1 schoutem schoutem       25 2011-06-07 16:04 arm-hc2-linux-gnueabi-cc -> arm-hc2-linux-gnueabi-gcc
-r-xr-xr-x  1 schoutem schoutem   665484 2010-09-21 17:43 .arm-hc2-linux-gnueabi-c++filt
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-c++filt
-r-xr-xr-x  1 schoutem schoutem   258018 2010-09-21 19:30 .arm-hc2-linux-gnueabi-cpp
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-cpp
-r-xr-xr-x  1 schoutem schoutem     2771 2010-09-21 17:39 .arm-hc2-linux-gnueabi-ct-ng.config
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-ct-ng.config
-r-xr-xr-x  2 schoutem schoutem   259750 2010-09-21 19:30 .arm-hc2-linux-gnueabi-g++
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-g++
-r-xr-xr-x  2 schoutem schoutem   256131 2010-09-21 19:30 .arm-hc2-linux-gnueabi-gcc
-r-xr-xr-x 31 schoutem schoutem      395 2010-09-21 19:55 arm-hc2-linux-gnueabi-gcc

In the new installation; the files starting with dot are hidden; and are not found by the system when invoking the compiler.

root@shu006:/opt/arm-hc2-linux-gnueabi/bin# ll
total 124
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-addr2line
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-addr2name.awk
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-ar
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-as
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-c++
lrwxrwxrwx  1 schoutem schoutem  25 Jun  7  2011 arm-hc2-linux-gnueabi-cc -> arm-hc2-linux-gnueabi-gcc
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-c++filt
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-cpp
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-ct-ng.config
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-g++
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gcc
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gcc-4.3.2
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gccbug
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gcj
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gcov
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gdb
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gdbtui
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gfortran
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-gprof
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-jcf-dump
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-ld
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-nm
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-objcopy
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-objdump
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-populate
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-ranlib
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-readelf
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-run
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-size
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-sstrip
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-strings
-r-xr-xr-x 31 schoutem schoutem 395 Sep 21  2010 arm-hc2-linux-gnueabi-strip
root@shu006:/opt/arm-hc2-linux-gnueabi/bin#
root@shu006:/opt/arm-hc2-linux-gnueabi/bin#
root@shu006:/opt/arm-hc2-linux-gnueabi/bin#
root@shu006:/opt/arm-hc2-linux-gnueabi/bin# arm-hc2-linux-gnueabi-gcc --version
/opt/arm-hc2-linux-gnueabi/bin/arm-hc2-linux-gnueabi-gcc: 15: exec: /opt/arm-hc2-linux-gnueabi/bin/.arm-hc2-linux-gnueabi-gcc: not found
root@shu006:/opt/arm-hc2-linux-gnueabi/bin#
root@shu006:/opt/arm-hc2-linux-gnueabi/bin#
root@shu006:/opt/arm-hc2-linux-gnueabi/bin# ll -A
total 37228
-r-xr-xr-x  1 schoutem schoutem   666783 Sep 21  2010 .arm-hc2-linux-gnueabi-addr2line
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-addr2line
-r-xr-xr-x  1 schoutem schoutem     1022 Sep 21  2010 .arm-hc2-linux-gnueabi-addr2name.awk
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-addr2name.awk
-r-xr-xr-x  2 schoutem schoutem   696445 Sep 21  2010 .arm-hc2-linux-gnueabi-ar
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-ar
-r-xr-xr-x  2 schoutem schoutem  1159523 Sep 21  2010 .arm-hc2-linux-gnueabi-as
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-as
-r-xr-xr-x  2 schoutem schoutem   259750 Sep 21  2010 .arm-hc2-linux-gnueabi-c++
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-c++
lrwxrwxrwx  1 schoutem schoutem       25 Jun  7  2011 arm-hc2-linux-gnueabi-cc -> arm-hc2-linux-gnueabi-gcc
-r-xr-xr-x  1 schoutem schoutem   665484 Sep 21  2010 .arm-hc2-linux-gnueabi-c++filt
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-c++filt
-r-xr-xr-x  1 schoutem schoutem   258018 Sep 21  2010 .arm-hc2-linux-gnueabi-cpp
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-cpp
-r-xr-xr-x  1 schoutem schoutem     2771 Sep 21  2010 .arm-hc2-linux-gnueabi-ct-ng.config
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-ct-ng.config
-r-xr-xr-x  2 schoutem schoutem   259750 Sep 21  2010 .arm-hc2-linux-gnueabi-g++
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-g++
-r-xr-xr-x  2 schoutem schoutem   256131 Sep 21  2010 .arm-hc2-linux-gnueabi-gcc
-r-xr-xr-x 31 schoutem schoutem      395 Sep 21  2010 arm-hc2-linux-gnueabi-gcc

The compiler itself is a script calling the hidden file :

root@shu006:/opt/arm-hc2-linux-gnueabi/bin# cat arm-hc2-linux-gnueabi-gcc
#!/bin/sh

canonicalizedname=$(readlink -nm "${0}")
dirname="$(dirname "${canonicalizedname}")"
basename="$(basename "${canonicalizedname}")"

ld_lib_path="$(dirname "${dirname}")/lib"

case ":${LD_LIBRARY_PATH}:" in
    *":${ld_lib_path}:"*)   ;;
    *)  LD_LIBRARY_PATH="${ld_lib_path}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}";;
esac

export LD_LIBRARY_PATH
exec "${dirname}/.${basename}" "$@"
root@shu006:/opt/arm-hc2-linux-gnueabi/bin#

How can I get my cross compiler working again on the new installation?

thanks,

Toto
  • 89,455
  • 62
  • 89
  • 125
pecce
  • 11
  • 2
  • 1
    Very strange. The file is there. Whether or not it is hidden does not matter (by definition, the dot files were hidden before too. The old installation probably just used a different `ll` alias that already included the `-a` or `-A` flag). What happens if you run `/opt/arm-hc2-linux-gnueabi/bin/.arm-hc2-linux-gnueabi-gcc` directly from your shell? – Socowi Jul 26 '21 at 14:28
  • Anyways, you might want to ask this on https://unix.stackexchange.com/. Also, [this question](https://superuser.com/q/312079/652023) seems somewhat similar. Especially, [this answer](https://superuser.com/a/313958/652023) makes sense, since you switched from i686 (32 bit) to x86_64 (64 bit). – Socowi Jul 26 '21 at 14:36

0 Answers0