UNRESTRICTED / ILLIMITÉE
Hi Mark,
Thanks for the prompt reply.
I did have the correct links, but I found this out with some tinkering it was actually a missing g++ library that solved my problem.
I had to install g++-multilib, that solved the libstdc++ link issue.
My three builds built, but I know have a separate issue. Please review it to determine if I should post it to another subject.
base/bin:
/usr/local/epics.bak/base-3.14.12.3/bin$ ls
linux-arm-rpi linux-x86 linux-x86_64
ls arm:
/usr/local/epics.bak/base-3.14.12.3/bin$ ls linux-arm-rpi/
acctst casw iocLogServer
aitGen ca_test makeBaseApp.pl
antelope catime makeBaseExt.pl
ascheck convertRelease.pl makeBpt
caConnTest cvsclean.pl makeIncludeDbd.pl
caDirServ dbExpand makeMakefile.pl
caEventRate dbReadTest makeTestfile.pl
caget dbToMenuH mkmf.pl
caget.pl dbToRecordtypeH munch.pl
cainfo dos2unix.pl registerRecordDeviceDriver.pl
cainfo.pl e_flex replaceVAR.pl
camonitor excas S99caRepeater
camonitor.pl expandVars.pl S99logServer
capr.pl filterWarnings.pl softIoc
caput fullPathName.pl useManifestTool.pl
caput.pl genApps
caRepeater installEpics.pl
Which looks complete.
Ls x86_64:
/usr/local/epics.bak/base-3.14.12.3/bin$ ls linux-x86_64
acctst casw iocLogServer
aitGen ca_test makeBaseApp.pl
antelope catime makeBaseExt.pl
ascheck convertRelease.pl makeBpt
caConnTest cvsclean.pl makeIncludeDbd.pl
caDirServ dbExpand makeMakefile.pl
caEventRate dbReadTest makeTestfile.pl
caget dbToMenuH mkmf.pl
caget.pl dbToRecordtypeH munch.pl
cainfo dos2unix.pl registerRecordDeviceDriver.pl
cainfo.pl e_flex replaceVAR.pl
camonitor excas S99caRepeater
camonitor.pl expandVars.pl S99logServer
capr.pl filterWarnings.pl softIoc
caput fullPathName.pl useManifestTool.pl
caput.pl genApps
caRepeater installEpics.pl
Good.
Ls x86:
/usr/local/epics.bak/base-3.14.12.3/bin$ ls linux-x86
convertRelease.pl filterWarnings.pl makeBaseExt.pl mkmf.pl
cvsclean.pl fullPathName.pl makeIncludeDbd.pl munch.pl
dos2unix.pl installEpics.pl makeMakefile.pl replaceVAR.pl
expandVars.pl makeBaseApp.pl makeTestfile.pl useManifestTool.pl
Missing a lot of tools here.
Please tell me your thoughts.
Thanks so much,
Lee
From: Mark Rivers [mailto:[email protected]]
Sent: December-09-15 12:24 PM
To: Cusick, Martin-Lee; [email protected]
Subject: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine
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
Sent: Wednesday, December 09, 2015 9:00 AM
To: [email protected]
Subject: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine
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