This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Trouble with building multilib GCC (MinGW)


niXman <i.nixman@gmail.com> writes:

> 2012/3/14 Ian Lance Taylor <iant@google.com>:
>> 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.

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 ?

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]