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  2019  <20202021  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Building StreamDevice with PCRE failing
From: Christoph Schroeder via Tech-talk <tech-talk at aps.anl.gov>
To: <tech-talk at aps.anl.gov>
Date: Wed, 18 Nov 2020 11:28:41 +0100
Hello,

if you still want to use PCRE as standalone EPICS module, you may use this:
https://github.com/chrschroeder/pcre

I recently updated it to the newest version of PCRE1 (v8.44). It should work out of the box with the newest StreamDevice version.
As far as I know StreamDevice will not work with PCRE2 (v10.*), since the new API is not compatible (see https://www.pcre.org/) and changes to StreamDevice would be required.

Best regards,
Christoph

On 17.11.20 21:32, Manoussakis, Adamandios via Tech-talk wrote:

Hello,

 

I have been trying to build streamdevice with PCRE but cannot for the life of me figure out why the compilation keeps failing (using libpcre and libpcre-dev). The release file for streamdevice has PCRE_LIB=/usr/lib  and PCRE_INCLUDE=/usr/include/pcre which seem to be pointing to the correct libraries.  I have looked into trying to build PCRE as a standalone epics module as well as stated in the documentation but ran into similar issues using PCRE v8 and v10 from the ftp(didn’t see v7 which is what the documentation originally built with for standalone).  It looks like one of the pcre shared objects is failing to compile and recommends to compile with -fPIC flag but it looks like that flag is already being used.  Couldn’t find a ton of info out on the internet with regards to this type of compilation error except that usually the -fPIC (position independent code) fixes it.  Below is my compilation error

 

/usr/bin/ranlib libstream.a

/usr/bin/g++ -o libstream.so -fPIC -shared -Wl,-hlibstream.so -L/home/jetson/myepics/support/asyn/lib/linux-x86_64 -L/home/jetson/myepics/support/stream/lib/linux-x86_64 -L/home/jetson/myepics/base/lib/linux-x86_64 -L/usr/lib -Wl,-rpath,/home/jetson/myepics/support/asyn/lib/linux-x86_64 -Wl,-rpath,/home/jetson/myepics/support/stream/lib/linux-x86_64 -Wl,-rpath,/home/jetson/myepics/base/lib/linux-x86_64 -Wl,-rpath,/usr/lib           -rdynamic -m64             DebugInterface.o DummyInterface.o AsynDriverInterface.o EnumConverter.o BCDConverter.o RawConverter.o RawFloatConverter.o BinaryConverter.o ChecksumConverter.o MantissaExponentConverter.o TimestampConverter.o RegexpConverter.o devaoStream.o devaiStream.o devboStream.o devbiStream.o devmbboStream.o devmbbiStream.o devmbboDirectStream.o devmbbiDirectStream.o devlongoutStream.o devlonginStream.o devstringoutStream.o devstringinStream.o devwaveformStream.o devaaiStream.o devaaoStream.o devcalcoutStream.o devlsiStream.o devlsoStream.o devscalcoutStream.o StreamVersion.o StreamBuffer.o StreamError.o StreamProtocol.o StreamFormatConverter.o StreamCore.o StreamBusInterface.o StreamEpics.o   -lasyn -ldbRecStd -ldbCore -lca -lCom  -lpcre -lpthread    -lm -lrt -ldl -lgcc

/usr/bin/ld: /home/jetson/myepics/base/lib/linux-x86_64/libpcre.a(libpcre_la-pcre_jit_compile.o): relocation R_X86_64_PC32 against symbol `pcre_callout' can not be used when making a shared object; recompile with -fPIC

/usr/bin/ld: final link failed: Bad value

collect2: error: ld returned 1 exit status

/home/jetson/myepics/base/configure/RULES_BUILD:288: recipe for target 'libstream.so' failed

make[2]: *** [libstream.so] Error 1

make[2]: Leaving directory '/home/jetson/myepics/support/stream/src/O.linux-x86_64'

/home/jetson/myepics/base/configure/RULES_ARCHS:58: recipe for target 'install.linux-x86_64' failed

make[1]: *** [install.linux-x86_64] Error 2

make[1]: Leaving directory '/home/jetson/myepics/support/stream/src'

/home/jetson/myepics/base/configure/RULES_DIRS:84: recipe for target 'src.install' failed

make: *** [src.install] Error 2

 





Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

Aufsichtsrat: Vorsitzender Dr. Volkmar Dietz, stv. Vorsitzende Dr. Jutta Koch-Unterseher
Geschäftsführung: Prof. Dr. Bernd Rech (Sprecher), Prof. Dr. Jan Lüning, Thomas Frederking

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin

References:
Building StreamDevice with PCRE failing Manoussakis, Adamandios via Tech-talk

Navigate by Date:
Prev: Re: AsynPortDriver separate thread causes Segmentation fault with "dbGetLinkValue" error message Abdalla Ahmad via Tech-talk
Next: Re: AsynPortDriver separate thread causes Segmentation fault with "dbGetLinkValue" error message 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Building StreamDevice with PCRE failing Manoussakis, Adamandios via Tech-talk
Next: streamdevice case sensitive sum8 checksum? Brown, Garth 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  <20202021  2022  2023  2024 
ANJ, 18 Nov 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·