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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Galil device support - static build |
From: | John Dobbins via Tech-talk <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 13 Apr 2020 14:31:31 +0000 |
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.] |