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

Reply via email to