Andy and Ernest,
I submitted a TSR to Wind River's Tech Support and they
(Eric Lo) have come up with the following solution/workaround.
The following ONLY applies to users building from Tornado 2.2 or 2.2.1.
Modify devLib.h in EPICS base R3.14.4 as follows;
file <base>/src/libCom/osi/devLib.h
------- devLib.h -------
373a374,375
> typedef void (*devLibVOIDFUNCPTR) (); /* ptr to function returning
void */
>
377c379
< void (*pFunction)(),
---
> devLibVOIDFUNCPTR pFunction,
Modified Motor record R5.2 as follows;
- file <motor>/motorApp/OmsSrc/drvOms.cc
------- drvOms.cc -------
878c878
< (void (*)()) motorIsr, (void *) card);
---
> (devLibVOIDFUNCPTR) motorIsr, (void *) card);
938c938
< (void (*)()) motorIsr);
---
> (devLibVOIDFUNCPTR) motorIsr);
- file <motor>/motorApp/OmsSrc/drvOms58.cc
------- drvOms58.cc -------
924c924
< (void (*)()) motorIsr, (void *) card);
---
> (devLibVOIDFUNCPTR) motorIsr, (void *) card);
Andy,
I am getting this error from both the cc68k and the ccppc
compilers distributed with Tornado 2.2.1 for a Solaris host.
EPICS core developers,
Could someone (Marty?) make this modification to devLib.h
in future releases?
Adios,
Ron Sluiter
Ernest L. Williams Jr. wrote:
Hi,
I have also confirmed this. We will get updated GNU Tool Chain source
code patches from WRS to get in synch with the current T2.2 compiler.
The T2.2 compiler is indeed based on gcc-2.96 as you have discovered.
Thanks,
Ernest L. Williams Jr.
SNS Control Systems Group
On Fri, 2003-11-21 at 13:30, Ronald L. Sluiter wrote:
Dear Andy,
Oh! the joy of collaboration.
I was just struggling with this problem when I saw your post.
Strangely, this same problem does occur with the 68K version of the
Tornado 2.2 (and 2.2.1) compiler.
/home/oxygen/SLUITER/wind68K2.2/host/sun4-solaris2/bin/cc68k -c
-D_POSIX_SOURCE -DCPU=MC68040 -DvxWorks -include
/home/oxygen/SLUITER/wind68K2.2/target/h/vxWorks.h -ansi -O0 -g -Wall
-m68040 -fno-implicit-templates -fno-builtin -I. -I..
-I../../../include/os/vxWorks -I../../../include
-I/home/oxygen/SLUITER/local/epics/Vx_5-5_R3-14-4/support/mpf2-4/include/os/vxWorks
-I/home/oxygen/SLUITER/local/epics/Vx_5-5_R3-14-4/support/mpf2-4/include
-I/home/oxygen/SLUITER/local/epics/Vx_5-5_R3-14-4/base/include/os/vxWorks
-I/home/oxygen/SLUITER/local/epics/Vx_5-5_R3-14-4/base/include
-I/home/oxygen/SLUITER/local/epics/Vx_5-5_R3-14-4/support/ipac2-5/include/os/vxWorks
-I/home/oxygen/SLUITER/local/epics/Vx_5-5_R3-14-4/support/ipac2-5/include
-I/home/oxygen/SLUITER/wind68K2.2/target/h ../drvOms.cc
.../drvOms.cc:878: sorry, not implemented: `tree_list' not supported by
dump_type
.../drvOms.cc: In function `int motorIsrEnable(int)':
.../drvOms.cc:878: ANSI C++ prohibits conversion from `()' to `(...)'
.../drvOms.cc:938: sorry, not implemented: `tree_list' not supported by
dump_type
.../drvOms.cc: In function `void motorIsrDisable(int)':
.../drvOms.cc:938: ANSI C++ prohibits conversion from `()' to `(...)'
.../drvOms.cc: In function `int motor_init()':
.../drvOms.cc:1071: warning: unsigned int format, pointer arg (arg 5)
.../../../include/motordrvComCode.h: At top level:
.../drvOms.cc:922: warning: `void motorIsrDisable(int)' defined but not used
dumond% cc68k -v
Reading specs from
/home/oxygen/SLUITER/wind68K2.2/host/sun4-solaris2/bin/../lib/gcc-lib/m68k-wrs-vxworks/gcc-2.96/specs
gcc version gcc-2.96 (2.96+) 19990621 VxWorks 5.5
85973
Please send those patches.
Thanks,
Ron Sluiter
Andy Foster wrote:
Dear All,
I recently tried compiling the latest version of the
Motor record (V5-2 for 3.14.4) using the Linux -> PPC cross-compiler
that I built from the GNU/Wind River sources available from the SNS site.
The compilation failed due to a compiler problem:
/export/home/ajf/tornado2.2/ppc/host/x86-linux/bin/ccppc -c -D_POSIX_SOURCE
-DCPU=PPC604 -DvxWorks -include /export/home/ajf/tornado2.2/ppc/target/h/vxWorks.h
-ansi -O3 -Wall -mcpu=604 -mstrict-align -mlongcall -fno-implicit-templates
-fno-builtin -I. -I.. -I../../../include/os/vxWorks -I../../../include
-I/export/home/ajf/epics3.14.4/base/include/os/vxWorks
-I/export/home/ajf/epics3.14.4/base/include
-I/export/home/ajf/tornado2.2/ppc/target/h ../drvOms.cc
.../drvOms.cc: In function `int set_status(int, int)':
.../drvOms.cc:228: warning: `bool ls_active' might be used
uninitialized in this function
.../drvOms.cc:878:
sorry, not implemented: `tree_list' not supported by dump_type
....
....
I eventually tracked down the problem
as being due to a change that was made to the GNU compiler between
gcc-2.95 and gcc-2.95.1. I have patched my copy of the SNS compiler
sources and this enabled me to compile successfully.
Interestingly, when cross-compiling from Solaris, using the
cross-compiler supplied with Tornado 2.2, this problem
does not occur. I can only assume then that the compiler which
Wind River supplies is being built from a slightly different set
of source files than the one on the SNS site.
I was also surprised that for the built compiler:
ccppc -v gives:
Reading specs from ./../lib/gcc-lib/powerpc-wrs-vxworks/gcc-2.96/specs
gcc version gcc-2.96 (2.96+) 19990621 AltiVec
which seems to indicate that the sources are from gcc-2.96, i.e. a release
which should have already included the patches that I had to apply.
If anyone else is having problems compiling the motor record and is
interested in the patched compiler code, I would be happy
to supply it.
Cheers,
Andy
--------------------------------------------------------------------
Observatory Sciences Limited Email: [email protected]
William James House Tel: 44 - (0)1223 - 508259
Cowley Road Fax: 44 - (0)1223 - 508258
Cambridge, CB4 0WX, UK http://www.observatorysciences.co.uk
- References:
- Linux -> PPC cross-compile of the Motor Record Andy Foster
- Re: Linux -> PPC cross-compile of the Motor Record Ronald L. Sluiter
- Re: Linux -> PPC cross-compile of the Motor Record Ernest L. Williams Jr.
- Navigate by Date:
- Prev:
A new type of "Peta File" is stalking the children....The US Army! Report Wash
- Next:
Bug in sequencer v1.9.5 Redman, Russell O.
- 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: Linux -> PPC cross-compile of the Motor Record Ernest L. Williams Jr.
- Next:
Re: Linux -> PPC cross-compile of the Motor Record Andy Foster
- 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
|