Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: Re: Is it possible to create a cross-compile environment using cygwin and vxWorks on Windows XP
From: 송영기 <ygsong@kaeri.re.kr>
To: tech-talk@aps.anl.gov
Date: Fri, 22 Jun 2012 22:04:36 +0900

HI,

 

I tried commenting out "vxWorks-ppc604_long" in $EPICS_BASE/configure/os/CONFIG_SITE.cygwin-x86.Common file.

 

Run "make"

make -C configure install

make[1]: Entering directory '/cygdrive/c/epics/base-3.14.11/configure'

perl ../configure/tools/makeMakefile.pl O.cygwin-x86 ../..

perl ../configure/tools/makeMakefile.pl O.vxWorks-ppc604 ../.   <===  Ok. vxWorks-ppc604 was created.

 

But..

I got the following error.

-----------------------------------------------------------------------------------------------------------------------------------------------------...

-I../../../src/libCom/misc -I../../../src/libCom/osi -I../../../src/libCom/taskwd -I../../../src/libCom/timer
-I../../../src/libCom/tsDefs -I../../../include/os/vxWorks  -I../../../include      
-I/cygdrive/c/Tornado2.2/target/h  ../../../src/libCom/bucketLib/bucketLib.c
C:\Tornado2.2\host\x86-win32\bin\ccppc.exe: *** conflicting versions of cygwin1.dll detected.  Use only the most recent version.

