On 9/9/2010 04:27, Mario Emmenlauer wrote: > > Hi JonY, > > On 09/07/2010 12:03 PM, JonY wrote: >> On 9/7/2010 15:20, Mario Emmenlauer wrote: >>>> On 9/7/2010 01:34, Mario Emmenlauer wrote: >>>>> On 09/06/2010 04:52 PM, JonY wrote: >>>>>> On 9/6/2010 19:50, Mario Emmenlauer wrote: >>>>>>>> On 9/6/2010 15:52, Mario Emmenlauer wrote: >>>>>>>>> I'm the original author of the issue [0] that Ismail referenced. >>>>>>>>> During >>>>>>>>> the last months since my report, I've repeatedly re-tried numerous >>>>>>>>> times, >>>>>>>>> but failed to build the canadian cross. Actually, back then mostly >>>>>>>>> the >>>>>>>>> same suggestions where given, tried, and failed. As you can see >>>>>>>>> from >>>>>>>>> my >>>>>>>>> post, I've tried the following compile instructions: >>>>>>>>> - makefile: mingw64 svn >>>>>>>>> experimental/buildsystem/makebuildroot-test.mk >>>>>>>>> - makefile: mingw64 svn >>>>>>>>> experimental/buildsystem/makebuildroot.mk >>>>>>>>> - compile instructions from mingw64 sourceforge wiki >>>>>>>>> all with variations of multilib, gcc-versions, ld-versions etc... >>>>>>>>> >>>>>>>>> >>>>>>>>> Would it maybe be a good idea that someone who got the canadian >>>>>>>>> cross >>>>>>>>> running create a working Makefile? There are the excellent >>>>>>>>> Makefiles >>>>>>>>> "makebuildroot-test.mk" and "makebuildroot.mk" (from your project), >>>>>>>>> that >>>>>>>>> both follow the wiki compile instructions (more or less), but both >>>>>>>>> fail >>>>>>>>> in the pre-last step of ld linking. >>>>>>>>> A working Makefile would be a good documentation, reference, and a >>>>>>>>> perfect >>>>>>>>> standard for regression testing. >>>>>>>>> >>>>>>>>> [0] >>>>>>>>> http://www.mail-archive.com/[email protected]/msg00839.html >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> Did you link lib to lib64? And do you have lib32? Native cross-back >>>>>>>> works fine for me. >>>>>>> >>>>>>> As I wrote above, I tried amongst many other things your (unmodified) >>>>>>> makefile "makebuildroot-test.mk", so yes lib was linked to lib64. >>>>>>> >>>>>>> >>>>>>>> Are you talking about a triple cross? I tried >>>>>>>> i686-linux->sparc-linux-mingw64 before, it works fine too. >>>>>>>> >>>>>>>> You might have better chance with makebuildroot-test.mk for canadian >>>>>>>> cross, I've used it for the sparc triple cross. >>>>>>> >>>>>>> Hmm not sure I follow here. Have you a running canadian cross fro >>>>>>> mingw-w64 on Linux? As I wrote above, I have tried the suggested >>>>>>> "makebuildroot-test.mk" for canadian cross, and it fails with the >>>>>>> described error: "make all-target-libgcc", message is: >>>>>>> [cut]/build/root/x86_64-w64-mingw32/bin/ld: skipping >>>>>>> incompatible >>>>>>> \ >>>>>>> [cut]/build/root/mingw/lib/libmingw32.a when searching for >>>>>>> -lmingw32 >>>>>>> >>>>>>> Which revision of the makefile have you tested? >>>>>>> >>>>>> >>>>>> Those are actually warnings, ld will continue to walk through the >>>>>> directories. Can you post the last command and all of its >>>>>> errors/warnings? >>>>> >>>>> You are right, I posted the warnings only, sorry:( The error is that >>>>> ld fails to find a compatible libmingw32. I don't have the log here >>>>> right now, but can produce it if you like? Here a bit more information >>>>> from my original post [0]: >>>>> >>>>> There are more identical errors for other libs like kernel32 and >>>>> msvcrt. >>>>> >>>>> objdump lists the correct format: >>>>> [cut]/build/root/bin/x86_64-w64-mingw32-objdump --archive-headers \ >>>>> [cut]/build/root/x86_64-w64-mingw32/lib/libmingw32.a >>>>> [...] >>>>> lib64_libmingw32_a-tlsmcrt.o: file format pe-x86-64 >>>>> >>>>> Also, ld seems to be valid: >>>>> [cut]/build/root/bin/x86_64-w64-mingw32-ld: supported targets: \ >>>>> pe-x86-64 pei-x86-64 elf64-x86-64 elf64-l1om elf64-little >>>>> elf64-big >>>>> \ >>>>> elf32-little elf32-big srec symbolsrec verilog tekhex binary ihex >>>>> >>>> >>>> I suspect it was scanning for 32bit objects. 32bit support also seems to >>>> be missing in ld. >>>> >>>> Check the makefile if you've enabled multilib options. >>> >>> I have tried it about ten times repeatedly with and without multilib, >>> and every time started from scratch (removing all sources and binaries). >>> I have redirected all output to a logfile and checked that the switches >>> for enabling or disabling multilib where indeed used, so I'm sure there >>> was no error in that part. >>> >>> BTW, I once messed up the multilib switches, then it did not even >>> compile until the second run, it failed in the first bootstrapping >>> of gcc. Now it fails in the second run, final step when it should >>> link gcc. >>> >> >> This is very strange, can you attach the build logs, including the >> command used to invoke the makefile? > > Here is the logfile: > http://data.marssoft.de/makebuildroot-test.mk-log20100907a.txt.lzma > > I used the following changes and/or versions of packages (note esp. the > gcc-4.5.1 and pthreads from 2010-02-28): > > GMP_VERSION ?= 5.0.1 > MPFR_VERSION ?= 3.0.0 > MPC_VERSION ?= 0.8.2 > PPL_VERSION ?= 0.10.2 > CLOOG_VERSION ?= 0.15.9 > MINGW_BRANCH ?= trunk > MINGW_REVISION ?= HEAD > GCC_BRANCH ?= tags/gcc_4_5_1_release > PTHREADS_CVS_CO_ARGS ?= -D 2010-02-28 > MAKE_OPTS ?= -j4 > > The logfile is complete, starting with unpacking the updated source > tree and ending with ld failing to link. Other than the options > shown above I did not modify anything, except for adding the pthreads > checkout revision to the CVS command. > > All the best, > > Mario > >
Something is not right about the logs. GCC was built with --disable-multilib, but the crt is able to build with -m32 passes without errors. CRT also wasn't configured with --enable-lib32, but builds it anyway. It should only build if configured explicitly. And finally ld could not understand its own libraries. I assume you are using binutils from CVS, since that 32bit target is enabled automatically even without specifying --enable-targets. I honestly do not know what is going on. Try doing ENABLE_MULTILIB=Y for the makefile. ------------------------------------------------------------------------------ This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
