Hi Ben,
On 2011-07-01 Benjamin Franksen wrote:
>
> I am happy to announce the first release candidate of version 2.1.0 of the
> EPICS sequencer. You can download from here:
Testing against Base R3.14.12.1:
Building on solaris-sparc stops here:
/opt/SUNWspro/bin/CC -c -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500
-DPVCA -DUNIX -DSOLARIS=10 -mt -D__EXTENSIONS__ -O +w -
xcode=pic32 -I. -I../O.Common -I. -I.. -I../../../include/os/solaris -
I../../../include -I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-
asd1/include/os/solaris -I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-
asd1/include ../pvCa.cc
"../pvCa.cc", line 204: Error: The function "alloca" must have a prototype.
"../pvCa.cc", line 204: Error: Cannot use int to initialize char*.
"../pvCa.cc", line 272: Error: The function "alloca" must have a prototype.
"../pvCa.cc", line 272: Error: Cannot use int to initialize char*.
"../pvCa.cc", line 298: Error: The function "alloca" must have a prototype.
"../pvCa.cc", line 298: Error: Cannot use int to initialize char*.
"../pvCa.cc", line 477: Error: The function "alloca" must have a prototype.
"../pvCa.cc", line 477: Error: Cannot use int to initialize char*.
I can fix this with:
#if (__STDC_VERSION__ < 199901L) && !defined(__GNUC__)
# include <alloca.h>
#endif
The conditional is necessary to avoid warnings from vxWorks, which doesn't
have an alloca.h header (and I wonder if this might need a WIN32 equivalent as
well, see below).
When it gets to compiling in src/snc I get lots of these warnings:
"../types.h", line 44: warning: typedef redeclared: uint
one of these:
"../analysis.c", line 1340: warning: integer overflow detected: op "<<"
and this:
"../gen_tables.c", line 185: warning: implicit function declaration: alloca
which results in this failure:
/opt/SUNWspro/bin/CC -o snc -L/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-
asd1/lib/solaris-sparc -R/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-
asd1/lib/solaris-sparc -L/usr/local/lib -mt -z ignore -z combreloc -z
lazyload -R/usr/local/lib lexer.o snl.o main.o expr.o var_types.o
analysis.o gen_code.o gen_ss_code.o gen_tables.o sym_table.o -lrecIoc -
lsoftDevIoc -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -
ldbStaticIoc -lca -lCom -lCom
Undefined first referenced
symbol in file
alloca gen_tables.o
ld: fatal: Symbol referencing errors. No output written to snc
I can fix that with this 2-line #elif addition:
#ifdef _WIN32
# include <malloc.h>
#elif (__STDC_VERSION__ < 199901L) && !defined(__GNUC__)
# include <alloca.h>
#endif
I then get this failure when it gets to building in src/dev:
/opt/SUNWspro/bin/cc -c -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500
-DUNIX -DSOLARIS=10 -mt -D__EXTENSIONS__ -xO4 -I../../seq -
xcode=pic32 -I. -I../O.Common -I. -I.. -I../../../include/os/solaris -
I../../../include -I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-
asd1/include/os/solaris -I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-
asd1/include ../devSequencer.c
"../devSequencer.c", line 182: warning: implicit function declaration: alloca
/opt/SUNWspro/bin/CC -xar -o libseqDev.a devSequencer.o
/opt/SUNWspro/bin/CC -o libseqDev.so -z defs -G -h libseqDev.so -z text -
L/home/phoebus3/ANJ/epics/modules/soft/seq-2.1.0-rc1/lib/solaris-sparc -
L/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-asd1/lib/solaris-sparc -
R/home/phoebus3/ANJ/epics/modules/soft/seq-2.1.0-rc1/lib/solaris-sparc -
R/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-asd1/lib/solaris-sparc -
L/usr/local/lib -mt -z ignore -z combreloc -z lazyload -R/usr/local/lib
devSequencer.o -lseq -lpv -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc -
ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom -lposix4
-lpthread -lreadline -lcurses -lm -lCstd -lsocket -lnsl -lumem -lCrun -lc
Undefined first referenced
symbol in file
alloca devSequencer.o
ld: fatal: Symbol referencing errors. No output written to libseqDev.so
make[3]: *** [libseqDev.so] Error 1
but I can fix that just like in gen_tables.c
I also get these warnings from compiling bittypes.c:
/opt/SUNWspro/bin/cc -c -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500
-DUNIX -DSOLARIS=10 -mt -D__EXTENSIONS__ -xO4 -I. -
I../O.Common -I. -I.. -I../../../include/os/solaris -I../../../include -
I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-asd1/include/os/solaris -
I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-asd1/include bittypes.c
"../bittypes.st", line 36: warning: initializer does not fit or is out of
range: -1
"../bittypes.st", line 38: warning: initializer does not fit or is out of
range: -1
"../bittypes.st", line 40: warning: initializer will be sign-extended: -1
After fixing all the build errors I ran the tests, which the first time
resulted in an assert failure in cbLow:
norace.................ok 30/30
A call to 'assert(pca)'
by thread 'cbLow' failed in ../dbCa.c line 336.
EPICS Release EPICS R3.14.12.1-asd1 2011/04/26 21:43:15.
Local time is 2011-07-01 11:21:28.624182050 CDT
Please E-mail this message to the author or to [email protected]
Calling epicsThreadSuspendSelf()
Thread cbLow (466b8) suspended
Two subsequent re-runs both passed all tests without failing, although it is
skipping 10 tests in pvGetIoc:
ok 2 - immediate completion: expected=1==1=anon
ok 3 # SKIP no immediate completion
ok 4 - synchronous get: expected=1==1=named
ok 14 - immediate completion: expected=6==6=anon
ok 15 # SKIP no immediate completion
ok 16 - synchronous get: expected=6==6=named
ok 26 - immediate completion: expected=10==10=anon
ok 27 # SKIP no immediate completion
ok 28 - synchronous get: expected=10==10=named
ok 38 - immediate completion: expected=14==14=anon
ok 39 # SKIP no immediate completion
ok 40 - synchronous get: expected=14==14=named
ok 50 - immediate completion: expected=19==19=anon
ok 51 # SKIP no immediate completion
ok 52 - synchronous get: expected=19==19=named
ok 62 - immediate completion: expected=23==23=anon
ok 63 # SKIP no immediate completion
ok 64 - synchronous get: expected=23==23=named
ok 74 - immediate completion: expected=27==27=anon
ok 75 # SKIP no immediate completion
ok 76 - synchronous get: expected=27==27=named
ok 86 - immediate completion: expected=31==31=anon
ok 87 # SKIP no immediate completion
ok 88 - synchronous get: expected=32==32=named
ok 97 - synchronous get: expected=36==36=anon
ok 98 # SKIP no immediate completion
ok 99 - immediate completion: expected=36==36=anon
ok 109 - synchronous get: expected=40==40=anon
ok 110 # SKIP no immediate completion
ok 111 - immediate completion: expected=40==40=anon
On solaris-x86 with the above changes I get the same results as solaris-sparc,
plus one additional warning (which you can ignore):
/opt/SUNWspro/bin/cc -c -D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500
-D_X86_ -DUNIX -DSOLARIS=10 -mt -D__EXTENSIONS__ -xO4 -I.
-I../O.Common -I. -I.. -I../../../include/os/solaris -I../../../include -
I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-asd1/include/os/solaris -
I/usr/local/iocapps/R3.14.12.1/base/3-14-12-1-asd1/include lexer.c
"./snl.h", line 73: warning: macro redefined: SS
On linux-x86_64 (RHEL 6) I get one build warning from snc (which I also saw on
solaris BTW), but all of the runtests pass:
../syncq.st:16: warning: leaving out the queue size is deprecated, queue size
defaults to 100 elements
On linux-x86 (which also cross-builds for rtems-mvme3100) I got the same
warning for ../syncq.st, but no other issues and all the runtests passed.
The darwin-x86 system I use doesn't have re2c installed, I'll ask if it can be
and try it when I can.
Thanks,
- Andrew
--
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham
- References:
- Announce: sequencer 2.1.0 release candidate Benjamin Franksen
- Navigate by Date:
- Prev:
Re: Announce: sequencer 2.1.0 release candidate Benjamin Franksen
- Next:
RE: SNL seq-2.0.13 on Linux 64 bits: not all monitored PVs receive their first monitor event Allison, Stephanie
- 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
- Navigate by Thread:
- Prev:
Re: Announce: sequencer 2.1.0 release candidate Benjamin Franksen
- Next:
Announce: sequencer 2.1.0 release candidate 2 Benjamin Franksen
- 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
|