../../../configure/RULES_BUILD:178: recipe for target `bucketLib.o' failed
make[3]: *** [bucketLib.o] Segmentation fault
make[3]: Leaving directory `/cygdrive/c/epics/base-3.14.8.2/src/libCom/O.vxWorks-ppc604'
../../configure/RULES_ARCHS:37: recipe for target `install.vxWorks-ppc604' failed
make[2]: *** [install.vxWorks-ppc604] Error 2
make[2]: Leaving directory `/cygdrive/c/epics/base-3.14.8.2/src/libCom'
../configure/RULES_DIRS:41: recipe for target `libCom.install' failed
make[1]: *** [libCom.install] Error 2
make[1]: Leaving directory `/cygdrive/c/epics/base-3.14.8.2/src'
configure/RULES_DIRS:41: recipe for target `src.install' failed
make: *** [src.install] Error 2

-----------------------------------------------------------------------------------------------------------------------------------------------------

I found that there are the same cygwin1.dll files in C:\cygwin\bin and C:\Tornado2.2\host\x86-win32\bin.

So, i replaced the name in C:\Tornado2.2\host\x86-win32\bin with another name, "cygwin1.dll.tornado".

 

Run "make" again.

I got the same error in base-3.14.8.2, base-3.14.10 and base-3.14.11.

-----------------------------------------------------------------------------------------------------------------------------------------------------

Installing created file ../../../bin/cygwin-x86/caRepeater.exe
Installing created file ../../../bin/cygwin-x86/catime.exe
Installing created file ../../../bin/cygwin-x86/acctst.exe
Installing created file ../../../bin/cygwin-x86/caConnTest.exe
Installing created file ../../../bin/cygwin-x86/casw.exe
Installing created file ../../../bin/cygwin-x86/caEventRate.exe
Installing html ../../../html//CAref.html
make[3]: Leaving directory `/cygdrive/c/epics/base-3.14.10/src/ca/O.cygwin-x86'
make -C O.vxWorks-ppc604_long -f ../Makefile TOP=../../.. T_A=vxWorks-ppc604_long install
make[3]: Entering directory `/cygdrive/c/epics/base-3.14.10/src/ca/O.vxWorks-ppc604_long'
/cygdrive/c/Tornado2.2/host/x86-win32/bin/ccppc -c             -DCPU=PPC604  -DvxWorks -include /cygdrive/c/Tornado2.2/target/h/vxWorks.h  -ansi   -O2   -Wall     -mcpu=604 -mstrict-align -mno-implicit-fp -mlongcall    -fno-builtin  -I. -I../O.Common -I. -I.. -I../../../include/os/vxWorks  -I../../../include       -I/cygdrive/c/Tornado2.2/target/h  ../catime.c
/cygdrive/c/Tornado2.2/host/x86-win32/bin/ccppc -c             -DCPU=PPC604  -DvxWorks -include /cygdrive/c/Tornado2.2/target/h/vxWorks.h  -ansi   -O2   -Wall     -mcpu=604 -mstrict-align -mno-implicit-fp -mlongcall    -fno-builtin  -I. -I../O.Common -I. -I.. -I../../../include/os/vxWorks  -I../../../include       -I/cygdrive/c/Tornado2.2/target/h  ../acctst.c
/cygdrive/c/Tornado2.2/host/x86-win32/bin/ccppc -c             -DCPU=PPC604  -DvxWorks -include /cygdrive/c/Tornado2.2/target/h/vxWorks.h  -ansi   -O2   -Wall     -mcpu=604 -mstrict-align -mno-implicit-fp -mlongcall -fno-implicit-templates   -fno-builtin  -I. -I../O.Common -I. -I.. -I../../../include/os/vxWorks  -I../../../include       -I/cygdrive/c/Tornado2.2/target/h  ../caConnTest.cpp
/cygdrive/c/Tornado2.2/host/x86-win32/bin/ccppc -c             -DCPU=PPC604  -DvxWorks -include /cygdrive/c/Tornado2.2/target/h/vxWorks.h  -ansi   -O2   -Wall     -mcpu=604 -mstrict-align -mno-implicit-fp -mlongcall -fno-implicit-templates   -fno-builtin  -I. -I../O.Common -I. -I.. -I../../../include/os/vxWorks  -I../../../include       -I/cygdrive/c/Tornado2.2/target/h  ../casw.cpp
/cygdrive/c/Tornado2.2/host/x86-win32/bin/ccppc -c             -DCPU=PPC604  -DvxWorks -include /cygdrive/c/Tornado2.2/target/h/vxWorks.h  -ansi   -O2   -Wall     -mcpu=604 -mstrict-align -mno-implicit-fp -mlongcall -fno-implicit-templates   -fno-builtin  -I. -I../O.Common -I. -I.. -I../../../include/os/vxWorks  -I../../
../include       -I/cygdrive/c/Tornado2.2/target/h  ../caEventRate.cpp


make[3]: stat: ../../../lib/vxWorks-ppc604_long/libCom.a: Too many levels of symbolic links


make[3]: *** `libca.a'에서 필요로 하는  타겟 `../../../lib/vxWorks-ppc604_long/libCom.a'를 만들 규칙이 없습니다.  멈춤.
make[3]: Leaving directory `/cygdrive/c/epics/base-3.14.10/src/ca/O.vxWorks-ppc604_long'
../../configure/RULES_ARCHS:60: recipe for target `install.vxWorks-ppc604_long' failed
make[2]: *** [install.vxWorks-ppc604_long] Error 2
make[2]: Leaving directory `/cygdrive/c/epics/base-3.14.10/src/ca'
../configure/RULES_DIRS:65: recipe for target `ca.install' failed
make[1]: *** [ca.install] Error 2
make[1]: Leaving directory `/cygdrive/c/epics/base-3.14.10/src'
configure/RULES_DIRS:65: recipe for target `src.install' failed
make: *** [src.install] Error 2

-----------------------------------------------------------------------------------------------------------------------------------------------------

I checked the folder, "$EPICS_BASE/lib/vxWorks-ppc60_long"

$ ls -al

drwxr-xr-x   1 Administrator  0 Jun 22 21:14 .

drwxr-xr-x   1 Administrator  0 Jun 22 21:14 ..

drwxrwxrwx 1 Administrator  8 Jun 22 21:14 libCom.a  -> libCom.a

The libCom.a was linked to oneself.

I think it is incorrect!!

What is problems?

 

In the same compile environment, the base-3.14.12 has different errors from above errors.

-----------------------------------------------------------------------------------------------------------------------------------------------------

gcc -c  -D_POSIX_THREADS -D_POSIX_TIMERS         -DDEFAULT_SKELETON_FILE=include/flex.skel.static   -DUNIX  -DCYGWIN32     -O3   -w      -m32    -D_DLL   -MMD -I. -I../O.Common -I. -I.. -I../../../../include/os/cygwin32  -I../../../../include        ../sym.c

