EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: [External] 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: Thu, 10 Dec 2015 14:31:23 +0000
It looks to me like the build completely succeeded.  You have some funny looking stuff at the end of the output file, but that looks like some "ls" commands, but it completed building the cap5 directory, which is the last thing to be built.

Mark

________________________________________
From: Cusick, Martin-Lee [[email protected]]
Sent: Thursday, December 10, 2015 8:12 AM
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,

I did as you suggested and it did build as more complete bin directory:

:/usr/local/epics/base-3.14.12.3$ ls bin/linux-x86/
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


I've attached my terminal session: epicsbuild.term

-----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





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
RE: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Cusick, Martin-Lee

Navigate by Date:
Prev: RE: [External] RE: EPICS BASE-3.14.12.3 32-bit Binaries on 64-bit host Machine Cusick, Martin-Lee
Next: Alarm handling Henrique Almeida
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  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 Cusick, Martin-Lee
Next: 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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·