All,
Doing a static build of Galil 3-6 device support I ran into the problem described below. Solved by changing order of libraries.
John Dobbins
For static build of Galil 3-6
In galil/3-6/GalilTestApp/src
I changed Makefile from
GalilTest_LIBS += asyn motor calc sscan autosave busy
GalilTest_LIBS += GalilSupport
GalilTest_LIBS += $(EPICS_BASE_IOC_LIBS)
to
GalilTest_LIBS += GalilSupport
GalilTest_LIBS += asyn motor calc sscan autosave busy
GalilTest_LIBS += $(EPICS_BASE_IOC_LIBS)
because of link error:
/usr/bin/g++ -o GalilTest -Wl,-Bstatic -L/nfs/chess/user/jad22/epics/support/galil/3-6/lib/linux-x86_64 -L/nfs/chess/epics/release/base/base-7.0.2/lib/linux-x86_64
-L/nfs/chess/epics/release/synApps_6_1/support/asyn-R4-38/lib/linux-x86_64 -L/nfs/chess/epics/release/synApps_6_1/support/autosave-R5-10/lib/linux-x86_64 -L/nfs/chess/epics/release/synApps_6_1/support/busy-R1-7-2/lib/linux-x86_64 -L/nfs/chess/epics/release/synApps_6_1/support/calc-R3-7-3/lib/linux-x86_64
-L/nfs/chess/epics/release/synApps_6_1/support/motor-R7-1/lib/linux-x86_64 -L/nfs/chess/epics/release/synApps_6_1/support/sscan-R2-11-3/lib/linux-x86_64 -rdynamic -m64 GalilTest_registerRecordDeviceDriver.o GalilTestMain.o -lasyn -lmotor -lcalc
-lsscan -lautosave -lbusy -lGalilSupport -ldbRecStd -ldbCore -lca -lCom -Wl,-Bdynamic -lpthread -lreadline -lm -lrt -ldl -lgcc
/nfs/chess/user/jad22/epics/support/galil/3-6/lib/linux-x86_64/libGalilSupport.a(GalilController.o): In function `GalilCreateAxis':
/nfs/chess/user/jad22/epics/support/galil/3-6/GalilSup/src/O.linux-x86_64/../GalilController.cpp:7242: undefined reference to `findAsynPortDriver(char const*)'
[When you specify multiple inter-dependent static libraries via -l flag dependents must go first, then their dependencies.]