[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: Wine's configure script when cross-compiling
From:       Roger Cruz <roger_r_cruz () yahoo ! com>
Date:       2011-10-26 5:33:40
Message-ID: 1319607220.26085.YahooMailNeo () web110315 ! mail ! gq1 ! yahoo ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]




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@kegel.com>
To: wine-devel@winehq.org
Cc: roger_r_cruz@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?


[Attachment #5 (text/html)]

<html><body><div style="color:#000; background-color:#fff; font-family:arial, \
helvetica, sans-serif;font-size:12pt"><br> <div style="font-family: arial, helvetica, \
sans-serif; font-size: 12pt;"><div style="font-family: times new roman, new york, \
times, serif; font-size: 12pt;"><div id="yiv105065018"><div><div \
style="color:#000;background-color:#fff;font-family:arial, helvetica, \
sans-serif;font-size:12pt;"><div><span>Hi \
Dan,</span></div><div><br><span></span></div><div><span>So far that autoconf script \
has been a nightmare.&nbsp; 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().<br></span></div><div><span><br></span></div><div><span>&nbsp;</span><span>I'm \
building under the Android development which uses GCC for cross-compiling for \
ARM.</span> </div><div><span><br>
  </span></div>
<div><span> 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.&nbsp;&nbsp; I get&nbsp; a lot farther now but a \
new error arises, for which I have no clues yet on how to \
fix.</span></div><div><span><br></span></div><div><span><br></span></div><div><span>make[1]: \
Entering directory `/development/rcruz/sandbox/wine-builds/winearm3/dlls/acledit'<br>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&nbsp; \
-D__WINESRC__&nbsp; -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&nbsp; -g -O2&nbsp; -o \
main.o  /home/rcruz/sandbox/wine-dev-branch/dlls/acledit/main.c<br>/home/rcruz/sandbox/wine-builds/wine32-dev/tools/winegcc/winegcc \
-b arm-linux-androideabi&nbsp; \
-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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -o <a target="_blank" \
href="http://acledit.dll.so">acledit.dll.so</a>&nbsp;&nbsp;&nbsp; \
../../libs/port/libwine_port.a&nbsp;&nbsp; \
<br>../../dlls/winecrt0/libwinecrt0.a(dll_entry.o): In function \
`__wine_spec_dll_entry':<br>/home/rcruz/sandbox/wine-dev-branch/dlls/winecrt0/dll_entry.c:42: \
undefined reference to \
`_fini'<br>/home/rcruz/sandbox/wine-dev-branch/dlls/winecrt0/dll_entry.c:37: \
undefined reference to \
`_init'<br>/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<br>/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<br>collect2: ld returned 1 exit \
status<br>winegcc: arm-linux-androideabi-gcc failed<br>make[1]: *** [acledit.dll.so] \
Error 2<br>make[1]: Leaving directory \
`/development/rcruz/sandbox/wine-builds/winearm3/dlls/acledit'<br>&nbsp; \
<br></span></div><div><br><span></span></div><div><span></span></div><div><br></div><div \
style="font-family:arial, helvetica, sans-serif;font-size:12pt;"><div \
style="font-family:times new roman, new york, times, serif;font-size:12pt;"><font \
size="2" face="Arial"><hr size="1"><b><span \
style="font-weight:bold;">From:</span></b> Dan Kegel \
&lt;dank@kegel.com&gt;<br><b><span style="font-weight:bold;">To:</span></b> \
wine-devel@winehq.org<br><b><span style="font-weight:bold;">Cc:</span></b> \
roger_r_cruz@yahoo.com<br><b><span style=" font-weight:bold;">Sent:</span></b> \
Wednesday, October 26, 2011 12:49 AM<br><b><span \
style="font-weight:bold;">Subject:</span></b> re: Wine's configure script when \
cross-compiling<br></font><br> Welcome to the wonderful world of \
autoconf!<br><br>&gt; The code that generates conftest.c does not provide for an \
argument to strerror.&nbsp;  Why doesn't it?&nbsp; And how does the configure script \
succeed when compiling for x86?<br><br>If I recall correctly:<br>Because conftest.c \
doesn't include the .h file that declares strerror(),<br>and C doesn't have typesafe \
linkage, checking for the<br>presence of a function by linking to it with a totally \
bogus call<br>with no arguments should work fine.<br><br>It's not clear why the \
compiler is complaining -<br>did it somehow see a .h file that declared \
strerror()?<br><br>What compiler are you \
using?<br><br><br></div></div></div></div></div><br><br></div></div></div></body></html>






[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic