Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3AA414EB.86A3FDD0@dot21rts.com> Date: Mon, 05 Mar 2001 17:36:27 -0500 From: Andy Helten X-Mailer: Mozilla 4.75 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: "cygwin AT cygwin DOT com" Subject: VxWorks' GNU cross-compiler in the Cygwin environment Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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