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
>

Reply via email to