Janet,
Thanks for the suggestions. I am actually using EPICS R3.14.8.2.
Using your suggestions I was able to build for 64-bits. However,when trying to build for 32-bits I get the following:
/usr/bin/g++ -o libCom.so.3.14 -shared -fPIC -m32 -Wl,-rpath,/usr/local/epics/base-3.14.8.2/lib/linux-x86 bucketLib.o epicsRingPointer.o epicsRingBytes.o postfix.o calcPerform.o cvtFast.o resourceLib.o epicsOnce.o epicsSingletonMutex.o dbmf.o ellLib.o envSubr.o envData.o errlog.o errSymLib.o errSymTbl.o fdmgr.o fdManager.o freeListLib.o gpHashLib.o iocLog.o logClient.o macCore.o macEnv.o macUtil.o aToIPAddr.o adjustment.o cantProceed.o epicsConvert.o epicsExit.o epicsStdlib.o epicsString.o truncateFile.o ipAddrToAsciiAsynchronous.o epicsThread.o epicsMutex.o epicsEvent.o epicsTime.o epicsMessageQueue.o osdSock.o osdSockAddrReuse.o osiSock.o systemCallIntMech.o epicsSocketConvertErrnoToString.o osdAssert.o osdFindSymbol.o osdInterrupt.o osdPoolStatus.o osdSignal.o osdEnv.o epicsReadline.o epicsTempFile.o epicsStdio.o osdStdio.o osdThread.o osdMutex.o osdEvent.o osdTime.o osdProcess.o osdNetIntf.o osdMessageQueue.o taskwd.o epicsTimer.o timer.o timerQueue.o ti!
merQueueActive.o timerQueueActiveMgr.o timerQueuePassive.o tsDefs.o -lpthread -lreadline -lcurses -lm -lrt -lgcc
/usr/bin/ld: skipping incompatible /usr/lib64/libreadline.so when searching for -lreadline
/usr/bin/ld: skipping incompatible /usr/lib64/libreadline.a when searching for -lreadline
Why is it looking for libreadline in the lib64 directory, and how do I fix this?
Thanks,
Mark
________________________________
From: Janet Anderson [mailto:[email protected]]
Sent: Fri 7/18/2008 9:14 AM
To: Mark Rivers
Cc: EPICS tech-talk
Subject: Re: Building 32-bit EPICS binaries on 64-bit Linux systems
Mark,
For R3.14.9 add the following 2 lines to CONFIG.Common.linux-x86
ARCH_DEP_CFLAGS += -m32
ARCH_DEP_LDFLAGS += -m32
Also you could add the following 2 lines to CONFIG.Common.linux-x86_64
ARCH_DEP_CFLAGS += -m64
ARCH_DEP_LDFLAGS += -m64
Janet
Mark Rivers wrote:
Folks,
I want to build EPICS in 32-bit mode on a 64-bit Linux machine. I had assumed that all I needed to do was to define EPICS_HOST_ARCH to be linux-x86, rather than linux-x86_64. But when I do this it creates the expected directories and binaries, e.g. bin/linux-x86/caRepeater, etc. but the binaries appear to be 64-bit. Running "file" on them reports them at ELF 64-bit files. My IOC is crashing, and I suspect it is because it is built as a 64-bit application. How do I force it to be built as a 32-bit application? This is EPICS R3.14.9.
Thanks,
Mark
- References:
- Building 32-bit EPICS binaries on 64-bit Linux systems Mark Rivers
- Re: Building 32-bit EPICS binaries on 64-bit Linux systems Janet Anderson
- Navigate by Date:
- Prev:
Re: procServ soft IOC server - V2.3.0 released Steve Lewis
- Next:
Re: procServ soft IOC server - V2.3.0 released Ralph Lange
- 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: Building 32-bit EPICS binaries on 64-bit Linux systems Janet Anderson
- Next:
array calc / inverse subarray survey? Rowland, J (James)
- 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
|