EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Linux -> PPC cross-compile of the Motor Record
From: "Ronald L. Sluiter" <[email protected]>
To: Andy Foster <[email protected]>
Cc: Epics Questions <[email protected]>
Date: Fri, 21 Nov 2003 12:30:00 -0600
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






Replies:
Re: Linux -> PPC cross-compile of the Motor Record Ernest L. Williams Jr.
Re: Linux -> PPC cross-compile of the Motor Record Andy Foster
References:
Linux -> PPC cross-compile of the Motor Record Andy Foster

Navigate by Date:
Prev: Re: EPICS to WAGO PLC using Ethernet MODBUS Eric Williams
Next: Re: Linux -> PPC cross-compile of the Motor Record Ernest L. Williams Jr.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Linux -> PPC cross-compile of the Motor Record Andy Foster
Next: Re: Linux -> PPC cross-compile of the Motor Record Ernest L. Williams Jr.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·