Going the WSL2 route (I am not all that familiar with WSL) or a Linux emulation may be the way to go, indeed, but your remark triggered me to do a bit of searching: there is some discussion about the secure_getenv() function wrt Cygwin but there actually is a prototype for it in Cygwin's stdlib.h. It is protected by a symbol __GNU_VISIBLE. I will try to define that and see what happens.
Regards, Arjen Op vr 20 aug. 2021 om 14:31 schreef Richard Biener < richard.guent...@gmail.com>: > On Fri, Aug 20, 2021 at 12:55 PM Arjen Markus <arjen.markus...@gmail.com> > wrote: > > > > Okay, that solved that error, now I get: > > > > .... -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2 > -fdiagnostics-show-location=once -ffunction-sections -fdata-sections > -frandom-seed=fs_ops.lo -fimplicit-templates -g -O2 -c > ../../../../../../libstdc++-v3/src/c++17/fs_ops.cc -o fs_ops.o > > In file included from > ../../../../../../libstdc++-v3/src/c++17/fs_ops.cc:58: > > ../../../../../../libstdc++-v3/src/c++17/../filesystem/ops-common.h: In > function 'const char* > std::filesystem::get_temp_directory_from_env(std::error_code&)': > > > ../../../../../../libstdc++-v3/src/c++17/../filesystem/ops-common.h:601:25: > error: '::secure_getenv' has not been declared > > 601 | auto tmpdir = ::secure_getenv(env); > > | ^~~~~~~~~~~~~ > > > > and there is a weird subdirectory under the build directory: gccd: - > the colon cannot be part of a directory name under Windows. I guess this is > my mistake, as I set the install directory to "d:/gfortran/work" - that > should become "/cygdrive/d/gfortran/work". Easily fixed, but I do not know > what to do about the first error. > > Possibly secure_getenv is not available in cygwin and for some reason > AC_CHECK_FUNCS (secure_getenv) as done by > libstdc++ configury misdetects it and/or the use site has a different > set of includes. Jonathan might know. > > Note using cygwin (or mingw for that) might make GCC development more > painful than necessary. It might be > that using a WSL2 based setup is easier if you're stuck to a Windows > host. Using Linux in a virtual machine > might be another option of course. > > Richard. > > > Regards, > > > > Arjen > > > > Op vr 20 aug. 2021 om 12:10 schreef Arjen Markus < > arjen.markus...@gmail.com>: > >> > >> > >> > >> Op vr 20 aug. 2021 om 11:54 schreef Richard Biener: > >>> > >>> > >>> > >>> The easiest is probably to build them in-tree by means of > >>> executing ./contrib/download_prerequesites which will download > >>> and unpack them into your source tree. > >>> > >> > >> Well, I do have the libraries (source and all) and I copied the built > libraries (that is the content of mpfr/,libs and mpc/.libs to the locations > that are referred to in the link statement, so I assumed that would enable > the linker to find them. > >> > >>> Other than that you are likely either missing some of the requirements > >>> or lack the appropriate --with-{gmp,mpc,mpfr}[-lib] configury. > >>> > >> > >> The odd thing is that the link statement as presented in the command > window knows where to find the libraries. Here is the (hopefully) relevant > part: > >> > >> g++ -std=c++11 -no-pie -g -DIN_GCC -fno-exceptions -fno-rtti > -fasynchronous-unwind-tables -W -Wall > >> (...) ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a > -L/cygdrive/d/gfortran/gcc/build-gcc/./gmp/.libs > -L/cygdrive/d/gfortran/gcc/build-gcc/./mpfr/src/.libs > -L/cygdrive/d/gfortran/gcc/build-gcc/./mpc/src/.libs -lmpc -lmpfr -lgmp > -L./../zlib -lz libcommon.a ../libcpp/libcpp.a -liconv > ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a > ../libdecnumber/libdecnumber.a > >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lmpc > >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lmpc > >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lmpfr > >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lmpfr > >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lmpc > >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lmpfr > >> > >> > >>> What host operating system are you using? > >>> > >> Cygwin on Windows 10 > >> > >> Oops, now that I copied the relevant bit of the link command, I see > what I did wrong: the libraries are under mpfr/./libs, not mpfr/src/.libs > (and ditto for mpc). > >> > >> Okay, trying again! > >> > >> Thanks for the reply. This ought to do it. > >> > >> Regards, > >> > >> Arjen >