1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 <2015> 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 <2015> 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine |
From: | Mark Rivers <[email protected]> |
To: | "'Cusick, Martin-Lee'" <[email protected]>, "[email protected]" <[email protected]> |
Date: | Wed, 9 Dec 2015 17:23:33 +0000 |
Are you sure you have installed both the 64-bit and 32-bit versions of the system library libstdc++.so? Here are the files on my Fedora system: 7233436 0 lrwxrwxrwx 1 root root 37 Apr 10 2012 /usr/lib/gcc/x86_64-redhat-linux/4.6.3/libstdc++.so -> ../../../../lib64/libstdc++.so.6.0.16 7233434 0 lrwxrwxrwx 1 root root 31 Apr 10 2012 /usr/lib/gcc/x86_64-redhat-linux/4.6.3/32/libstdc++.so -> ../../../../libstdc++.so.6.0.16 Note that there are both 64-bit and 32-bit versions of that library. Do you find both 64-bit and 32-bit versions of libstdc++.so on your system? Mark From: [email protected] [mailto:[email protected]]
On Behalf Of Cusick, Martin-Lee OFFICIAL USE ONLY / À USAGE EXCLUSIF Hello, I will start will giving some of the environment details: Host Machine: Ubuntu 12.04 (3.13.0-71-generic kernel) x86_64 I am building IOC’s for 64 and 32-bit machines; I am also cross compiling for ARM (Raspberry Pi), with crosstools-ng. The build is successful for 64 bit binaries and the 32-bit cross compile, but I keep getting an error for x86: /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++ /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a when searching for -lstdc++ /usr/bin/ld: cannot find -lstdc++ collect2: ld returned 1 exit status make[3]: *** [libCom.so.3.14] Error 1 make[3]: Leaving directory `/usr/local/epics.bak/base-3.14.12.3/src/libCom/O.linux-x86' make[2]: *** [install.linux-x86] Error 2 make[2]: Leaving directory `/usr/local/epics.bak/base-3.14.12.3/src/libCom' make[1]: *** [libCom.install] Error 2 make[1]: Leaving directory `/usr/local/epics.bak/base-3.14.12.3/src' make: *** [src.install] Error 2 I have the gcc-multilib package, and lib32, and I followed this
advice: base/configure/os/CONFIG_SITE.linux-x86.Common: # T.S, 2006/09/05 # add -m32 so we create 32-bit code when # executing on 64-bit machine with EPICS_HOST_ARCH=linux-x86 ARCH_DEP_CFLAGS+=-m32 ARCH_DEP_CXXFLAGS+=-m32 ARCH_DEP_LDFLAGS+=-m32 Thanks you in advance for your help, Lee |