EPICS Home

Experimental Physics and Industrial Control System


 
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  <2025 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  <2025
<== Date ==> <== Thread ==>

Subject: Moving source files to their own directory
From: Iain Marcuson via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 14 Jan 2025 19:41:29 +0000

I have been working on EPICS IOC for a QuadEM.  I have been advised that with all the source files I should move them to their own directory for ease of building that driver selectively.  I made a new directory and transferred what I think are the relevant entries from the Makefile into the new directory.  When I run `make`, my  files appear to be compiled, but I fail on the linking step.

 

The first warning from the linker is

 

/usr/bin/ld: quadEMTestApp_registerRecordDeviceDriver.o: warning: relocation against `pvar_func_drvTetrAMMRegister' in read-only section `.text'

 

The other messages appear to be about missing references to the other quadEM libraries:

/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:576:(.text+0x2d2): undefined reference to `pvar_func_drvNSLS2_EMRegister'

/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:577:(.text+0x2de): undefined reference to `pvar_func_drvNSLS_EMRegister'

/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:578:(.text+0x2ea): undefined reference to `pvar_func_drvPCR4Register'

/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:579:(.text+0x2f6): undefined reference to `pvar_func_drvTetrAMMRegister'

 

I also have a find warning

/usr/bin/ld: warning: creating DT_TEXTREL in a PIE

 

At the end.

 

What entries do I need in the Makefile to get my code linked in with the overall quadEM IOC?

 

Thank you.



This message has been scanned for malware by Forcepoint. www.forcepoint.com


Replies:
RE: Moving source files to their own directory Mark Rivers via Tech-talk
RE: Moving source files to their own directory Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: EPICS CA Gateway Aliases Ralph Lange via Tech-talk
Next: RE: Moving source files to their own directory Mark Rivers via Tech-talk
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  <2025
Navigate by Thread:
Prev: Re: EPICS CA Gateway Aliases Ralph Lange via Tech-talk
Next: RE: Moving source files to their own directory Mark Rivers via Tech-talk
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  <2025