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 ------------------------------------------------------------------------------ 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
