EPICS Controls Argonne National Laboratory

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  <20162017  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  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: StreamDevice fails to compile for RTEMS targets.
From: Michael Westfall <[email protected]>
To: "Mooney, Tim M." <[email protected]>
Cc: "[email protected] Talk" <[email protected]>
Date: Fri, 7 Oct 2016 10:04:38 -0300
OK, putting PROD_LIBS += sscan back into the Makefile does take care of undefined references in swait.c to functions is sscan, but now the errors are different:

/gem_sw/prod/R3.14.12.4/support/calc/3-6-1-2/lib/RTEMS-beatnik/libcalc.a(editSseq.o): In function `seqg_entry_editSseq_0_newCommand':
/gem_sw/prod/R3.14.12.4/support/calc/3-6-1-2/calcApp/src/O.RTEMS-beatnik/../editSseq.st:220: undefined reference to `seq_pvGetTmo'
...etc.


Again, it compiles fine for the Linux target, but fails for RTEMS targets.

What were able to finally figure out is that -- for RTEMS targets, anyway -- The order of PROD_LIBS += xxx
matters. For example, to resolve the errors above, I moved the line PROD_LIBS += seq pv to below the lines that included the CALC and SSCAN libraries.

It must be that there is something different about how the linker in the RTEMS toolchain works that isn't a problem in the linker for Linux.

Anyway, with this revelation that the order of library inclusion matters, we are able to proceed.

Thanks.

On Thu, Oct 6, 2016 at 6:01 PM, Mooney, Tim M. <[email protected]> wrote:

Hi Mike,

Take a look at streamApp/Makefile.  The version on github has these lines:

# older calc versions require sscan
#PROD_LIBS += sscan

It's complicated, because calc will build with or without sscan.  (Older calc versions could not build without sscan.)  If calc is built with sscan, anything that uses calc must link against sscan.

If your copy of stream has "PROD_LIBS += sscan" commented out, uncomment that line.

--
Mike Westfall
Control Systems Software Engineer



Replies:
Re: StreamDevice fails to compile for RTEMS targets. Andrew Johnson
References:
StreamDevice fails to compile for RTEMS targets. Michael Westfall
RE: StreamDevice fails to compile for RTEMS targets. Mark Rivers
RE: StreamDevice fails to compile for RTEMS targets. Mooney, Tim M.
Fwd: StreamDevice fails to compile for RTEMS targets. Michael Westfall
RE: StreamDevice fails to compile for RTEMS targets. Mooney, Tim M.

Navigate by Date:
Prev: RE: StreamDevice fails to compile for RTEMS targets. Mooney, Tim M.
Next: NDDataType change Hinxx
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: StreamDevice fails to compile for RTEMS targets. Mooney, Tim M.
Next: Re: StreamDevice fails to compile for RTEMS targets. Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 07 Oct 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·