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  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: Re: StreamDevice and libpcre2
From: Jörn Dreyer via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 05 Jun 2025 11:54:59 +0200
Hi Dirk,

after opening an issue on github for this topic, I took a closer look into the porting to libpcre2.
The old libpcre supported only 8bit wide character strings. To support also UTF encoded strings,
libpcre2 comes in three variants, which support 8bit, 16bit or 32bit wide strings.

As long als we deal only with devices that use ASII characters for communication, the 8 bit variant of libpcre2 is sufficient.

To all:

Has anybody seen a device that uses more than one byte to encode the character data?

If yes, that would require to create also three versions of the StreamDevice library, mainly for performance reasons.

Jörn

Am Donnerstag, 5. Juni 2025, 09:33:55 Mitteleuropäische Sommerzeit schrieb Zimoch Dirk via Tech-talk:
> Porting StreamDevice to libpcre2 is already on my to-do list.
> Dirk
> 
> > -----Original Message-----
> > From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Jörn Dreyer via
> > Tech-talk
> > Sent: Donnerstag, 5. Juni 2025 09:09
> > To: tech-talk at aps.anl.gov
> > Subject: StreamDevice and libpcre2
> > 
> > Hi everybody,
> > 
> > I faced today the fact that on my system (OpenSuSE Tumbleweed) there is no
> > libpcre anymore. It got replaced completely by its successor libpcre2.
> > I came across that when trying to recompile my EPICS installation. It failed when
> > building StreamDevice.
> > 
> > Now there are three options how to solve that:
> > 
> > 1) Install the old libpcre 8.45 from source by hand in the system. Might still work
> > for some time, but what when not? It has not been updated since 2021
> > and might contain bugs and security issues that will not be fixed.
> > 
> > 2) Install libpcre as part of StreamDevice. It faces the same problems as above.
> > 
> > 3) Port StreamDevice to libpcre2. That would make it future prove and more easy
> > to maintain.
> > 
> > For me #1 is only a short term solution. For now only my OpenSuSE system is
> > affected and I can build a package for that, but what when systems like
> > Debian/Ubuntu arfe affected?
> > As I use E3 to deploy my EPICS installations now, I could setup an installation of
> > libpcre for that, but it would require to fork the e3-StreamDevice wrapper from
> > ESS
> > to add the pcre module dependency. I would prefer not to do that as it could
> > make things incompatible at some time.
> > So this leaves #3 as the optimal solution an I would like to know if somebody has
> > already looked into that or is actively working on it.
> > 
> > Regards,
> > 
> > Jörn
> > 
> 
> 




References:
StreamDevice and libpcre2 Jörn Dreyer via Tech-talk
RE: StreamDevice and libpcre2 Zimoch Dirk via Tech-talk

Navigate by Date:
Prev: RE: StreamDevice and libpcre2 Zimoch Dirk via Tech-talk
Next: Beckhoff ADS to EPICS IOC Lesley 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: StreamDevice and libpcre2 Zimoch Dirk via Tech-talk
Next: Beckhoff ADS to EPICS IOC Lesley 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
ANJ, 05 Jun 2025 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·