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: XSPRESS3 hdf5 problems |
From: | John Dobbins via Tech-talk <tech-talk at aps.anl.gov> |
To: | Mark Rivers <rivers at cars.uchicago.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 27 Jan 2020 17:27:54 +0000 |
Mark,
Thanks, adding STATIC_BUILD=YES to xspress3/iocs/xspress3IOC/xspress3App/src/Makefile works.
John
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Monday, January 27, 2020 12:18 PM To: John Dobbins <john.dobbins at cornell.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Cc: Matt Newville <newville at cars.uchicago.edu> Subject: RE: XSPRESS3 hdf5 problems Hi John,
This is what I get when I build with gcc 4.8.5 on a Centos 7 system with base 7.0.3.1. It works when I build statically (STATIC_BUILD=YES).
/usr/bin/g++ -o xspress3App -Wl,-Bstatic -L/home/epics/devel/xspress3-2-2/lib/linux-x86_64 -L/home/epics/devel/xspress3-2-2/iocs/xspress3IOC/lib/linux-x86_64 -L/home/epics/devel/areaDetector-3-8/ADCore/lib/linux-x86_64 -L/home/epics/devel/areaDetector-3-8/ADSupport/lib/linux-x86_64 -L/home/epics/devel/asyn-4-37/lib/linux-x86_64 -L/home/epics/devel/autosave-5-10/lib/linux-x86_64 -L/home/epics/devel/busy-1-7-2/lib/linux-x86_64 -L/home/epics/devel/calc-3-7-3/lib/linux-x86_64 -L/home/epics/devel/devIocStats-3-1-16/lib/linux-x86_64 -L/home/epics/devel/seq-2-2-5/lib/linux-x86_64 -L/home/epics/devel/sscan-2-11-3/lib/linux-x86_64 -L/usr/local/epics-devel/base-7.0.3.1/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/xspress3-2-2/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/xspress3-2-2/iocs/xspress3IOC/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/areaDetector-3-8/ADCore/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/areaDetector-3-8/ADSupport/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/asyn-4-37/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/autosave-5-10/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/busy-1-7-2/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/calc-3-7-3/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/devIocStats-3-1-16/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/seq-2-2-5/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/sscan-2-11-3/lib/linux-x86_64 -Wl,-rpath,/usr/local/epics-devel/base-7.0.3.1/lib/linux-x86_64 -rdynamic -m64 xspress3App_registerRecordDeviceDriver.o xspress3AppMain.o -lxspress3Epics -lxspress3 -limg_mod -lNDPlugin -lADBase -lqsrv -lntndArrayConverter -lnt -lpvDatabase -lpvAccessIOC -lpvAccessCA -lpvAccess -lpvData -lnetCDF -lMagick++ -lcoders -lMagick -ljbig -ljp2 -lbzlib -lpng -lwebp -llcms -lttf -lwmf -lfilters -ltiff -lxml2 -lNeXus -lhdf5 -lhdf5_hl -lbitshuffle -lblosc -lszip -lzlib -ljpeg -lasyn -lautosave -lbusy -lcalc -ldevIocStats -lsscan -lseq -lpv -ldbRecStd -ldbCore -lca -lCom -Wl,-Bdynamic -lboost_system -lX11 -lXext -lpthread -lreadline -lm -lrt -ldl –lgcc
If I edit xspress3/iocs/xspress3IOC/xspress3App/src/Makefile to have STATIC_BUILD=NO it fails the same as you:
/usr/bin/g++ -o xspress3App -L/home/epics/devel/xspress3-2-2/lib/linux-x86_64 -L/home/epics/devel/xspress3-2-2/iocs/xspress3IOC/lib/linux-x86_64 -L/home/epics/devel/areaDetector-3-8/ADCore/lib/linux-x86_64 -L/home/epics/devel/areaDetector-3-8/ADSupport/lib/linux-x86_64 -L/home/epics/devel/asyn-4-37/lib/linux-x86_64 -L/home/epics/devel/autosave-5-10/lib/linux-x86_64 -L/home/epics/devel/busy-1-7-2/lib/linux-x86_64 -L/home/epics/devel/calc-3-7-3/lib/linux-x86_64 -L/home/epics/devel/devIocStats-3-1-16/lib/linux-x86_64 -L/home/epics/devel/seq-2-2-5/lib/linux-x86_64 -L/home/epics/devel/sscan-2-11-3/lib/linux-x86_64 -L/usr/local/epics-devel/base-7.0.3.1/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/xspress3-2-2/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/xspress3-2-2/iocs/xspress3IOC/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/areaDetector-3-8/ADCore/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/areaDetector-3-8/ADSupport/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/asyn-4-37/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/autosave-5-10/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/busy-1-7-2/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/calc-3-7-3/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/devIocStats-3-1-16/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/seq-2-2-5/lib/linux-x86_64 -Wl,-rpath,/home/epics/devel/sscan-2-11-3/lib/linux-x86_64 -Wl,-rpath,/usr/local/epics-devel/base-7.0.3.1/lib/linux-x86_64 -rdynamic -m64 xspress3App_registerRecordDeviceDriver.o xspress3AppMain.o -lxspress3Epics -lxspress3 -limg_mod -lNDPlugin -lADBase -lqsrv -lntndArrayConverter -lnt -lpvDatabase -lpvAccessIOC -lpvAccessCA -lpvAccess -lpvData -lnetCDF -lMagick++ -lcoders -lMagick -ljbig -ljp2 -lbzlib -lpng -lwebp -llcms -lttf -lwmf -lfilters -ltiff -lxml2 -lNeXus -lhdf5 -lhdf5_hl -lbitshuffle -lblosc -lszip -lzlib -ljpeg -lasyn -lautosave -lbusy -lcalc -ldevIocStats -lsscan -lseq -lpv -ldbRecStd -ldbCore -lca -lCom -lboost_system -lX11 -lXext /bin/ld: /home/epics/devel/xspress3-2-2/lib/linux-x86_64/libxspress3.a(xspress3_histogram.o): undefined reference to symbol 'pthread_cancel@@GLIBC_2.2.5' //lib64/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[1]: *** [xspress3App] Error 1 make[1]: Leaving directory `/home/epics/devel/xspress3-2-2/iocs/xspress3IOC/xspress3App/src/O.linux-x86_64' make: *** [install.linux-x86_64] Error 2
We have not noticed the problem because we normally build statically. I will investigate.
Meanwhile, you can probably work around the problem by adding STATIC_BUILD=YES to xspress3/iocs/xspress3IOC/xspress3App/src/Makefile.
Mark
From: John Dobbins <john.dobbins at cornell.edu>
Mark, Matt,
I am attempting to build epics-modules/xspress3 (latest master).
On CentOS Linux release 7.5.1804, I have built base 3.15.7, areaDetector R3-7.
If BUILD_IOCS = NO then Xspress3 build succeeds but with BUILD_IOCS=YES I get
/usr/bin/g++ -o xspress3App -L/home/xspress3/epics/synApps_6_1/support/xspress/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/xspress/iocs/xspress3IOC/lib/linux-x86_64 -L/home/xspress3/epics/base-3.15.7/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/areaDetector-R3-7/ADCore/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/areaDetector-R3-7/ADSupport/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/autosave-R5-10/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/busy-R1-7-2/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/calc-R3-7-3/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/iocStats-3-1-16/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/seq-2-2-6/lib/linux-x86_64 -L/home/xspress3/epics/synApps_6_1/support/sscan-R2-11-3/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/xspress/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/xspress/iocs/xspress3IOC/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/base-3.15.7/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/areaDetector-R3-7/ADCore/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/areaDetector-R3-7/ADSupport/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/asyn-R4-36/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/autosave-R5-10/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/busy-R1-7-2/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/calc-R3-7-3/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/iocStats-3-1-16/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/seq-2-2-6/lib/linux-x86_64 -Wl,-rpath,/home/xspress3/epics/synApps_6_1/support/sscan-R2-11-3/lib/linux-x86_64 -rdynamic -m64 xspress3App_registerRecordDeviceDriver.o xspress3AppMain.o -lxspress3Epics -lxspress3 -limg_mod -lNDPlugin -lADBase -lnetCDF -lMagick++ -lcoders -lMagick -ljbig -ljp2 -lbzlib -lpng -lwebp -llcms -lttf -lwmf -lfilters -ltiff -lxml2 -lNeXus -lhdf5 -lhdf5_hl -lbitshuffle -lblosc -lszip -lzlib -ljpeg -lasyn -lautosave -lbusy -lcalc -ldevIocStats -lsscan -lseq -lpv -ldbRecStd -ldbCore -lca -lCom -lX11 -lXext /usr/bin/ld: /home/xspress3/epics/synApps_6_1/support/xspress/lib/linux-x86_64/libxspress3.a(xspress3_histogram.o): undefined reference to symbol 'pthread_cancel@@GLIBC_2.2.5' //usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
On my machine
locate libpthread /usr/lib64/libpthread-2.17.so /usr/lib64/libpthread.so /usr/lib64/libpthread.so.0 /usr/lib64/libpthread_nonshared.a
readelf -s /lib64/libpthread.so.0 | grep pthread_cancel 200: 000000000000cae0 167 FUNC GLOBAL DEFAULT 13 pthread_cancel@@GLIBC_2.2.5 233: 0000000000000000 0 FILE LOCAL DEFAULT ABS pthread_cancel.c 485: 00000000000111b4 12 OBJECT LOCAL DEFAULT 16 _thread_db_pthread_cancel 508: 000000000000fe30 260 FUNC LOCAL DEFAULT 13 pthread_cancel_init 949: 000000000000cae0 167 FUNC GLOBAL DEFAULT 13 pthread_cancel
gcc 4.8.5
Any ideas?
John
From: Matt Newville <newville at cars.uchicago.edu>
Hi John,
Just to follow up: I don't recall ever seeing that error from HDF5 with epics-modules/xspress3. I believe there were some known problems with HDF5 that were fixed around AD 2, but I don't recall the details.
On Thu, Jan 23, 2020 at 10:55 AM John Dobbins <john.dobbins at cornell.edu> wrote:
-- --Matt Newville |