Wine's configure script when cross-compiling

Roger Cruz roger_r_cruz at yahoo.com
Wed Oct 26 00:33:40 CDT 2011



Hi Dan,

So far that autoconf script has been a nightmare.  It doesn't include string.h (where strerror.h is defined) directly BUT I did include unistd.h in order to get autoconf to find getpagesize().


 I'm building under the Android development which uses GCC for cross-compiling for ARM. 

I decided to continue making progress on my project by taking autoconf's output (config.h) and hand tweaking the #define HAVE_xxx functions that I know the cross-compile environment provide.   I get  a lot farther now but a new error arises, for which I have no clues yet on how to fix.


make[1]: Entering directory `/development/rcruz/sandbox/wine-builds/winearm3/dlls/acledit'
arm-linux-androideabi-gcc -c -I/home/rcruz/sandbox/wine-dev-branch/dlls/acledit -I. -I/home/rcruz/sandbox/wine-dev-branch/include -I../../include  -D__WINESRC__  -D_REENTRANT -fPIC -Wall -pipe -fno-strength-reduce -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -Wlogical-op  -g -O2  -o main.o
 /home/rcruz/sandbox/wine-dev-branch/dlls/acledit/main.c
/home/rcruz/sandbox/wine-builds/wine32-dev/tools/winegcc/winegcc -b arm-linux-androideabi  -B/home/rcruz/sandbox/wine-builds/wine32-dev/tools/winebuild --sysroot=../.. -fasynchronous-unwind-tables -shared /home/rcruz/sandbox/wine-dev-branch/dlls/acledit/acledit.spec main.o          -o acledit.dll.so    ../../libs/port/libwine_port.a   
../../dlls/winecrt0/libwinecrt0.a(dll_entry.o): In function `__wine_spec_dll_entry':
/home/rcruz/sandbox/wine-dev-branch/dlls/winecrt0/dll_entry.c:42: undefined reference to `_fini'
/home/rcruz/sandbox/wine-dev-branch/dlls/winecrt0/dll_entry.c:37: undefined reference to `_init'
/home/rcruz/sandbox/tools/toolchain9/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: acledit.dll.so: hidden symbol `_init' isn't
 defined
/home/rcruz/sandbox/tools/toolchain9/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
winegcc: arm-linux-androideabi-gcc failed
make[1]: *** [acledit.dll.so] Error 2
make[1]: Leaving directory `/development/rcruz/sandbox/wine-builds/winearm3/dlls/acledit'
  




________________________________
From: Dan Kegel <dank at kegel.com>
To: wine-devel at winehq.org
Cc: roger_r_cruz at yahoo.com
Sent: Wednesday, October 26, 2011 12:49 AM
Subject: re: Wine's configure script when cross-compiling

Welcome to the wonderful world of autoconf!

> The code that generates conftest.c does not provide for an argument to strerror.   Why doesn't it?  And how does the configure script succeed when compiling for x86?

If I recall correctly:
Because conftest.c doesn't include the .h file that declares strerror(),
and C doesn't have typesafe linkage, checking for the
presence of a function by linking to it with a totally bogus call
with no arguments should work fine.

It's not clear why the compiler is complaining -
did it somehow see a .h file that declared strerror()?

What compiler are you using?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20111025/6dadaff0/attachment-0001.html>


More information about the wine-devel mailing list