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>
Sent: Thursday, January 23, 2020 12:04 PM
To: John Dobbins <john.dobbins at cornell.edu>
Cc: Mark Rivers <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: XSPRESS3 hdf5 problems
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.
Mark,
Thanks. I'll give that a try.
John
Hi John,
Ø
I have contacted Quantum. I thought that while waiting to hear from them it would make sense to build an IOC from source. On github I see
Ø
epics-modules/xspress3
The IOC that Quantum distributes is ancient, using areaDetector R1-9-1.
That is the one I recommend you use. Matt Newville in our group here at the APS is maintaining it. It is working with the latest version of ADCore, ADSupport, etc.
It uses NDPluginROIStat for ROI statistics.
There are new OPI screens.
Mark
I have a new 5 channel Quantum Xspress3 data readout unit which when taking multiple frames will start generating hdf5 related error messages at what seems like random (will acquire between a few or
thousands of frames before generating errors). Once these messages start they seem to continue until the IOC segfaults.
repeating pair of error messages on the IOC console:
HDF5-DIAG: Error detected in HDF5 (1.8.12) thread 0:
#000: ../../src/H5Dio.c line 231 in H5Dwrite(): can't prepare for writing data
#001: ../../src/H5Dio.c line 348 in H5D__pre_write(): file selection+offset not within extent
This IOC is a binary that comes with the detector.
I have contacted Quantum. I thought that while waiting to hear from them it would make sense to build an IOC from source. On github I see
quantumdetectors/xspress3-epics forked from the above.
Any advice on which i should go with? Any suspicions regarding the hdf5 errors?
Research Support Specialist
Cornell High Energy Synchrotron Source
--
--Matt Newville
|