Hi John,
- Switching to base 7.0.6 appears to have fixed that problem.
Good news, I was about to test that asyn still works with gcc 4.8.5.
-
I am trying to build the latest asyn with base-7.0.3 (with a goal of building the latest ADSpinnaker) on linux , Scientific Linux 7.9 , gcc version 4.8.5
Unfortunately, you won’t be able to run ADSpinnaker with gcc 4.8.5. The ADSpinnaker documentation says this:
As it name implies, ADSpinnaker uses
the FLIR/Point Grey Spinnaker library. It runs on Windows, and on Linux versions with gcc
7.5 and higher (e.g. Ubuntu 18, RHEL 8, Centos 8, Debian 10) It does not run on older Linux versions (e.g. Centos 7/RHEL 7) because the FLIR Spinnaker SDK is compiled on Ubuntu 18 and thus requires newer versions of GLIBC and GLIBCXX.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of John Dobbins via Tech-talk
Sent: Monday, June 3, 2024 10:45 AM
To: tech-talk at aps.anl.gov
Subject: Re: asyn master, base 7.0.3 build error from devAsynXXXArray.cpp
Switching to base 7.0.6 appears to have fixed that problem. John
I am trying to build the latest asyn with base-7.0.3 (with a goal of building the latest ADSpinnaker) on linux , Scientific Linux 7.9 , gcc version 4.8.5
I get the error messages shown below from devAsynXXXArray.cpp
Any help is appreciated. Thanks,
John Dobbins
Research Support Specialist
Cornell High Energy Synchrotron Source
Cornell University
www.chess.cornell.edu
/usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUSE_TYPED_RSET -DUSE_TYPED_DSET -DUSE_TYPED_DRVET -DBUILDING_asyn_API -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -DHAVE_DEVINT64 -mtune=generic
-m64 -fPIC -I. -I../O.Common -I. -I. -I../../asyn/drvAsynSerial/os/Linux -I../../asyn/drvAsynSerial/os/default -I.. -I../../asyn/asynDriver -I../../asyn/asynGpib -I../../asyn/drvAsynSerial -I../../asyn/interfaces -I../../asyn/miscellaneous -I../../asyn/asynPortDriver/exceptions
-I../../asyn/asynPortDriver -I../../asyn/asynPortClient -I../../asyn/devEpics -I../../asyn/asynRecord -I../../asyn/vxi11 -I../../asyn/drvPrologixGPIB -I../../asyn/ni1014 -I../../asyn/devGpib -I../../include/compiler/gcc -I../../include/os/Linux -I../../include
-I/nfs/chess/epics/det/support_flir/seq-R2-2-9/include -I/nfs/chess/epics/det/support_flir/calc-R3-7-5/include -I/nfs/chess/epics/det/base-7.0.3/include/compiler/gcc -I/nfs/chess/epics/det/base-7.0.3/include/os/Linux -I/nfs/chess/epics/det/base-7.0.3/include
-c ../../asyn/devEpics/devAsynXXXArray.cpp
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:18:0:
/nfs/chess/epics/det/base-7.0.3/include/dbCommon.h:47:12: error: using typedef-name ‘dset’ after ‘struct’
struct dset *dset; /* DSET address */
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:17:0:
/nfs/chess/epics/det/base-7.0.3/include/devSup.h:153:20: note: ‘dset’ has a previous declaration here
In file included from /nfs/chess/epics/det/base-7.0.3/include/dbAccess.h:19:0,
from ../../asyn/devEpics/devAsynXXXArray.cpp:19:
/nfs/chess/epics/det/base-7.0.3/include/dbBase.h:43:9: error: using typedef-name ‘dset’ after ‘struct’
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:17:0:
/nfs/chess/epics/det/base-7.0.3/include/devSup.h:153:20: note: ‘dset’ has a previous declaration here
In file included from /nfs/chess/epics/det/base-7.0.3/include/dbAccess.h:23:0,
from ../../asyn/devEpics/devAsynXXXArray.cpp:19:
/nfs/chess/epics/det/base-7.0.3/include/dbAccessDefs.h:242:67: error: using typedef-name ‘dset’ after ‘struct’
epicsShareFunc devSup* dbDSETtoDevSup(dbRecordType *prdes, struct dset *pdset);
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:17:0:
/nfs/chess/epics/det/base-7.0.3/include/devSup.h:153:20: note: ‘dset’ has a previous declaration here
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:27:0:
/nfs/chess/epics/det/base-7.0.3/include/waveformRecord.h:54:12: error: using typedef-name ‘dset’ after ‘struct’
struct dset *dset; /* DSET address */
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:17:0:
/nfs/chess/epics/det/base-7.0.3/include/devSup.h:153:20: note: ‘dset’ has a previous declaration here
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:28:0:
/nfs/chess/epics/det/base-7.0.3/include/aaoRecord.h:54:12: error: using typedef-name ‘dset’ after ‘struct’
struct dset *dset; /* DSET address */
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:17:0:
/nfs/chess/epics/det/base-7.0.3/include/devSup.h:153:20: note: ‘dset’ has a previous declaration here
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:29:0:
/nfs/chess/epics/det/base-7.0.3/include/aaiRecord.h:54:12: error: using typedef-name ‘dset’ after ‘struct’
struct dset *dset; /* DSET address */
In file included from ../../asyn/devEpics/devAsynXXXArray.cpp:17:0:
/nfs/chess/epics/det/base-7.0.3/include/devSup.h:153:20: note: ‘dset’ has a previous declaration here
make[3]: *** [devAsynXXXArray.o] Error 1
make[3]: Leaving directory `/nfs/chess/epics/det/support_flir/asyn-R4-45/asyn/O.linux-x86_64'
make[2]: *** [install.linux-x86_64] Error 2
make[2]: Leaving directory `/nfs/chess/epics/det/support_flir/asyn-R4-45/asyn'
make[1]: *** [asyn.install] Error 2
make[1]: Leaving directory `/nfs/chess/epics/det/support_flir/asyn-R4-45'
make: *** [/nfs/chess/epics/det/support_flir/asyn-R4-45.install] Error 2