gcc -c  -D_POSIX_THREADS -D_POSIX_TIMERS         -DDEFAULT_SKELETON_FILE=include/flex.skel.static   -DUNIX  -DCYGWIN32     -O3   -w      -m32    -D_DLL   -MMD -I. -I../O.Common -I. -I.. -I../../../../include/os/cygwin32  -I../../../../include        ../tblcmp.c
rm -f parse.c y.tab.c
rm -f parse.h y.tab.h
../../../../bin/cygwin-x86/antelope.exe -l -d ../parse.y
../../../../configure/RULES_BUILD:229: recipe for target `parse.c' failed
make[4]: *** [parse.c] Error 127
make[4]: Leaving directory `/cygdrive/c/epics/base-3.14.12.2/src/toolsComm/flex/O.cygwin-x86'
../../../configure/RULES_ARCHS:63: recipe for target `install.cygwin-x86' failed
make[3]: *** [install.cygwin-x86] Error 2
make[3]: Leaving directory `/cygdrive/c/epics/base-3.14.12.2/src/toolsComm/flex'
../../configure/RULES_DIRS:70: recipe for target `flex.install' failed
make[2]: *** [flex.install] Error 2
make[2]: Leaving directory `/cygdrive/c/epics/base-3.14.12.2/src/toolsComm'
../configure/RULES_DIRS:70: recipe for target `toolsComm.install' failed
make[1]: *** [toolsComm.install] Error 2
make[1]: Leaving directory `/cygdrive/c/epics/base-3.14.12.2/src'
configure/RULES_DIRS:70: recipe for target `src.install' failed
make: *** [src.install] Error 2
----------------------------------------------------------------------------------------------------------------------------------------------------

 

The base-3.14.9 was successfully compiled.

But i'm not sure because it is not carried out on the baseboard (mv5100).

 

The tool version i use is below.

$ uname.exe  -a
CYGWIN_NT-5.1 ygsong72 1.7.15(0.260/5/3) 2012-05-09 10:25 i686 Cygwin

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-pc-cygwin/4.5.3/lto-wrapper.exe
Target: i686-pc-cygwin
gcc version 4.5.3 (GCC)

 

Please tell me what I did incorrectly?

Thanks in advance.

Young-gi




-----Original Message-----

보낸사람(From) : Andrew Johnson <anj@aps.anl.gov>
받는사람(To) : tech-talk@aps.anl.gov
참조(Cc) : 송영기<ygsong@kaeri.re.kr>
보낸일자(Sent) : 2012-06-22
메일제목(Subject) : Re: Is it possible to create a cross-compile environment using cygwin and vxWorks on Windows XP


Hi,

It should be possible to cross-build for vxWorks from Cygwin, I suspect you 
just need to make some configuration file changes.

On 2012-06-21 송영기 wrote:
> I want to have a target IOC for mvme5100 using cygwin and vxWorks5.5
>  (Tornado2.2) on Windows XP. My base compile produces only cygwin-x86
>  binary and library files, such as $EPISC_BASE/bin/cygwin-x86 and
>  $EPISC_BASE/lib/cygwin-x86. There is no vxWorks-ppc604 binary and library
>  for target board.

> I edited base config files below.
> - configure/CONFIG_SITE
>
>   : CROSS_COMPILER_TARGET_ARCH=vxWorks-ppc604

That name should be CROSS_COMPILER_TARGET_ARCHS, I suspect you just typed it 
wrong in your email though.

I suspect the problem is that the value for CROSS_COMPILER_TARGET_ARCHS that 
you set in CONFIG_SITE gets overridden in the file 
configure/os/CONFIG_SITE.cygwin-x86.Common where it currently gets set to 
empty by default (this is a bug which I will fix).  Try commenting out the 
setting in that file, or moving it there instead, then run 'make' from the top 
directory again.

You might need to change your vxWorks target architecture and use the one 
called vxWorks-ppc604_long instead, since MVME5100 boards have more than 32MB 
of RAM.  You'll know that is the case if you see the error "Relocation value 
does not fit in 24 bits." when the startup script loads the IOC's .munch file.  
There is more information about this issue at
    http://www.aps.anl.gov/epics/base/ppc.php#Relocation

I hope this helps,

- Andrew
-- 
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte


Navigate by Date:
Prev: RE: put callback queuing matthew.pearson
Next: Processing And Visualization of time series data. Mihaylov, Miroslav N.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: RE: put callback queuing matthew.pearson
Next: Processing And Visualization of time series data. Mihaylov, Miroslav N.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·