2012/3/15 Ian Lance Taylor <iant@xxxxxxxxxx>: > niXman <i.nixman@xxxxxxxxx> writes: > >> 2012/3/14 Ian Lance Taylor <iant@xxxxxxxxxx>: >>> When I look at the fourth line of the pastebin link you posted earlier >>> (http://pastebin.com/KiGHVgVQ) I see an invocation of xgcc. I can not >>> see the path used to search for the crt file in that line. The -B and >>> -L options passed to xgcc are not the final search path. The final >>> search path is computed by the gcc driver by applying multilib >>> transformations to the -B and -L options. In order to see the actual >>> search path, you will need to run that exact command with the -v option. >> >> I just now noticed that xgcc is used. >> According to the instructions [1], core-cross-compiler (make all-gcc) >> must be built first, and with its help multilib-crt and gcc (make all) >> is built. How is it possible to determine that xgcc runs/uses >> <sysroot>/bin/i686-w64-mingw32-gcc.exe? > > I very much doubt that it does. However, you can see the exact set of > commands that the xgcc driver runs by using the -v option. > >> After building and >> installation (make all-gcc & make install-gcc) core-cross-compiler, I >> set <sysroot>/bin in PATH. >> >> >>> Thanks. That all looks fine but I now realize that I need something >>> else. The output of: >>> >>> gcc --print-multi-os-directory >> $ i686-w64-mingw32-gcc --print-multi-os-directory >> ../lib >> >> >>> gcc --print-multi-os-directory -m32 >> $ i686-w64-mingw32-gcc --print-multi-os-directory -m32 >> ../lib >> >> >>> gcc --print-multi-os-directory -m64 >> $ i686-w64-mingw32-gcc --print-multi-os-directory -m64 >> ../lib64 > > Thanks, but thinking about it I guess what I really need to know is the > output of those commands using > > /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ > > as that is the compiler that is running. $ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-directory . $ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-directory -m32 . $ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-directory -m64 64 $ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-os-directory ../lib $ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-os-directory -m32 ../lib $ /home/niXman/mingw-build/gcc-4.6.3/./gcc/xgcc -B/home/niXman/mingw-build/gcc-4.6.3/./gcc/ --print-multi-os-directory -m64 ../lib64 > > The question you are asking is basically why that xgcc command did not > find the 64-bit crt file. As a first step, I'm trying to verify that it > is configured to look in the expected directory. That is, that it is > configured such that -m64 causes it to append ../lib64 to the -B and -L > paths that are passed to it. > > Can you confirm that the 64-bit crt file is in one of those directory, > e.g., /home/niXman/mb-0.8/../mingw-x32/i686-w64-mingw32/lib/../lib64 ? Yes. In /home/niXman/mb-0.8/../mingw-x32/i686-w64-mingw32/lib64 > > Ian -- Regards, niXman