The APEX project here is using R3.14.12.1 with EPICS_HOST_ARCH=linux-x86_64. Everything up until now has been built with gcc-4.4.6. I’m now trying to get the Galil motor support running. This requires a more modern GCC to support the std=c++11 option. I’ve installed gcc-4.9.3, but when I try to rebuild base I get:
remote/hpcs-sw/RHEL-6.x86_64/gcc/4.9.3/bin/g++ -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500 -D_X86_64_ -DUNIX -D_BSD_SOURCE -Dlinux -D_REENTRANT -O3 -Wall -m64 -g -fPIC -MMD -I. -I../O.Common -I. -I../../../src/libCom/osi/os/Linux -I../../../src/libCom/osi/os/posix -I../../../src/libCom/osi/os/default -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/iocsh -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/Linux -I../../../include ../../../src/libCom/cxxTemplates/epicsOnce.cpp
In file included from ../../../src/libCom/cxxTemplates/epicsOnce.cpp:29:0:
../../../src/libCom/cxxTemplates/epicsSingleton.h:37:5: error: 'size_t' does not name a type
size_t _refCount;
^
../../../src/libCom/cxxTemplates/epicsSingleton.h: In constructor 'SingletonUntyped::SingletonUntyped()':
../../../src/libCom/cxxTemplates/epicsSingleton.h:162:23: error: class 'SingletonUntyped' does not have any field named '_refCount'
_pInstance ( 0 ), _refCount ( 0 )
^
make[3]: *** [epicsOnce.o] Error 1
make[3]: Leaving directory `/remote/apex/software/epics/galil/base-3.14.12.1/src/libCom/O.linux-x86_64'
I’ve tried rebuilding just the Galil support module with gcc-4.9.3 and linking against the gcc-4.4.6-compiled version of base, but this core dumps when attempting to start an IOC. Differences in the C++ runtime, I expect.