Closed starg2 closed 1 year ago
merged, thank you!
@starg2 should we change the .yml
file for ucrt
builds too?
Simply adding ucrt to the build matrix won't work.
We first need to build a msvcrt-to-ucrt cross toolchain and use that to build ucrt-only toolchains.
There are several ways to achieve the same thing. If I were you, I would:
working on the first point.
hmm...
faced with the following error on winpthreads build stage:
*** Warning: linker path does not have real file for library -lucrtbase.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libucrtbase and none of the candidates passed a file format test
*** using a file magic. Last file checked: C:/msys64/home/nixman/mingw-builds/toolchains/mingw64/x86_64-w64-mingw32/lib/libucrtbase.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
libtool: link: ar cru .libs/libwinpthread.a src/libwinpthread_la-barrier.o src/libwinpthread_la-cond.o src/libwinpthread_la-misc.o src/libwinpthread_la-mutex.o src/libwinpthread_la-rwlock.o src/libwinpthread_la-spinlock.o src/libwinpthread_la-thread.o src/libwinpthread_la-ref.o src/libwinpthread_la-sem.o src/libwinpthread_la-sched.o src/libwinpthread_la-clock.o src/libwinpthread_la-nanosleep.o src/version.o
libtool: link: ranlib .libs/libwinpthread.a
libtool: link: ( cd ".libs" && rm -f "libwinpthread.la" && cp -pR "../libwinpthread.la" "libwinpthread.la" )
rm -f libpthread.a
rm -f libpthread.dll.a
cp -f .libs/libwinpthread.a libpthread.a
cp -f .libs/libwinpthread.dll.a libpthread.dll.a
ranlib libpthread.a
cp: cannot stat '.libs/libwinpthread.dll.a': No such file or directory
make[2]: *** [Makefile:610: libpthread.dll.a] Error 1
for the -lucrtbase
I think the linker expects the libucrtbase
file name, but it doesn't exist on the OS.
instead there is c:/windows/system32/ucrtbase.dll
file.
im unsure how should I fix such an error...
@starg2 any ideas?
hmm... very strange because the libucrtbase.a
also present on the host toolchain...
C:/msys64/home/nixman/mingw-builds/toolchains/mingw64/x86_64-w64-mingw32/lib/libucrtbase.a
What is the command line options?
I have never encountered such an error.
Also, I don't think passing -lucrtbase
is a good idea.
What is the command line options?
./build --mode=gcc-12.2.0 --arch=x86_64 --buildroot=/c/mingw-build/temp.ucrt64 --exceptions=seh --rt-version=v10 --threads=win32 --enable-languages=c,c++ --with-default-msvcrt=ucrt --no-gcc-lto --no-bootstrap --no-extras
I have never encountered such an error.
me too.
Also, I don't think passing -lucrtbase is a good idea.
it's not me, I think it comes from winptreads
s configure script...
ahh, it comes from here: https://github.com/niXman/mingw-builds/blob/develop/scripts/winpthreads.sh#L74
hmm... when that line is commented out - it built successfully.
explicit linking with libucrtbase.a
was removed: https://github.com/niXman/mingw-builds/commit/e10bcac69cf12ec51c5747d2415f76e9ebf1c100
so, I have successfully built the following builds locally: gcc-12.2.0, i686/x86_64, seh/dwarf, win32/posix.
In preparation for niXman/mingw-builds-binaries#29.