UNRESTRICTED / ILLIMITÉE
Hi Mark,
First off I would like to thank you all (Mark, Andrew, and Michael) for your input. I want to be clear that I'm green as green could be to this and computer science in general. Our EPICS build on site was cleanly done by a script which doesn't really help my knowledge of how this is actually done. So it could be said that I am missing some very important steps in the first major step in building an IOC, build EPICS base. You could probably tell that from my use of an old tech-talk; which I have now removed those lines from the Common file.
I'm assuming that I am on the right track with what seems to be the proper binaries for linux-arm and x86_64. That is obviously an assumption as I haven't got to building an actual IOC.
To continue on our troubleshooting:
So I just need some clarity on where you want the EPICS_HOST_ARCH variable set.
I have that variable in .bashrc as linux-x86_64, also EpicsHostArch under the startup directory will give me the same answer, and finally if there is a setenv command I definitely do not have it in my path. CONFIG_SITE clearly states not to set it there. Once this is clarified I will run the build and script the result and send it to you, or how ever you would like.
Thanks again,
Lee
Ps. I'm hoping to get better at this and help contribute back.
-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: December-09-15 1:36 PM
To: Cusick, Martin-Lee; [email protected]
Subject: RE: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine
Hi Lee,
Can you send the complete output when you do the following at the top level of base-3.14.12.3.
setenv EPICS_HOST_ARCH linux-x86
make clean
make
Note in your original message you said:
> 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
The tech-talk link you pointed to was for a very old release of base, 3.14.8 which is when 64-bit support was just beginning. You should NOT make those edits in 3.14.12.3, it is all taken care of in the standard distribution. I build linux-x86 on a 64-bit Linux system all the time without any edits to CONFIG_SITE.linux-x86.Common.
Mark
From: Cusick, Martin-Lee [mailto:[email protected]]
Sent: Wednesday, December 09, 2015 12:19 PM
To: Mark Rivers; [email protected]
Subject: RE: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine
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
- Replies:
- Re: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Michael Davidsaver
- References:
- EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Cusick, Martin-Lee
- RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Mark Rivers
- RE: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Cusick, Martin-Lee
- RE: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Mark Rivers
- Navigate by Date:
- Prev:
Re: Proposed change to asyn drvAsynIPPort for UDP sockets Torsten bögershaus
- Next:
Re: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Michael Davidsaver
- 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
- Navigate by Thread:
- Prev:
RE: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Mark Rivers
- Next:
Re: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Michael Davidsaver
- 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
|