This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

VxWorks' GNU cross-compiler in the Cygwin environment


Hello,

I recently (two weeks ago) downloaded and installed the
Cygwin tools on my Windows98 laptop.  I have been attempting
to use the autoconf tools to setup for a cross compile to
VxWorks using the VxWorks/GNU compiler with version output:

AMHPC {bin}> c++ppc --version
cygnus-2.7.2-960126 egcs-971225 tornado 2.0

If you are familiar (and I'm sure you are) with autoconf,
you will know that it generates a shell script called
'configure' that must be run before building the package.
My problem is that the 'configure' script fails during the
C++ compiler test.  It fails with an indication that the
"C++ compiler cannot create executables" and then exits the
'configure' script with a failure status.  After digging
into it, I discovered some very troubling things were
occurring.  First I found that the executable WAS being
generated by the cross-compiler and (in some cases) it was
still there after the configure script failed.  Second,
using the 'config.log' output, I found the line that was
failing:

if { (eval echo configure:1207: \"$ac_link\") 1>&5; (eval
$ac_link) 2>&5; } && test -s conftest${ac_exeext}; then

As it turns out, it is failing the 'test -s' for the
executable, 'conftest'.  After noticing that 'conftest' was
in fact being correctly generated, I changed the above line
in 'configure' to this:

if { (eval echo configure:1207: \"$ac_link\") 1>&5; (eval
$ac_link) 2>&5; } && sleep 1 && test -s
conftest${ac_exeext}; then

Notice the 'sleep 1' before the 'test -s'.  This made the
configure script work, that is, the 'test -s' succeeded and
the configure script went on to finish successfully.  So it
seems somehow the cross-compiler is completing successfully
and the 'test -s' is executing before the output of the
cross-compiler is available for the 'test -s' !?!?!

I do not have this problem running the configure script for
targets other than VxWorks, so I assume the problem is with
the interaction between the Cygwin tools and the non-Cygwin
(VxWorks) cross-compiler.  I have produced this same problem
with the latest (last week) Cygwin tools and Windows 2k.  I
have had similar problems (with dependency files) during
cross-compilation while using the VxWorks cross-compiler
from within the Cygwin environment.  Also, I noticed that
VxWorks supplies a Cygwin DLL, in this case 'cygwinb19.dll'.

The output of running the 'configure' script, an 'll' of
'conftest', and a dump of config.log are provided below.  I
would appreciate any help on this.

Thanks,
Andy



AMHPC {new_mom}> mkdir mv5100;cd mv5100
AMHPC {mv5100}> ../configure --target=ppc-vxworks
creating cache ./config.cache
checking host system type... i586-pc-cygwin
checking target system type... powerpc-wrs-vxworks
checking build system type... i586-pc-cygwin
checking for a BSD compatible install... /bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for munch.bat...
/tornado/host/x86-win32/bin/munch.bat
checking for arppc... /tornado/host/x86-win32/bin/arppc
checking for c++ppc... /tornado/host/x86-win32/bin/c++ppc
checking for ranlibppc...
/tornado/host/x86-win32/bin/ranlibppc

using the default define............. CPU=PPC604
using the default define............. BOARD_TYPE=0x5100

checking for c++... /tornado/host/x86-win32/bin/c++ppc
checking whether the C++ compiler
(/tornado/host/x86-win32/bin/c++ppc  -O -nostdinc -mlongcall
-fno-builtin -ansi -fvolatile -fno-builtin -fno-for-scope
-nostdlib -r) works... no
configure: error: installation or configuration problem: C++
compiler cannot create executables.



AMHPC {mv5100}> ll
total 2
-rw-r--r--   1 ahelten  544           112 Mar  5 16:38
confdefs.h
-rw-r--r--   1 ahelten  544             0 Mar  5 16:37
config.cache
-rw-r--r--   1 ahelten  544          1415 Mar  5 16:38
config.log
-rw-r--r--   1 ahelten  544           700 Mar  5 16:38
conftest



AMHPC {mv5100}> file conftest
conftest: ELF 32-bit MSB relocatable, PowerPC or cisco 4500,
version 1, not stripped



AMHPC {mv5100}> cat config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a
mistake.

configure:591: checking host system type
configure:612: checking target system type
configure:630: checking build system type
configure:664: checking for a BSD compatible install
configure:717: checking whether build environment is sane
configure:774: checking whether make sets ${MAKE}
configure:820: checking for working aclocal
configure:833: checking for working autoconf
configure:846: checking for working automake
configure:859: checking for working autoheader
configure:872: checking for working makeinfo
configure:895: checking for munch.bat
configure:964: checking for arppc
configure:999: checking for c++ppc
configure:1034: checking for ranlibppc
configure:1159: checking for c++
configure:1191: checking whether the C++ compiler
(/tornado/host/x86-win32/bin/c++ppc  -O -nostdinc -mlongcall
-fno-builtin -ansi -fvolatile -fno-builtin -fno-for-scope
-nostdlib -r) works
configure:1207: /tornado/host/x86-win32/bin/c++ppc -o
conftest -O -nostdinc -mlongcall -fno-builtin -ansi
-fvolatile -fno-builtin -fno-for-scope -I.
-I/tornado/target/h -I/tornado/target/config/mv5100
-I/tornado/target/config/all -DRW_MULTI_THREAD -D_REENTRANT
-D_VXWORKS  -nostdlib -r conftest.C  1>&5
configure: failed program was:

#line 1202 "configure"
#include "confdefs.h"

int main(){return(0);}


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]