EPICS on RTEMS 4.9 (for mvme2100 and mpc8313erdb)

Joel Sherrill joel.sherrill at OARcorp.com
Thu Oct 2 15:27:58 UTC 2008


What is your $PATH?  It looks like the RTEMS tools are
either not in your PATH and/or you have not installed
binutils for powerpc-rtems4.9.  It looks like the
native as is being used by default.

--joel

Tom Cheng wrote:
> Hi,
>
> I am following Eric Norum's "Getting started with EPICS on RTEMS" to 
> make EPICS base on RTEMS 4.9 and got errors on both mvme2100 and 
> mpc8313erdb boards. I am wondering if someone can help on this.
>
> After successfully build and install RTEMS and the add-on packages 
> (for both boards), I have no problem to run some RTEMS applicaitons on 
> mvme2100 and mpc8313erdb boards. The tools are latest (gcc: Then, I 
> following the guide to make EPICS base and got errors:
>
> ----------Changes before "make" EPICS base---------------
> For mpc8313erdb:
> //Modification in CONFIG_SITE.Common.RTEMS
> RTEMS_BASE=/opt/rtems-4.9
> RTEMS_VERSION=4.9
> COMMANDLINE_LIBRARY = READLINE
>
> //Modification in CONFIG_SITE.linux_x86.Common
> CROSS_COMPILER_TARGET_ARCHS=
> RTEMS-mpc8313erdb
>
> root at localhost base-3.14.9]# echo $PATH
> /opt/rtems-4.9/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
> [root at localhost base-3.14.9]# echo $EPICS_HOST_ARCH
> linux-x86
> [root at localhost base-3.14.9]# echo $RTEMS_MAKEFILE_PATH
> /opt/rtems-4.9/powerpc-rtems4.9/mpc8313erdb
> [root at localhost base-3.14.9]# echo $EPICS_BASE
> /usr/local/EPICS/base-3.14.9
>
>
> --------------errors from "make"-----------------------------
> Installing library ../../../lib/linux-x86/libCom.a
> mkdir ../../../lib
> mkdir ../../../lib/linux-x86
> /usr/bin/ranlib ../../../lib/linux-x86/libCom.a
> /usr/bin/g++ -o libCom.so.3.14 -shared -fPIC                    
> 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 
> epicsUnitTest.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 devLib.o devLibOSD.o taskwd.o epicsTimer.o timer.o 
> timerQueue.o timerQueueActive.o timerQueueActiveMgr.o 
> timerQueuePassive.o tsDefs.o     -lpthread   -lreadline -lcurses -lm 
> -lrt -lgcc
> Installing shared library ../../../lib/linux-x86/libCom.so.3.14
> ln -s libCom.so.3.14 ../../../lib/linux-x86/libCom.so
> Installing html ../../../html//freeList/freeList.html
> mkdir ../../../html
> mkdir ../../../html/freeList
> Installing html ../../../html//gpHash/gpHash.html
> mkdir ../../../html/gpHash
> make[3]: Leaving directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.linux-x86'
> make -C O.RTEMS-mpc8313erdb -f ../Makefile TOP=../../.. 
> T_A=RTEMS-mpc8313erdb install
> make[3]: Entering directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mpc8313erdb'
> make[3]: Leaving directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mpc8313erdb'
> make[3]: Entering directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mpc8313erdb'
> make[3]: *** No rule to make target `../O.Common/osiFileName.h', 
> needed by `inc'.  Stop.
> make[3]: Leaving directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mpc8313erdb'
> make[2]: *** [install.RTEMS-mpc8313erdb] Error 2
> make[2]: Leaving directory `/usr/local/EPICS/base-3.14.9/src/libCom'
> make[1]: *** [libCom.install] Error 2
> make[1]: Leaving directory `/usr/local/EPICS/base-3.14.9/src'
> make: *** [src.install] Error 2
>
>
> ---------For mvme2100, the "make" goes a little longer, but still have 
> errors---------------
>
> Installing library ../../../lib/linux-x86/libCom.a
> mkdir ../../../lib
> mkdir ../../../lib/linux-x86
> /usr/bin/ranlib ../../../lib/linux-x86/libCom.a
> /usr/bin/g++ -o libCom.so -shared -fPIC                    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 epicsUnitTest.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 
> devLib.o devLibOSD.o taskwd.o epicsTimer.o timer.o timerQueue.o 
> timerQueueActive.o timerQueueActiveMgr.o timerQueuePassive.o 
> tsDefs.o     -lpthread   -lreadline -lcurses -lm -lrt -lgcc
> Installing shared library ../../../lib/linux-x86/libCom.so
> Installing html ../../../html//freeList/freeList.html
> mkdir ../../../html
> mkdir ../../../html/freeList
> Installing html ../../../html//gpHash/gpHash.html
> mkdir ../../../html/gpHash
> make[3]: Leaving directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.linux-x86'
> make -C O.RTEMS-mvme2100 -f ../Makefile TOP=../../.. 
> T_A=RTEMS-mvme2100 install
> make[3]: Entering directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mvme2100'
> make[3]: Leaving directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mvme2100'
> make[3]: Entering directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mvme2100'
> Installing generic include file ../../../include/os/RTEMS/osiFileName.h
> mkdir ../../../include/os/RTEMS
> Installing generic include file ../../../include/os/RTEMS/osdSock.h
> Installing generic include file ../../../include/os/RTEMS/osdInterrupt.h
> Installing generic include file ../../../include/os/RTEMS/osdMutex.h
> Installing generic include file ../../../include/os/RTEMS/osdEvent.h
> Installing generic include file ../../../include/os/RTEMS/epicsMath.h
> Installing generic include file 
> ../../../include/os/RTEMS/osdMessageQueue.h
> Installing generic include file ../../../include/os/RTEMS/osdStrtod.h
> Installing os dependent include file 
> ../../../include/os/RTEMS/osdPoolStatus.h
> Installing generic include file ../../../include/os/RTEMS/osdThread.h
> Installing generic include file ../../../include/os/RTEMS/osdTime.h
> Installing generic include file ../../../include/os/RTEMS/osiUnistd.h
> Installing os dependent include file 
> ../../../include/os/RTEMS/osdWireFormat.h
> Installing os dependent include file 
> ../../../include/os/RTEMS/epicsReadline.h
> Installing os dependent include file 
> ../../../include/os/RTEMS/epicsGetopt.h
> Installing generic include file ../../../include/os/RTEMS/osdVME.h
> /opt/rtems-4.9/bin/powerpc-rtems4.9-gcc --pipe 
> -B/opt/rtems-4.9/powerpc-rtems4.9/mvme2100/lib/ -specs bsp_specs 
> -qrtems   -fasm -c   -mcpu=603e -Dmpc603e -Dppc603e               
> -DUNIX    -ansi  -O2 -g -mmultiple -mstring -mstrict-align -g  
> -Wall      -DMY_DO_BOOTP=NULL -DHAVE_PPCBUG     
> -DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov 
> <http://aps.anl.gov/> 
> -DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov 
> <http://aps.anl.gov/>  -I. -I.. -I../../../src/libCom/bucketLib 
> -I../../../src/libCom/ring -I../../../src/libCom/calc 
> -I../../../src/libCom/cvtFast -I../../../src/libCom/cppStd 
> -I../../../src/libCom/cxxTemplates -I../../../src/libCom/dbmf 
> -I../../../src/libCom/ellLib -I../../../src/libCom/env 
> -I../../../src/libCom/error -I../../../src/libCom/fdmgr 
> -I../../../src/libCom/freeList -I../../../src/libCom/gpHash 
> -I../../../src/libCom/logClient -I../../../src/libCom/macLib 
> -I../../../src/libCom/misc -I../../../src/libCom/osi 
> -I../../../src/libCom/taskwd -I../../../src/libCom/timer 
> -I../../../src/libCom/tsDefs -I../../../include/os/RTEMS 
> -I../../../include         ../../../src/libCom/bucketLib/bucketLib.c
> powerpc-rtems4.9-gcc: error trying to exec 'cc1': execvp: No such file 
> or directory
> as: unrecognized option `-mppc'
> make[3]: *** [bucketLib.o] Error 1
> make[3]: Leaving directory 
> `/usr/local/EPICS/base-3.14.9/src/libCom/O.RTEMS-mvme2100'
> make[2]: *** [install.RTEMS-mvme2100] Error 2
> make[2]: Leaving directory `/usr/local/EPICS/base-3.14.9/src/libCom'
> make[1]: *** [libCom.install] Error 2
> make[1]: Leaving directory `/usr/local/EPICS/base-3.14.9/src'
> make: *** [src.install] Error 2
>
> I am using the latest tools (rpm on RHEL5) and RTEMS4.9, and 
> EPICS3.14.9. I tried different ways and still can't pass this.
>
> Thank you,
>
> Tom


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985





More information about the users mailing list