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  2016  2017  2018  <20192020  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  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Fwd: Re: Fwd: cross-compiling (kind of) with Buildroot
From: "Hill, Bruce via Tech-talk" <[email protected]>
To: Pierrick M Hanlet <[email protected]>, "[email protected]" <[email protected]>
Date: Wed, 11 Sep 2019 04:29:39 +0000
Hi Pierre,
The only mistake I see is the filename should be CONFIG_SITE.Common.linux-686
instead of SITE_CONFIG.Common.linux-686.

However, on closer look I see that works here at SLAC as we've added these lines
at the end of streamdevice $(TOP)/configure/CONFIG:
# CONFIG_SITE files contain other build configuration settings
include $(TOP)/configure/CONFIG_SITE
-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
ifdef T_A
 -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A)
 -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
endif
While the above pattern is typical for EPICS and used in many modules, I see
the streamdevice master branch from github doesn't follow that convention.
Instead, the configure/RELEASE file includes $(TOP)/configure/RELEASE.local
along w/ support for getting your configuration from SUPPORT files at $(TOP)/..
which is also an option, but setting up SUPPORT is a bit more complicated.

So, please try creating a configure/RELEASE.local file if not found, and make
sure it contains:
PCRE_LIB=/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/staging/usr/lib
PCRE_INCLUDE=/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/staging/usr/include

LIB_INSTALL += $(wildcard $(PCRE_LIB)/lib*)

If this doesn't work, please run "make -d" and send us the entire output as an attachment.
Also include a diff output w/ all changes you've made to configure/C* and configure/R*.

Cheers,
- Bruce

On 9/9/19 12:59 PM, Pierrick M Hanlet wrote:
Hi Bruce,
Thanks for the feedback.  I did attempt putting these modifications
by adding SITE_CONFIG.Common.linux-686 and pointing to it from
CONFIG in the StreamDevice/configure files and also by modifying
the file in base/configuration/os.  Unfortunately neither of these worked
for me.  As you can see, the correct library doesn't show up in the
linking phase:

/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/host/usr/bin/i686-buildroot-linux-uclibc-g++ -o streamApp  -L/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/StreamDevice-2-8/lib/linux-686 -L/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/asyn4-35/lib/linux-686 -L/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/calc-R3-7-1/lib/linux-686 -L/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/sscan-2-11-2/lib/linux-686 -L/scratch/home/hanlet/platforms/conc405x/epicsDEV/base-3.14.12.8/lib/linux-686 -Wl,-rpath,/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/StreamDevice-2-8/lib/linux-686 -Wl,-rpath,/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/asyn4-35/lib/linux-686 -Wl,-rpath,/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/calc-R3-7-1/lib/linux-686 -Wl,-rpath,/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/sscan-2-11-2/lib/linux-686 -Wl,-rpath,/scratch/home/hanlet/platforms/conc405x/epicsDEV/base-3.14.12.8/lib/linux-686        -m32    -L/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/host/usr/i686-buildroot-linux-uclibc/lib            streamApp_registerRecordDeviceDriver.o streamAppMain.o   -lstream -lasyn -lcalc -lsscan -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom  -lpcre
/scratch/products/elsd/conc405x/linux-3.16.7_generic/output/host/usr/bin/../lib/gcc/i686-buildroot-linux-uclibc/4.8.3/../../../../i686-buildroot-linux-uclibc/bin/ld: cannot find -lpcre
collect2: error: ld returned 1 exit status
make[2]: *** [streamApp] Error 1
make[2]: Leaving directory `/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/StreamDevice-2-8/streamApp/O.linux-686'
make[1]: *** [install.linux-686] Error 2
make[1]: Leaving directory `/scratch/home/hanlet/platforms/conc405x/epicsDEV/Support/StreamDevice-2-8/streamApp'
make: *** [streamApp.install] Error 2

Of course, I may have not been following your suggestions sufficiently accurately so
please feel free to correct me.
Thank you,
Pierrick


On 8/14/19 5:58 PM, Hill, Bruce via Tech-talk wrote:
Try this in your configure/CONFIG_SITE.Common.linux-686 file:

PCRE_LIB=/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/staging/usr/lib
PCRE_INCLUDE=/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/staging/usr/include

It'll also help to add this line:
LIB_INSTALL += $(wildcard $(PCRE_LIB)/lib*)

This last line will install all the pcre libs in your streamdevice lib/linux-686 dir
which will allow your IOC's to link w/o needing to also define PCRE_LIB.

Cheers,
- Bruce

On 8/12/19 8:08 AM, Pierrick M Hanlet via Tech-talk wrote:
I've attempted to fix it by creating a RELEASE.Common.linux-686 file with:
PCRE_TARGET_LIB=/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/staging/usr/lib
PCRE_TARGET_INCLUDE=/usr/local/products/elsd/conc405x/linux-3.16.7_generic/output/staging/usr/include

-- 
Bruce Hill
Member Technical Staff
SLAC National Accelerator Lab
2575 Sand Hill Road M/S 10
Menlo Park, CA  94025

-- 
Pierrick Hanlet
Fermi National Accelerator
Accelerator Front End Controls
+1-630-840-5555 -- lab
+1-312-687-4980 -- mobile

"Whether you think you can or think you can't, you're right" -- Henry Ford

-- 
Bruce Hill
Member Technical Staff
SLAC National Accelerator Lab
2575 Sand Hill Road M/S 10
Menlo Park, CA  94025

Replies:
Re: Fwd: Re: Fwd: cross-compiling (kind of) with Buildroot Hill, Bruce via Tech-talk
References:
Fwd: Re: Fwd: cross-compiling (kind of) with Buildroot Pierrick M Hanlet via Tech-talk
Re: Fwd: Re: Fwd: cross-compiling (kind of) with Buildroot Hill, Bruce via Tech-talk
Re: Fwd: Re: Fwd: cross-compiling (kind of) with Buildroot Pierrick M Hanlet via Tech-talk

Navigate by Date:
Prev: Perkin Elmer drivers for Windows 10 Mark Rivers via Tech-talk
Next: Re: Image display on ImageJ not showing up. [AravisGigE, areaDetector, ADViewer] Ashish Sharma 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  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Fwd: Re: Fwd: cross-compiling (kind of) with Buildroot Pierrick M Hanlet via Tech-talk
Next: Re: Fwd: Re: Fwd: cross-compiling (kind of) with Buildroot Hill, Bruce 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  <20192020  2021  2022  2023  2024 
ANJ, 11 Sep 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·