On 9/9/2010 19:45, Mario Emmenlauer wrote: >> 2010/9/9 JonY<jo...@users.sourceforge.net>: >>> On 9/9/2010 12:36, Nils Woetzel wrote: >>>>>> cd gcc-4.5.1-build >>>>>> ln -s /mypath/x86_64-w64-mingw32 ./mingw >>>>>> >>>>>> assuming, that you are building/configuring gcc in the folder >>>>>> gcc-4.5.1-build - otherwise whatever path >>>>>> I guess the howto assumes that /mypath is also the configure and >>>>>> build >>>>>> directory, than you do not have that problem, but if your >>>>>> build/configure directory is somewhere totally else, than gcc does >>>>>> not >>>>>> know here to find the mingw folder >>>>>> >>>>>> make and make install runs smoothly afterwards!! >>>>>> >>>>> >>>>> No, the symlink is done after install, you shouldn't be doing any >>>>> symlinks during build time, unless I am misunderstanding something. >>>> >>>> I am not sure, what is right, but this is what the howto says: >>>> http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/branches/releases/v1.0/mingw-w64-doc/howto-build/mingw-w64-howto-build.txt?revision=3506&view=markup >>>> line 230 and following: >>>> 230 Step 3) GCC requires the x86_64-w64-mingw32 directory be mirrored >>>> as a >>>> 231 directory 'mingw' in the same root. So, if using configure >>>> default >>>> 232 /usr/local, type: >>>> 233 ln -s /usr/local/x86_64-w64-mingw32 /usr/local/mingw >>>> 234 or, for sysroot, type: >>>> 235 ln -s /mypath/x86_64-w64-mingw32 /mypath/mingw >>>> 236 >>>> 237 Step 4) Manually create the x86_64-w64-mingw32/lib directory: >>>> 238 mkdir -p /usr/local/x86_64-w64-mingw32/lib >>>> 239 or, for sysroot: >>>> 240 mkdir -p /mypath/x86_64-w64-mingw32/lib >>>> 241 If it already exists and you get an error, ignore it. >>>> 242 >>>> 243 Step 5) Symlink x86_64-w64-mingw32/lib directory as >>>> x86_64-w64-mingw32/lib64: >>>> 244 ln -s /usr/local/x86_64-w64-mingw32/lib >>>> /usr/local/x86_64-w64-mingw32/lib64 >>>> 245 or, for sysroot: >>>> 246 ln -s /mypath/x86_64-w64-mingw32/lib >>>> /mypath/x86_64-w64-mingw32/lib64 >>>> >>> >>> yes, those are the symlinks done after install-gcc target and crt is >>> install. There are no manually created symlinks in the build directory. >>> >>>>>> After make install, the last thing I did was, to make symlinks in >>>>>> sysroot or prefix >>>>>> ln -s /mypath/lib/gcc/x86_64-w64-mingw32/lib32/libgcc_s.a >>>>>> /mypath/x86_64-w64-mingw32/lib32/ >>>>>> and >>>>>> ln -s /mypath/lib/gcc/x86_64-w64-mingw32/lib64/libgcc_s.a >>>>>> /mypath/x86_64-w64-mingw32/lib64/ >>>>>> >>>>>> compiler and linker works (at least -m32, I have not tried the 64bit) >>>>>> >>>>> >>>>> This is a known issue when --enable-runtime-specific-libs is used, >>>>> happens in Linux as well. >>>>> >>>> >>>> I did configure with --enable-runtime-specific-libs so this makes >>>> sense - I was not aware that would be the consequence.. >>>> >>>>>> There are only warnings, but ultimately, the error is: >>>>>> /blue/meilerlab/apps/Linux2/x86_64/mingw-w64/2010.09.07/x86_64-w64-mingw32/bin/ld: >>>>>> cannot find -lmingw32 >>>>>> >>>>>> the same for: >>>>>> -lmingwex, -lmoldname, -lmsvcrt, -luser32, -lkernel32, -ladvapi32, >>>>>> -lshell32 >>>>>> >>>>> >>>>> This does not occur for me. Perhaps you want to try >>>>> --with-build-sysroot. >>>>> >>>> >>>> I tried building binutils and gcc with --with-build-sysroot, and the >>>> stage 2 gcc will fail with that error: >>>> The directory that should contain system headers does not exist: >>>> yes/mingw/include >>>> >>>> so I assume, that I have to specifically pass the sysroot, that I also >>>> passed to --with-build-sysroot=/mypath >>>> >>>> but when I do this for binutils and gcc I get this error: >>>> float.h .. error: #error Corrupt install of gcc's internal headers, or >>>> search order was changed. >>>> >>>> There is something I still do not understand. >>>> >>> >>> I think Kai just fixed this error, but I'm not sure. Kai do you know the >>> nature of this error? >>> >>>>>> The problem is, xgcc does not know about the lib32 mypath - when >>>>>> calling >>>>>> /blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/./gcc/xgcc >>>>>> -m32 --print-search-dirs >>>>>> >>>>>> this is the output >>>>>> libraries: >>>>>> =/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/../lib/gcc/x86_64-w64-mingw32/4.5.1/32/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/../lib/gcc/32/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/../lib/gcc/x86_64-w64-mingw32/4.5.1/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/4.5.1/32/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/../lib/gcc/x86_64-w64-mingw32/4.5.1/../../../../x86_64-w64-mingw32/lib/../lib32/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/..//mingw/lib/x86_64-w64-mingw32/4.5.1/32/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/..//mingw/lib/../lib32/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/../lib/gcc/x86_64-w64-mingw32/4.5.1/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32 >>> /g >>>>> cc-4.5.1/gcc/../lib/gcc/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/../lib/gcc/x86_64-w64-mingw32/4.5.1/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/4.5.1/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/../lib/gcc/x86_64-w64-mingw32/4.5.1/../../../../x86_64-w64-mingw32/lib/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/..//mingw/lib/x86_64-w64-mingw32/4.5.1/:/blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/gcc/..//mingw/lib/ >>>>>> >>>>>> it only list the builddir subfolders of: >>>>>> /blue/meilerlab/apps/Linux2/src/mingw-w64/build/x86_64-w64-mingw32/gcc-4.5.1/ >>>>>> but my sysroot and prefix are both: >>>>>> /blue/meilerlab/apps/Linux2/x86_64/mingw-w64/2010.09.07/ >>>>>> and that is where everything is installed >>>>>> >>>>> >>>>> Thats because uninstalled gcc works by searching directory by relative >>>>> paths. >>>> >>>> I guess I understand that, but how does the uninstalled xgcc know >>>> about the mingw include and lib, lib32, lib64 directory - if it just >>>> searches in the source or build directory? Where does the build >>>> directory have to be relative to the mingw folder? >>>> >>> >>> xgcc is normally called with -B...path, -L and such, so it normally >>> finds its libraries. >>> >>>>> I tried a recent 4.6 gcc build, I didn't need to do this. >>>> >>>> I tried the mingw source distro with gcc and binutils packaged from >>>> 20100907 but I could not get it work. >>>> I guess we will have to wait for answers from other people having >>>> similar problmes building the cross compiler. >>>> >>>> I guess I can give some details on my system: >>>> uname -a >>>> Linux hostname 2.6.18-164.15.1.el5 #1 SMP Wed Mar 17 11:30:06 EDT 2010 >>>> x86_64 x86_64 x86_64 GNU/Linux >>>> on this system I want to compile the cross compiler for mingw-w64 >>>> multilib, and I do not have root rights (It is actually going to be >>>> installed in a network share, so I have to use prefix and >>>> with-sysroot) >>>> >>>> Thanks for your help though and for the good work on the mingw-w64! >>>> Compiling with VisualStudio just takes hours for our project, and with >>>> the gcc cross compiler, we can use distcc and it compiles in 5 >>>> minutes! and links in 1 minute! >>> >>> You could try the auto-builds for linux, but I think you need a fairly >>> recent glibc installed. >>> >> >> Well, for 4.6 the include order had changed and cause by a typo (of >> myself) if failed badly for float.h. This is fixed on our trunk. >> Yeah, binutils HEAD changed for 64-bit windows target. It enables by >> default 32-bit support too. This seems to lead to some issue in our >> crt make. I noticed that yesterday, too. By giving our configure >> explicit the options '--disable-lib32 --enable-lib64' I could solve >> this issue. > > Ok, that could be the indicator. I will try later today. The only thing > that still worries me is that I had originally reported the error months > ago - was binutils changed that long ago? > Either way, I will try. Could this also be added to makebuildroot-test.mk? > > Thanks Kai and JonY, and all the best, > > Mario
I will make makebuildroot-test.mk more explicit with crt configure soon. ------------------------------------------------------------------------------ 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 Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public