r241432 - Teach mingw toolchain the msys2 mingw-w64 distribution C++ dirs.

Yaron Keren yaron.keren at gmail.com
Sun Jul 12 06:31:28 PDT 2015


clang does call ld directly and needs to know libs directories. Calling gcc
may solve the link problem but clang would still have to find the include
dirs somehow.
You solved this problem with -isystem
/usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include but there are
additional C++ includes.

The root of the problem is x86_64-w64-mingw32-gcc is in /usr/bin but includes
and libs under /usr/lib64/gcc/x86_64-w64-mingw32/5.1.0. So
x86_64-w64-mingw32-gcc is not in the same subtree as its includes and libs.

Is that standard installation of mingw?
Any idea how clang can find out these /usr/lib64/gcc/x86_64-w64-mingw32/5.1.0
 dirs?
How about using --sysroot=/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0 ?


2015-07-12 16:05 GMT+03:00 İsmail Dönmez <ismail at donmez.ws>:

> Hi,
>
> With the patch same linker problem happens and x86_64-w64-mingw32-gcc
> is in $PATH.
>
>
> On Sun, Jul 12, 2015 at 1:27 PM, Yaron Keren <yaron.keren at gmail.com>
> wrote:
> > Ok, please try the attached patch that looks for $TARGET-gcc before
> looking
> > for gcc.
> >
> >
> > 2015-07-12 9:38 GMT+03:00 İsmail Dönmez <ismail at donmez.ws>:
> >>
> >> Thats /usr/bin/gcc which is not the mingw one, if gcc in PATH being
> >> important then I suggest looking for $TARGET-gcc first which will work
> >> for mingw-w64 case too.
> >>
> >> On Sun, Jul 12, 2015 at 8:09 AM, Yaron Keren <yaron.keren at gmail.com>
> >> wrote:
> >> > What is the output from
> >> >
> >> >> which gcc
> >> >
> >> >
> >> >
> >> > 2015-07-11 13:59 GMT+03:00 İsmail Dönmez <ismail at donmez.ws>:
> >> >>
> >> >> Hi,
> >> >>
> >> >> Not really answering your questions but I think the problem is clang
> >> >> is invoking $TARGET-ld directly, it used to let gcc link so gcc would
> >> >> figure out the linker details. See a run with clang 3.6.1 on same
> >> >> setup:
> >> >>
> >> >> λ /usr/bin/clang -v -target x86_64-w64-mingw32 -isystem
> >> >> /usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include
> >> >> randomworks/windows/nic.c -liphlpapi
> >> >> clang version 3.6.1 (tags/RELEASE_361/final 238133)
> >> >> Target: x86_64-w64-windows-gnu
> >> >> Thread model: posix
> >> >>  "/usr/bin/clang-3.6" -cc1 -triple x86_64-w64-windows-gnu -emit-obj
> >> >> -mrelax-all -disable-free -disable-llvm-verifier -main-file-name
> nic.c
> >> >> -mrelocation-model static -mthread-model posix -mdisable-fp-elim
> >> >> -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables
> >> >> -target-cpu x86-64 -v -dwarf-column-info -resource-dir
> >> >> /usr/bin/../lib64/clang/3.6.1 -isystem
> >> >> /usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include
> >> >> -fdebug-compilation-dir /home/ismail -ferror-limit 19
> -fmessage-length
> >> >> 126 -mstackrealign -fno-use-cxa-atexit -fobjc-runtime=gcc
> >> >> -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/nic-e31eb1.o -x
> >> >> c randomworks/windows/nic.c
> >> >> clang -cc1 version 3.6.1 based upon LLVM 3.6.1 default target
> >> >> x86_64-suse-linux
> >> >> ignoring nonexistent directory
> >> >> "/usr/bin/../lib64/clang/3.6.1/../../../i686-w64-mingw32/include"
> >> >> ignoring nonexistent directory
> >> >> "/usr/bin/../lib64/clang/3.6.1/../../../x86_64-w64-mingw32/include"
> >> >> ignoring nonexistent directory "/mingw/include"
> >> >> ignoring duplicate directory
> >> >> "/usr/bin/../lib64/clang/3.6.1/../../../include"
> >> >> #include "..." search starts here:
> >> >> #include <...> search starts here:
> >> >>  /usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include
> >> >>  /usr/local/include
> >> >>  /usr/bin/../lib64/clang/3.6.1/include
> >> >>  /usr/bin/../lib64/clang/3.6.1/../../../include
> >> >> End of search list.
> >> >>  "/usr/bin/x86_64-w64-mingw32-gcc" -v -isystem
> >> >> /usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include -m64 -o
> >> >> a.exe /tmp/nic-e31eb1.o -liphlpapi
> >> >> Using built-in specs.
> >> >> COLLECT_GCC=/usr/bin/x86_64-w64-mingw32-gcc
> >> >>
> COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/lto-wrapper
> >> >> Target: x86_64-w64-mingw32
> >> >> Configured with: ../configure --prefix=/usr --bindir=/usr/bin
> >> >> --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/lib64
> >> >> --mandir=/usr/share/man --infodir=/usr/share/info
> --datadir=/usr/share
> >> >> --build=x86_64-suse-linux-gnu --host=x86_64-suse-linux-gnu
> >> >> --target=x86_64-w64-mingw32 --with-gnu-as --with-gnu-ld --verbose
> >> >> --without-newlib --disable-multilib --disable-plugin
> >> >> --with-system-zlib --disable-nls --without-included-gettext
> >> >> --disable-win32-registry --enable-version-specific-runtime-libs
> >> >> --with-sysroot=/usr/x86_64-w64-mingw32/sys-root
> >> >> --enable-languages=c,c++,fortran,objc,obj-c++ --without-x
> >> >> --enable-hash-synchronization --enable-fully-dynamic-string
> >> >> --enable-libgomp --enable-linker-build-id
> >> >> Thread model: win32
> >> >> gcc version 5.1.0 (GCC)
> >> >>
> >> >>
> >> >>
> COMPILER_PATH=/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/:/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/:/usr/lib64/gcc/x86_64-w64-mingw32/:/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/:/usr/lib64/gcc/x86_64-w64-mingw32/:/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/
> >> >>
> >> >>
> >> >>
> LIBRARY_PATH=/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/:/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/:/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/:/usr/x86_64-w64-mingw32/sys-root/mingw/lib/
> >> >> COLLECT_GCC_OPTIONS='-v' '-isystem'
> >> >> '/usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include' '-m64'
> >> >> '-o' 'a.exe' '-mtune=generic' '-march=x86-64'
> >> >>  /usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/collect2 -plugin
> >> >> /usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/liblto_plugin.so
> >> >> -plugin-opt=/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/lto-wrapper
> >> >> -plugin-opt=-fresolution=/tmp/ccd7Jm2a.res
> >> >> -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc
> >> >> -plugin-opt=-pass-through=-lgcc_eh
> >> >> -plugin-opt=-pass-through=-lmoldname
> >> >> -plugin-opt=-pass-through=-lmingwex
> -plugin-opt=-pass-through=-lmsvcrt
> >> >> -plugin-opt=-pass-through=-ladvapi32
> >> >> -plugin-opt=-pass-through=-lshell32
> -plugin-opt=-pass-through=-luser32
> >> >> -plugin-opt=-pass-through=-lkernel32
> >> >> -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc
> >> >> -plugin-opt=-pass-through=-lgcc_eh
> >> >> -plugin-opt=-pass-through=-lmoldname
> >> >> -plugin-opt=-pass-through=-lmingwex
> -plugin-opt=-pass-through=-lmsvcrt
> >> >> --sysroot=/usr/x86_64-w64-mingw32/sys-root --build-id -m i386pep
> >> >> -Bdynamic -o a.exe
> >> >> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o
> >> >> /usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/crtbegin.o
> >> >> -L/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0
> >> >>
> >> >>
> >> >>
> -L/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib
> >> >> -L/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib
> >> >>
> >> >>
> >> >>
> -L/usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib
> >> >> -L/usr/x86_64-w64-mingw32/sys-root/mingw/lib /tmp/nic-e31eb1.o
> >> >> -liphlpapi -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt
> >> >> -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh
> >> >> -lmoldname -lmingwex -lmsvcrt
> >> >> /usr/lib64/gcc/x86_64-w64-mingw32/5.1.0/crtend.o
> >> >>
> >> >>
> >> >> On Fri, Jul 10, 2015 at 9:55 PM, Yaron Keren <yaron.keren at gmail.com>
> >> >> wrote:
> >> >> > OK, please help me understand,
> >> >> >
> >> >> > Where are the include directories?
> >> >> > Where are the lib directories?
> >> >> > Is gcc on the path? where?
> >> >> > Should clang have a default hardcoed sysroot location on Linux
> which
> >> >> > is
> >> >> > not
> >> >> > based on clang installed location?
> >> >> >
> >> >> >
> >> >> > 2015-07-10 21:45 GMT+03:00 İsmail Dönmez <ismail at donmez.ws>:
> >> >> >>
> >> >> >> The problem is this exact command line worked since forever and
> only
> >> >> >> recently regressed thats why I report it.
> >> >> >>
> >> >> >> On Fri, Jul 10, 2015 at 9:38 PM, Yaron Keren <
> yaron.keren at gmail.com>
> >> >> >> wrote:
> >> >> >> > clang can locate  /usr/x86_64-w64-mingw32/sys-root if provided
> to
> >> >> >> > the
> >> >> >> > -sysroot option or deduce sysroot automatically if it finds
> >> >> >> > /usr/x86_64-w64-mingw32/sys-root/bin/gcc binary on the path.
> >> >> >> >
> >> >> >> > clang does not deduce the sysroot from the -isystem directory by
> >> >> >> > itself.
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> > 2015-07-10 19:57 GMT+03:00 İsmail Dönmez <ismail at donmez.ws>:
> >> >> >> >>
> >> >> >> >> Anyhow this is not a nice example since it uses Cygwin's ld. A
> >> >> >> >> better
> >> >> >> >> example from Linux side:
> >> >> >> >>
> >> >> >> >> λ clang -v -target x86_64-w64-mingw32 -isystem
> >> >> >> >> /usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include
> >> >> >> >> randomworks/windows/nic.c
> >> >> >> >> clang version 3.7.0 (trunk 241471)
> >> >> >> >> Target: x86_64-w64-windows-gnu
> >> >> >> >> Thread model: posix
> >> >> >> >>  "/opt/clang/bin/clang-3.7" -cc1 -triple x86_64-w64-windows-gnu
> >> >> >> >> -emit-obj -mrelax-all -disable-free -main-file-name nic.c
> >> >> >> >> -mrelocation-model pic -pic-level 2 -mthread-model posix
> >> >> >> >> -fmath-errno
> >> >> >> >> -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu
> >> >> >> >> x86-64
> >> >> >> >> -momit-leaf-frame-pointer -v -dwarf-column-info -resource-dir
> >> >> >> >> /opt/clang/bin/../lib64/clang/3.7.0 -isystem
> >> >> >> >> /usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include
> >> >> >> >> -internal-isystem /opt/clang/bin/../lib64/clang/3.7.0/include
> >> >> >> >> -internal-isystem include -internal-isystem include-fixed
> >> >> >> >> -internal-isystem /usr/mingw32/include -internal-isystem
> >> >> >> >> /usr/include
> >> >> >> >> -fdebug-compilation-dir /home/ismail -ferror-limit 19
> >> >> >> >> -fmessage-length
> >> >> >> >> 126 -mstackrealign -fno-use-cxa-atexit -fobjc-runtime=gcc
> >> >> >> >> -fdiagnostics-show-option -fcolor-diagnostics -o
> >> >> >> >> /tmp/nic-08e945.o
> >> >> >> >> -x
> >> >> >> >> c randomworks/windows/nic.c
> >> >> >> >> clang -cc1 version 3.7.0 based upon LLVM 3.7.0svn default
> target
> >> >> >> >> x86_64-suse-linux
> >> >> >> >> ignoring nonexistent directory "include"
> >> >> >> >> ignoring nonexistent directory "include-fixed"
> >> >> >> >> ignoring nonexistent directory "/usr/mingw32/include"
> >> >> >> >> #include "..." search starts here:
> >> >> >> >> #include <...> search starts here:
> >> >> >> >>  /usr/x86_64-w64-mingw32/sys-root/x86_64-w64-mingw32/include
> >> >> >> >>  /opt/clang/bin/../lib64/clang/3.7.0/include
> >> >> >> >>  /usr/include
> >> >> >> >> End of search list.
> >> >> >> >>  "/usr/bin/x86_64-w64-mingw32-ld" -m i386pep -Bdynamic -o a.exe
> >> >> >> >> crt2.o
> >> >> >> >> crtbegin.o -L -L/usr/lib -L/usr/mingw32/lib /tmp/nic-08e945.o
> >> >> >> >> -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt
> -ladvapi32
> >> >> >> >> -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc
> -lmoldname
> >> >> >> >> -lmingwex -lmsvcrt crtend.o
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find crt2.o: No such
> file
> >> >> >> >> or
> >> >> >> >> directory
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find crtbegin.o: No such
> >> >> >> >> file
> >> >> >> >> or directory
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -ladvapi32
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lshell32
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -luser32
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lkernel32
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
> >> >> >> >> /usr/bin/x86_64-w64-mingw32-ld: cannot find crtend.o: No such
> >> >> >> >> file
> >> >> >> >> or
> >> >> >> >> directory
> >> >> >> >> clang-3.7: error: linker command failed with exit code 1 (use
> -v
> >> >> >> >> to
> >> >> >> >> see invocation)
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> On Fri, Jul 10, 2015 at 7:54 PM, İsmail Dönmez <
> ismail at donmez.ws>
> >> >> >> >> wrote:
> >> >> >> >> > This is without any patches (r241901-win64) and the original
> >> >> >> >> > command
> >> >> >> >> > line is there:
> >> >> >> >> >
> >> >> >> >> > clang -v -target x86_64-w64-mingw32 -isystem
> >> >> >> >> >  C:/mingw-w64-6.0.0/x86_64-w64-mingw32/include -isystem
> >> >> >> >> >  C:/mingw-w64-6.0.0/include/c++/6.0.0 -isystem
> >> >> >> >> >  C:/mingw-w64-6.0.0/include/c++/6.0.0/x86_64-w64-mingw32
> >> >> >> >> >  randomworks/windows/nic.c
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > On Fri, Jul 10, 2015 at 7:51 PM, Yaron Keren
> >> >> >> >> > <yaron.keren at gmail.com>
> >> >> >> >> > wrote:
> >> >> >> >> >> This is with or without any patches? what is the original
> >> >> >> >> >> command
> >> >> >> >> >> line?
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> 2015-07-10 19:30 GMT+03:00 İsmail Dönmez <ismail at donmez.ws
> >:
> >> >> >> >> >>>
> >> >> >> >> >>> Hi,
> >> >> >> >> >>>
> >> >> >> >> >>> I meant to try these but both on cygwin and linux hosts we
> >> >> >> >> >>> have
> >> >> >> >> >>> linking regression that goes like:
> >> >> >> >> >>>
> >> >> >> >> >>> λ clang -v -target x86_64-w64-mingw32 -isystem
> >> >> >> >> >>> C:/mingw-w64-6.0.0/x86_64-w64-mingw32/include -isystem
> >> >> >> >> >>> C:/mingw-w64-6.0.0/include/c++/6.0.0 -isystem
> >> >> >> >> >>> C:/mingw-w64-6.0.0/include/c++/6.0.0/x86_64-w64-mingw32
> >> >> >> >> >>> randomworks/windows/nic.c
> >> >> >> >> >>> clang version 3.7.0 (
> https://github.com/llvm-mirror/clang.git
> >> >> >> >> >>> ca355c9f413a6ca4941e3033e89e5242e29bd802)
> >> >> >> >> >>> Target: x86_64-w64-windows-gnu
> >> >> >> >> >>> Thread model: posix
> >> >> >> >> >>>  "C:\\Program Files\\LLVM\\bin\\clang.exe" -cc1 -triple
> >> >> >> >> >>> x86_64-w64-windows-gnu -emit-obj -mrelax-all -disable-free
> >> >> >> >> >>> -main-file-name nic.c -mrelocation-model pic -pic-level 2
> >> >> >> >> >>> -mthread-model posix -fmath-errno -masm-verbose
> >> >> >> >> >>> -mconstructor-aliases
> >> >> >> >> >>> -munwind-tables -target-cpu x86-64
> -momit-leaf-frame-pointer
> >> >> >> >> >>> -v
> >> >> >> >> >>> -dwarf-column-info -resource-dir "C:\\Program
> >> >> >> >> >>> Files\\LLVM\\bin\\..\\lib\\clang\\3.7.0" -isystem
> >> >> >> >> >>> C:/mingw-w64-6.0.0/x86_64-w64-mingw32/include -isystem
> >> >> >> >> >>> C:/mingw-w64-6.0.0/include/c++/6.0.0 -isystem
> >> >> >> >> >>> C:/mingw-w64-6.0.0/include/c++/6.0.0/x86_64-w64-mingw32
> >> >> >> >> >>> -internal-isystem "C:\\Program
> >> >> >> >> >>> Files\\LLVM\\bin\\..\\lib\\clang\\3.7.0\\include"
> >> >> >> >> >>> -internal-isystem
> >> >> >> >> >>> include -internal-isystem include-fixed -internal-isystem
> >> >> >> >> >>> "C:\\cygwin64\\mingw32\\include" -internal-isystem
> >> >> >> >> >>> "C:\\cygwin64\\include" -std=c11 -fdebug-compilation-dir
> >> >> >> >> >>> "C:\\cygwin64\\home\\ismail" -ferror-limit 19
> >> >> >> >> >>> -fmessage-length 0
> >> >> >> >> >>> -mstackrealign -fno-use-cxa-atexit -fobjc-runtime=gcc
> >> >> >> >> >>> -fdiagnostics-show-option -fcolor-diagnostics
> >> >> >> >> >>> -fansi-escape-codes
> >> >> >> >> >>> -o
> >> >> >> >> >>> "C:\\cygwin64\\tmp\\nic-6bff3b.o" -x c
> >> >> >> >> >>> randomworks/windows/nic.c
> >> >> >> >> >>> clang -cc1 version 3.7.0 based upon LLVM 3.7.0svn default
> >> >> >> >> >>> target
> >> >> >> >> >>> x86_64-pc-windows-msvc
> >> >> >> >> >>> ignoring nonexistent directory "include"
> >> >> >> >> >>> ignoring nonexistent directory "include-fixed"
> >> >> >> >> >>> ignoring nonexistent directory
> "C:\cygwin64\mingw32\include"
> >> >> >> >> >>> ignoring nonexistent directory "C:\cygwin64\include"
> >> >> >> >> >>> #include "..." search starts here:
> >> >> >> >> >>> #include <...> search starts here:
> >> >> >> >> >>>  C:/mingw-w64-6.0.0/x86_64-w64-mingw32/include
> >> >> >> >> >>>  C:/mingw-w64-6.0.0/include/c++/6.0.0
> >> >> >> >> >>>  C:/mingw-w64-6.0.0/include/c++/6.0.0/x86_64-w64-mingw32
> >> >> >> >> >>>  C:\Program Files\LLVM\bin\..\lib\clang\3.7.0\include
> >> >> >> >> >>> End of search list.
> >> >> >> >> >>>  "C:\\cygwin64\\bin\\ld.exe" -m i386pep -Bdynamic -o a.exe
> >> >> >> >> >>> crt2.o
> >> >> >> >> >>> crtbegin.o -L "-LC:\\cygwin64\\lib"
> >> >> >> >> >>> "-LC:\\cygwin64\\mingw32\\lib"
> >> >> >> >> >>> "C:\\cygwin64\\tmp\\nic-6bff3b.o" -lmingw32 -lgcc_s -lgcc
> >> >> >> >> >>> -lmoldname
> >> >> >> >> >>> -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32
> >> >> >> >> >>> -lmingw32
> >> >> >> >> >>> -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt crtend.o
> >> >> >> >> >>> /usr/bin/ld: cannot find crt2.o: No such file or directory
> >> >> >> >> >>> /usr/bin/ld: cannot find crtbegin.o: No such file or
> >> >> >> >> >>> directory
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmingw32
> >> >> >> >> >>> /usr/bin/ld: cannot find -lgcc_s
> >> >> >> >> >>> /usr/bin/ld: cannot find -lgcc
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmoldname
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmingwex
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmsvcrt
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmingw32
> >> >> >> >> >>> /usr/bin/ld: cannot find -lgcc_s
> >> >> >> >> >>> /usr/bin/ld: cannot find -lgcc
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmoldname
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmingwex
> >> >> >> >> >>> /usr/bin/ld: cannot find -lmsvcrt
> >> >> >> >> >>> /usr/bin/ld: cannot find crtend.o: No such file or
> directory
> >> >> >> >> >>> clang.exe: error: linker command failed with exit code 1
> (use
> >> >> >> >> >>> -v
> >> >> >> >> >>> to
> >> >> >> >> >>> see invocation)
> >> >> >> >> >>>
> >> >> >> >> >>> Any ideas? Also reproducible with gcc 5.1.1 on Linux.
> >> >> >> >> >>>
> >> >> >> >> >>>
> >> >> >> >> >>> On Tue, Jul 7, 2015 at 6:19 PM, Yaron Keren
> >> >> >> >> >>> <yaron.keren at gmail.com>
> >> >> >> >> >>> wrote:
> >> >> >> >> >>> > Here is a patch honoring sysroot for ld, let me know if
> it
> >> >> >> >> >>> > works
> >> >> >> >> >>> > for
> >> >> >> >> >>> > you.
> >> >> >> >> >>> >
> >> >> >> >> >>> > 2015-07-07 12:13 GMT+03:00 Yaron Keren
> >> >> >> >> >>> > <yaron.keren at gmail.com>:
> >> >> >> >> >>> >>
> >> >> >> >> >>> >> Hi,  Please see if the attached patch works on opensuse.
> >> >> >> >> >>> >>
> >> >> >> >> >>> >> I'll look at the cygnus ld issue later.
> >> >> >> >> >>> >>
> >> >> >> >> >>> >>
> >> >> >> >> >>> >> 2015-07-07 10:38 GMT+03:00 İsmail Dönmez
> >> >> >> >> >>> >> <ismail at donmez.ws>:
> >> >> >> >> >>> >>>
> >> >> >> >> >>> >>> Hi,
> >> >> >> >> >>> >>>
> >> >> >> >> >>> >>> On Mon, Jul 6, 2015 at 10:40 AM, Yaron Keren
> >> >> >> >> >>> >>> <yaron.keren at gmail.com>
> >> >> >> >> >>> >>> wrote:
> >> >> >> >> >>> >>> > Author: yrnkrn
> >> >> >> >> >>> >>> > Date: Mon Jul  6 02:40:10 2015
> >> >> >> >> >>> >>> > New Revision: 241432
> >> >> >> >> >>> >>> >
> >> >> >> >> >>> >>> > URL:
> >> >> >> >> >>> >>> >
> http://llvm.org/viewvc/llvm-project?rev=241432&view=rev
> >> >> >> >> >>> >>> > Log:
> >> >> >> >> >>> >>> > Teach mingw toolchain the msys2 mingw-w64
> distribution
> >> >> >> >> >>> >>> > C++
> >> >> >> >> >>> >>> > dirs.
> >> >> >> >> >>> >>> >
> >> >> >> >> >>> >>> >
> >> >> >> >> >>> >>> > Modified:
> >> >> >> >> >>> >>> >     cfe/trunk/lib/Driver/MinGWToolChain.cpp
> >> >> >> >> >>> >>> >     cfe/trunk/lib/Driver/ToolChains.h
> >> >> >> >> >>> >>>
> >> >> >> >> >>> >>> I tried this revision on openSUSE MinGW toolchain and
> its
> >> >> >> >> >>> >>> missing
> >> >> >> >> >>> >>> one
> >> >> >> >> >>> >>> include path, which is
> >> >> >> >> >>> >>> $GCC_ROOT/nclude/c++/x86_64-w64-mingw32
> >> >> >> >> >>> >>> which
> >> >> >> >> >>> >>> contains "bits" and "ext" directories. Would you mind
> >> >> >> >> >>> >>> adding
> >> >> >> >> >>> >>> that
> >> >> >> >> >>> >>> to
> >> >> >> >> >>> >>> the list too?
> >> >> >> >> >>> >>>
> >> >> >> >> >>> >>> Thanks!
> >> >> >> >> >>> >>
> >> >> >> >> >>> >>
> >> >> >> >> >>> >
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >
> >> >> >> >
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150712/602dbd95/attachment.html>


More information about the cfe-commits mailing list