New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: Use highspy
in linprog
#19255
ENH: Use highspy
in linprog
#19255
Conversation
Also @mckib2 if you'd like to take a look that'd be great (or maybe after its out of draft status). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's here looks good - lots of complexity gets removed. Hard to say more because an essential bit - actually building highspy
as part of the SciPy build - seems to be missing.
abe6bac
to
68b5bdf
Compare
This is almost done, except the build process on the SciPy CI is stricter than over at HiGHs (w.r.t warnings) so some more work is required. |
You can silence classes of warnings by adding defining them (if they're not already present) here: Lines 287 to 300 in 21dcad2
and then adding them to |
It'd still be nice to get them fixed upstream, but that shouldn't be blocking for finalizing this PR. |
d855fa0
to
b3f3cc2
Compare
Thanks that helped, but I'm not sure of the best approach for the rest, it seems like using a shared library ends up with (expected) lookup errors, but the static library fails the wheel build. In both cases there's a too many public symbols error. ../build/subprojects/highs/highspy/_highs_options.cpython-310-x86_64-linux-gnu.so: too many public symbols!
000000000000d980 T PyInit__highs_options
0000000000031570 T _Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi
0000000000031240 T _Z10strToLowerPc
000000000002df90 T _Z11checkOptionRK15HighsLogOptionsRK15OptionRecordInt
000000000002e050 T _Z11checkOptionRK15HighsLogOptionsRK18OptionRecordDouble
000000000002cca0 T _Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz
000000000002e130 T _Z12checkOptionsRK15HighsLogOptionsRKSt6vectorIP12OptionRecordSaIS4_EE
000000000002c8f0 T _Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz
0000000000030290 T _Z12reportOptionP8_IO_FILERK15OptionRecordIntb13HighsFileType
000000000002fe00 T _Z12reportOptionP8_IO_FILERK16OptionRecordBoolb13HighsFileType
00000000000[30](https://github.com/scipy/scipy/actions/runs/6372457292/job/17295259302?pr=19255#step:11:31)660 T _Z12reportOptionP8_IO_FILERK18OptionRecordDoubleb13HighsFileType
0000000000030a90 T _Z12reportOptionP8_IO_FILERK18OptionRecordStringb13HighsFileType
0000000000030e90 T _Z13reportOptionsP8_IO_FILERKSt6vectorIP12OptionRecordSaIS3_EEb13HighsFileType
000000000002dc40 T _Z14boolFromStringNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb
00000000000[31](https://github.com/scipy/scipy/actions/runs/6372457292/job/17295259302?pr=19255#step:11:32)4b0 T _Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi
000000000002dd40 T
... What is the best approach to dealing with libraries which (ideally) should be installed by the user? OR, I'm missing something about the way the static library should be linked, since other sub-libraries are linked statically ( |
The current version seems quite close to ready, modulo the use of a wrap file (I assume that's for convenience during development, and it'll change to a git submodule at the end) and this error:
The static library linking looks fine here, the only problem is that the
To make that the default behavior, add this to [tool.meson-python.args]
install = ['--skip-subprojects'] |
Note that that feature does require Meson 1.2.0, so you should bump the minimum version in the top-level |
Thanks @rgommers, I'll get to updating this in a few days but:
I was thinking we ought to keep it as a submodule? It should change to point to the Scipy/Highs instead of my own but other than that it would make more sense to keep the meson-first subproject approach. The only issue I can think of is that the The way the build is structured now, the subproject defines all the necessary variables (including the files needed), which means we would very rarely need to update the Perhaps @eli-schwartz has more comments on submodules v/s subprojects? |
Using it as a subproject is very much preferable. You get component isolation: it's not SciPy's job to be concerned about how highs gets built, you just want to automatically use whatever the highs subproject does to define its static-library artifact(s), and then you consume them. This also unlocks the ability to switch from: highs_proj = subproject('highs', ...... to highs_proj = dependency('highs') along with specifying in SciPy, This would allow downstream builders (especially linux distros) the option to build highs as an external package and then build SciPy against that. But people doing |
That all sounds right - I didn't mean a git submodule instead of a subproject. Rather, I meant that I'm missing a git submodule under
Yes, that is what I had in mind as well. |
Whether to use subprojects via a wrap file or a git submodule (or both at the same time!) is largely unimportant as far as meson is concerned. The main thing that strikes me about the topic is that git submodules tend to be larger to download than a tarball, and, if you create "light" sdists that only download the subprojects with an online build when the person building the wheel hasn't disabled the use of subprojects, the tarball version works without git installed, while the submodule requires installing git. I think both options are defensible choices, but adding a meson subproject as a git submodule will probably be more pleasant for you if you expect most people to interact with the source code via git using long-running clones, distribute sdists with subprojects included, and don't support GitHub autogenerated tag tarballs at all... ... which are all qualities that SciPy has. |
Thanks, that explains it. Then I had the right thing in mind:
The wrap file is indeed nicer now, when you're developing this PR while making fixes to HiGHS as well. And once it's done, you can swap the wrap file for a git submodule under |
703fc8e
to
76e3fb7
Compare
Failures seem unrelated ( |
Any update from the highs side? 1.14 is going to come around pretty soon, it would be good not to let this slip that release. |
AFAIK this isn't waiting on HiGHs, and should be ready for review.
…On 4/16/24 11:48 PM, h-vetinari ***@***.***> wrote:
Any update from the highs side? 1.14 is going to come around pretty
soon, it would be good not to let this slip that release.
—
Reply to this email directly, view it on GitHub
<#19255 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABBCUTYASTF6SQ6JSVYPGI3Y5W2FXAVCNFSM6AAAAAA437DDQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRQGA4DEMJTGY>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Really? I interpreted
as requiring us to wait on the 1.7.1 release, which hasn't happened yet AFAICT. |
I don't know what methods in 'highspy' are used by Scipy, but it is unlikely to be affected by the issues I mentioned |
This makes the build more balanced, since HiGHS takes a long time to build and finishes last otherwise.
Why does this matter? Are you just causing the generated targets to textually move around inside build.ninja to tickle the job scheduler into running some targets before others when you know they take a long time? Seems unreliable :p note that ninja schedules jobs based on the pointer value of its internal data structure, and the first job to run depends on the specifics of how If it works, it... works? I wouldn't pin my hopes on it though. |
Benchmark failure:
|
Exactly, yes. I don't think it's unreliable? If you have a bunch of Lines 527 to 559 in bd60b4e
|
I think the answer is "the comment is correct, that is indeed what ninja does, but you're depending on undocumented internals". Samurai, the c99 reimplementation of ninja used by e.g. Alpine Linux, uses a stack which means "last scheduled first executed", breaking your assumption. Admittedly, samurai also doesn't yet implement Fortran dyndeps, so you'd be well within your rights to not care in the slightest. |
Thanks for the context @eli-schwartz, that is good to know. I'll see about checking how things look with Samurai too, to ensure it's not completely terrible. I think all our CI and >95% of users use |
I checked the benchmark locally, it didn't change. It's just very slow and close to the timeout limit it looks like. On this branch:
On
|
This was no slower after the update to HiGHS (verified locally) in PR 19255. However it takes very long to run and was already near the limit for CircleCI. The tracking issue for this already existed as well: scipy#19389 [skip actions] [skip cirrus]
Okay this benchmark is just way too slow and there is already an issue for it: gh-19389. Disabling it now, because it takes over a minute to run for that single benchmark locally as well. |
Hmm, this does add almost 0.5 MB to the wheel size: 24.96 MB to 25.42 MB on Linux x86-64. Probably due to upgrading HiGHS by 3 minor releases and it grew, but I'd like to look a bit closer at that since we're trying hard to shrink the binary sizes. EDIT: a decent fraction of this seems to be symbol visibility; using |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, time to give this a go! LGTM now, we'll only learn more by wider testing. Thanks a lot @HaoZeke, and thanks to all reviewers as well.
Thanks @HaoZeke @rgommers @h-vetinari! Is scipy/HiGHS at the commit we want it to be at (and does SciPy point to the right commit)? There were some bug reports that were fixed upstream; it would be good to make sure they're resolved here. |
Also, with this commit I'm getting an error:
Log: Build started at 2024-04-25T17:48:38.436310
Main binary: C:\Users\matth\miniforge3\envs\scipy-dev\python.exe
Build Options: -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md '--native-file=C:\Users\matth\scipy\build\cp311\meson-python-native-file.ini'
Python system: Windows
The Meson build system
Version: 1.3.0
Source dir: C:\Users\matth\scipy
Build dir: C:\Users\matth\scipy\build\cp311
Build type: native build
Project name: scipy
Project version: 1.14.0.dev0
-----------
Detecting compiler via: `icl ""` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `cl /?` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `cc --version` -> 0
stdout:
cc (Built by Jeroen for the R-project) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: cc -E -dM -
-----
-----------
Detecting linker via: `cc -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.36.1
Copyright (C) 2021 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 10.3.0
C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe -plugin C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/liblto_plugin-0.dll -plugin-opt=C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\matth\AppData\Local\Temp\ccsm11fQ.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -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=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtbegin.o -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0 -LC:/rtools40/ucrt64/bin/../lib/gcc -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../.. --version -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtend.o
-----------
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: C:\Users\matth\scipy\build\cp311\meson-private\sanitycheckc.exe
C compiler for the host machine: cc (gcc 10.3.0 "cc (Built by Jeroen for the R-project) 10.3.0")
C linker for the host machine: cc ld.bfd 2.36.1
-----------
Detecting linker via: `gcc-ar --version` -> 0
stdout:
GNU ar (GNU Binutils) 2.36.1
Copyright (C) 2021 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
-----------
-----------
Detecting compiler via: `icl ""` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `cl /?` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `c++ --version` -> 0
stdout:
c++ (Built by Jeroen for the R-project) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: c++ -E -dM -
-----
-----------
Detecting linker via: `c++ -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.36.1
Copyright (C) 2021 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 10.3.0
C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe -plugin C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/liblto_plugin-0.dll -plugin-opt=C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\matth\AppData\Local\Temp\ccflM3ts.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -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=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtbegin.o -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0 -LC:/rtools40/ucrt64/bin/../lib/gcc -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../.. --version -lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtend.o
-----------
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ sanitycheckcpp.cc -o sanitycheckcpp.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: C:\Users\matth\scipy\build\cp311\meson-private\sanitycheckcpp.exe
C++ compiler for the host machine: c++ (gcc 10.3.0 "c++ (Built by Jeroen for the R-project) 10.3.0")
C++ linker for the host machine: c++ ld.bfd 2.36.1
-----------
Detecting compiler via: `cython -V` -> 0
stdout:
Cython version 3.0.9
-----------
Running compile:
Working directory: C:\Users\matth\AppData\Local\Temp\tmpdigvhpum
Code:
print("hello world")
-----------
Command line: `cython C:\Users\matth\AppData\Local\Temp\tmpdigvhpum\testfile.pyx -o C:\Users\matth\AppData\Local\Temp\tmpdigvhpum\output.exe --fast-fail` -> 0
stderr:
C:\Users\matth\miniforge3\envs\scipy-dev\Lib\site-packages\Cython\Compiler\Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: C:\Users\matth\AppData\Local\Temp\tmpdigvhpum\testfile.pyx
tree = Parsing.p_module(s, pxd, full_module_name)
-----------
Cython compiler for the host machine: cython (cython 3.0.9)
-----------
Detecting compiler via: `icl ""` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `cl /?` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `cc --version` -> 0
stdout:
cc (Built by Jeroen for the R-project) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: cc -E -dM -
-----
-----------
Detecting linker via: `cc -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.36.1
Copyright (C) 2021 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 10.3.0
C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe -plugin C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/liblto_plugin-0.dll -plugin-opt=C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\matth\AppData\Local\Temp\cca2ILRK.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -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=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtbegin.o -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0 -LC:/rtools40/ucrt64/bin/../lib/gcc -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../.. --version -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtend.o
-----------
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc sanitycheckc.c -o sanitycheckc.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: C:\Users\matth\scipy\build\cp311\meson-private\sanitycheckc.exe
C compiler for the build machine: cc (gcc 10.3.0 "cc (Built by Jeroen for the R-project) 10.3.0")
C linker for the build machine: cc ld.bfd 2.36.1
-----------
Detecting linker via: `gcc-ar --version` -> 0
stdout:
GNU ar (GNU Binutils) 2.36.1
Copyright (C) 2021 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
-----------
-----------
Detecting compiler via: `icl ""` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `cl /?` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `c++ --version` -> 0
stdout:
c++ (Built by Jeroen for the R-project) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: c++ -E -dM -
-----
-----------
Detecting linker via: `c++ -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.36.1
Copyright (C) 2021 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 10.3.0
C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe -plugin C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/liblto_plugin-0.dll -plugin-opt=C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\matth\AppData\Local\Temp\cc5Cv7Nt.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -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=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtbegin.o -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0 -LC:/rtools40/ucrt64/bin/../lib/gcc -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../.. --version -lstdc++ -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtend.o
-----------
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ sanitycheckcpp.cc -o sanitycheckcpp.exe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: C:\Users\matth\scipy\build\cp311\meson-private\sanitycheckcpp.exe
C++ compiler for the build machine: c++ (gcc 10.3.0 "c++ (Built by Jeroen for the R-project) 10.3.0")
C++ linker for the build machine: c++ ld.bfd 2.36.1
-----------
Detecting compiler via: `cython -V` -> 0
stdout:
Cython version 3.0.9
-----------
Using cached compile:
Cached command line: cython C:\Users\matth\AppData\Local\Temp\tmpdigvhpum\testfile.pyx -o C:\Users\matth\AppData\Local\Temp\tmpdigvhpum\output.exe --fast-fail
Code:
print("hello world")
Cached compiler stdout:
Cached compiler stderr:
C:\Users\matth\miniforge3\envs\scipy-dev\Lib\site-packages\Cython\Compiler\Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: C:\Users\matth\AppData\Local\Temp\tmpdigvhpum\testfile.pyx
tree = Parsing.p_module(s, pxd, full_module_name)
Cython compiler for the build machine: cython (cython 3.0.9)
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
Unusable script 'C:\\Users\\matth\\miniforge3\\envs\\scipy-dev\\python.exe'
Program python found: YES (C:\Users\matth\miniforge3\envs\scipy-dev\python.exe)
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp6v8tmqob
Code:
#ifdef __has_include
#if !__has_include("Python.h")
#error "Header 'Python.h' could not be found"
#endif
#else
#include <Python.h>
#endif
-----------
Command line: `c++ -IC:\Users\matth\miniforge3\envs\scipy-dev\Include C:\Users\matth\scipy\build\cp311\meson-private\tmp6v8tmqob\testfile.cpp -E -P -D_FILE_OFFSET_BITS=64 -P -O0 -fpermissive -DMS_WIN64=` -> 0
Run-time dependency python found: YES 3.11
Program cython found: YES (C:\Users\matth\miniforge3\envs\scipy-dev\Scripts\cython.EXE)
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpf86v9da_
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpf86v9da_\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpf86v9da_\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wunused-but-set-variable -Wno-unused-but-set-variable` -> 0
Compiler for C supports arguments -Wno-unused-but-set-variable: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpv00p__bi
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpv00p__bi\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpv00p__bi\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wunused-function -Wno-unused-function` -> 0
Compiler for C supports arguments -Wno-unused-function: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpz67vcs3w
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpz67vcs3w\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpz67vcs3w\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wconversion -Wno-conversion` -> 0
Compiler for C supports arguments -Wno-conversion: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmprsdet6u7
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmprsdet6u7\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmprsdet6u7\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wmisleading-indentation -Wno-misleading-indentation` -> 0
Compiler for C supports arguments -Wno-misleading-indentation: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp3faaka6s
Code:
int main(void) { return 0; }
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmp3faaka6s\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmp3faaka6s\output.exe -D_FILE_OFFSET_BITS=64 -O0 -Wl,--start-group -lm -Wl,--end-group -Wl,--allow-shlib-undefined` -> 0
Library m found: YES
-----------
Detecting compiler via: `ifort --version` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `ifort -V` -> [WinError 2] The system cannot find the file specified
-----------
Detecting compiler via: `gfortran --version` -> 0
stdout:
GNU Fortran (Built by Jeroen for the R-project) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------
Running command: gfortran -E -dM -
-----
-----------
Detecting linker via: `gfortran -Wl,--version` -> 0
stdout:
GNU ld (GNU Binutils) 2.36.1
Copyright (C) 2021 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
-----------
stderr:
collect2 version 10.3.0
C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe -plugin C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/liblto_plugin-0.dll -plugin-opt=C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\matth\AppData\Local\Temp\ccguRjAZ.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lpthread -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=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lkernel32 -m i386pep -Bdynamic C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtbegin.o -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0 -LC:/rtools40/ucrt64/bin/../lib/gcc -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib -LC:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../.. --version -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/default-manifest.o C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/crtend.o
-----------
Sanity testing Fortran compiler: gfortran
Is cross compiler: False.
Sanity check compiler command line: gfortran sanitycheckf.f90 -o sanitycheckf.exe
Sanity check compile stdout:
-----
Sanity check compile stderr:
-----
Running test binary command: C:\Users\matth\scipy\build\cp311\meson-private\sanitycheckf.exe
Fortran compiler for the host machine: gfortran (gcc 10.3.0 "GNU Fortran (Built by Jeroen for the R-project) 10.3.0")
Fortran linker for the host machine: gfortran ld.bfd 2.36.1
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpfcwq8sws
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpfcwq8sws\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpfcwq8sws\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wconversion -Wno-conversion` -> 0
Compiler for Fortran supports arguments -Wno-conversion: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpdxsgyj8z
Code:
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpdxsgyj8z\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpdxsgyj8z\output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=c17 -shared -Wl,--version-script=C:/Users/matth/scipy/scipy/_build_utils/link-version-pyinit.map` -> 0
Checking if "-Wl,--version-script" : links: YES
Program tools/generate_f2pymod.py found: YES (C:\Users\matth\miniforge3\envs\scipy-dev\python.exe C:\Users\matth\scipy\tools/generate_f2pymod.py)
Program scipy/_build_utils/tempita.py found: YES (C:\Users\matth\miniforge3\envs\scipy-dev\python.exe C:\Users\matth\scipy\scipy/_build_utils/tempita.py)
Running command: C:\Users\matth\miniforge3\envs\scipy-dev\Scripts\pythran.EXE --version
--- stdout ---
0.14.0
--- stderr ---
Program pythran found: YES 0.14.0 0.14.0 (C:\Users\matth\miniforge3\envs\scipy-dev\Scripts\pythran.EXE)
Pkg-config binary missing from cross or native file, or env var undefined.
Trying a default Pkg-config fallback at pkg-config
Found pkg-config: YES (C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE) 0.29.2
Determining dependency 'xsimd' with pkg-config executable 'C:\\Users\\matth\\miniforge3\\envs\\scipy-dev\\Library\\bin\\pkg-config.EXE'
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --modversion xsimd` -> 1
stderr:
Package xsimd was not found in the pkg-config search path.
Perhaps you should add the directory containing `xsimd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xsimd' found
-----------
CMake binary for host machine is not cached
CMake binary missing from cross or native file, or env var undefined.
Trying a default CMake fallback at cmake
Did not find CMake 'cmake'
Found CMake: NO
CMake binary for machine host machine not found. Giving up.
Run-time dependency xsimd found: NO (tried pkgconfig and cmake)
Run-time dependency threads found: YES
Running command: C:\Users\matth\miniforge3\envs\scipy-dev\python.exe -c "import os
os.chdir(os.path.join(\"..\", \"tools\"))
import numpy as np
try:
incdir = os.path.relpath(np.get_include())
except Exception:
incdir = np.get_include()
print(incdir)
"
--- stdout ---
..\..\miniforge3\envs\scipy-dev\Lib\site-packages\numpy\core\include
--- stderr ---
Running command: C:\Users\matth\miniforge3\envs\scipy-dev\python.exe -c "import os; os.chdir(\"..\"); import numpy; print(numpy.get_include())"
--- stdout ---
C:\Users\matth\miniforge3\envs\scipy-dev\Lib\site-packages\numpy\core\include
--- stderr ---
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpb7tn0_g2
Code:
#include<stddef.h>
#include<stdio.h>
int main(void) {
printf("%ld\n", (long)(sizeof(void *)));
return 0;
}
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpb7tn0_g2\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpb7tn0_g2\output.exe -D_FILE_OFFSET_BITS=64 -O0` -> 0
Program stdout:
8
Program stderr:
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpdrtqqoco
Code:
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpdrtqqoco\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpdrtqqoco\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 --print-search-dirs` -> 0
stdout:
install: C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/
programs: =C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/
libraries: =C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib/;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/x86_64-w64-mingw32/10.3.0/;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/../lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/
-----------
Library npymath found: YES
Determining dependency 'pybind11' with pkg-config executable 'C:\\Users\\matth\\miniforge3\\envs\\scipy-dev\\Library\\bin\\pkg-config.EXE'
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --modversion pybind11` -> 0
stdout:
2.12.0
-----------
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --cflags pybind11` -> 0
stdout:
-IC:/Users/matth/miniforge3/envs/scipy-dev/Library/include
-----------
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --libs pybind11` -> 0
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --libs pybind11` -> 0
Run-time dependency pybind11 found: YES 2.12.0
Running command: C:\Users\matth\miniforge3\envs\scipy-dev\python.exe -c "import os
os.chdir(os.path.join(\"..\", \"tools\"))
import pythran
try:
incdir = os.path.relpath(pythran.get_include())
except Exception:
incdir = pythran.get_include()
print(incdir)
"
--- stdout ---
..\..\miniforge3\envs\scipy-dev\Lib\site-packages\pythran
--- stderr ---
Determining dependency 'scipy-openblas' with pkg-config executable 'C:\\Users\\matth\\miniforge3\\envs\\scipy-dev\\Library\\bin\\pkg-config.EXE'
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --modversion scipy-openblas` -> 1
stderr:
Package scipy-openblas was not found in the pkg-config search path.
Perhaps you should add the directory containing `scipy-openblas.pc'
to the PKG_CONFIG_PATH environment variable
No package 'scipy-openblas' found
-----------
Run-time dependency scipy-openblas found: NO (tried pkgconfig)
Determining dependency 'openblas' with pkg-config executable 'C:\\Users\\matth\\miniforge3\\envs\\scipy-dev\\Library\\bin\\pkg-config.EXE'
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --modversion openblas` -> 0
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --cflags openblas` -> 0
stdout:
-IC:/Users/matth/miniforge3/envs/scipy-dev/Library/include/openblas
-----------
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG_ALLOW_SYSTEM_LIBS]: 1
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --libs openblas` -> 0
stdout:
-LC:/Users/matth/miniforge3/envs/scipy-dev/Library/lib -lopenblas
-----------
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --libs openblas` -> 0
stdout:
-LC:/Users/matth/miniforge3/envs/scipy-dev/Library/lib -lopenblas
-----------
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp0556f_ej
Code:
#include<stddef.h>
#include<stdio.h>
int main(void) {
printf("%ld\n", (long)(sizeof(void *)));
return 0;
}
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmp0556f_ej\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmp0556f_ej\output.exe -D_FILE_OFFSET_BITS=64 -O0 -fpermissive` -> 0
Program stdout:
8
Program stderr:
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpknfpfz83
Code:
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmpknfpfz83\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmpknfpfz83\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive --print-search-dirs` -> 0
stdout:
install: C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/
programs: =C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/
libraries: =C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib/;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/x86_64-w64-mingw32/10.3.0/;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/../lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/
-----------
Run-time dependency openblas found: YES
Dependency openblas found: YES unknown (cached)
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmphpnht6ac
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmphpnht6ac\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmphpnht6ac\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wmaybe-uninitialized -Wno-maybe-uninitialized` -> 0
Compiler for C supports arguments -Wno-maybe-uninitialized: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp07i1mimt
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmp07i1mimt\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmp07i1mimt\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wdiscarded-qualifiers -Wno-discarded-qualifiers` -> 0
Compiler for C supports arguments -Wno-discarded-qualifiers: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpdvdwyda5
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpdvdwyda5\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpdvdwyda5\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wempty-body -Wno-empty-body` -> 0
Compiler for C supports arguments -Wno-empty-body: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpagkexqia
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpagkexqia\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpagkexqia\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wimplicit-function-declaration -Wno-implicit-function-declaration` -> 0
Compiler for C supports arguments -Wno-implicit-function-declaration: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpmcmvk9ot
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpmcmvk9ot\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpmcmvk9ot\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wparentheses -Wno-parentheses` -> 0
Compiler for C supports arguments -Wno-parentheses: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp7ai64mr0
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmp7ai64mr0\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmp7ai64mr0\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wswitch -Wno-switch` -> 0
Compiler for C supports arguments -Wno-switch: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmps96iv6eh
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmps96iv6eh\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmps96iv6eh\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wunused-label -Wno-unused-label` -> 0
Compiler for C supports arguments -Wno-unused-label: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp08qbdkdt
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmp08qbdkdt\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmp08qbdkdt\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wunused-result -Wno-unused-result` -> 0
Compiler for C supports arguments -Wno-unused-result: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpu7ivwamf
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpu7ivwamf\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpu7ivwamf\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wunused-variable -Wno-unused-variable` -> 0
Compiler for C supports arguments -Wno-unused-variable: YES
Using cached compile:
Cached command line: cc C:\Users\matth\scipy\build\cp311\meson-private\tmpf86v9da_\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpf86v9da_\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wunused-but-set-variable -Wno-unused-but-set-variable
Code:
extern int i;
int i;
Cached compiler stdout:
Cached compiler stderr:
Compiler for C supports arguments -Wno-unused-but-set-variable: YES (cached)
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp7or5dzhh
Code:
extern int i;
int i;
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmp7or5dzhh\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmp7or5dzhh\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -Wincompatible-pointer-types -Wno-incompatible-pointer-types` -> 0
Compiler for C supports arguments -Wno-incompatible-pointer-types: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpgur8kulc
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmpgur8kulc\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmpgur8kulc\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wcpp -Wno-cpp` -> 0
Compiler for C++ supports arguments -Wno-cpp: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpse618z8u
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmpse618z8u\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmpse618z8u\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wdeprecated-declarations -Wno-deprecated-declarations` -> 0
Compiler for C++ supports arguments -Wno-deprecated-declarations: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpia0732qt
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmpia0732qt\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmpia0732qt\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wclass-memaccess -Wno-class-memaccess` -> 0
Compiler for C++ supports arguments -Wno-class-memaccess: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp93wby1ex
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmp93wby1ex\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmp93wby1ex\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wformat-truncation -Wno-format-truncation` -> 0
Compiler for C++ supports arguments -Wno-format-truncation: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpn2kc6rj7
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmpn2kc6rj7\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmpn2kc6rj7\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wnon-virtual-dtor -Wno-non-virtual-dtor` -> 0
Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp8cdzi7g0
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmp8cdzi7g0\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmp8cdzi7g0\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wsign-compare -Wno-sign-compare` -> 0
Compiler for C++ supports arguments -Wno-sign-compare: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpp3_9rr4q
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmpp3_9rr4q\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmpp3_9rr4q\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wswitch -Wno-switch` -> 0
Compiler for C++ supports arguments -Wno-switch: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp3xruja4r
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmp3xruja4r\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmp3xruja4r\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wterminate -Wno-terminate` -> 0
Compiler for C++ supports arguments -Wno-terminate: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmps8rgjp71
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmps8rgjp71\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmps8rgjp71\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wunused-but-set-variable -Wno-unused-but-set-variable` -> 0
Compiler for C++ supports arguments -Wno-unused-but-set-variable: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmphs04so22
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmphs04so22\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmphs04so22\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wunused-function -Wno-unused-function` -> 0
Compiler for C++ supports arguments -Wno-unused-function: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmprn19m_9s
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmprn19m_9s\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmprn19m_9s\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wunused-local-typedefs -Wno-unused-local-typedefs` -> 0
Compiler for C++ supports arguments -Wno-unused-local-typedefs: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpvqsflrf5
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmpvqsflrf5\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmpvqsflrf5\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wunused-variable -Wno-unused-variable` -> 0
Compiler for C++ supports arguments -Wno-unused-variable: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp_a6bah3a
Code:
extern int i;
int i;
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmp_a6bah3a\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmp_a6bah3a\output.obj -c -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wint-in-bool-context -Wno-int-in-bool-context` -> 0
Compiler for C++ supports arguments -Wno-int-in-bool-context: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpk2p1tp2l
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpk2p1tp2l\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpk2p1tp2l\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wargument-mismatch -Wno-argument-mismatch` -> 0
stderr:
gfortran: warning: switch '-Wargument-mismatch' is no longer supported
-----------
Compiler for Fortran supports arguments -Wno-argument-mismatch: YES
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpfcwq8sws\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpfcwq8sws\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wconversion -Wno-conversion
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -Wno-conversion: YES (cached)
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpod67l970
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpod67l970\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpod67l970\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wintrinsic-shadow -Wno-intrinsic-shadow` -> 0
Compiler for Fortran supports arguments -Wno-intrinsic-shadow: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpvvxw3u8e
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpvvxw3u8e\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpvvxw3u8e\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wmaybe-uninitialized -Wno-maybe-uninitialized` -> 0
Compiler for Fortran supports arguments -Wno-maybe-uninitialized: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpd2v6_zl2
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpd2v6_zl2\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpd2v6_zl2\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wsurprising -Wno-surprising` -> 0
Compiler for Fortran supports arguments -Wno-surprising: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpe0yxrb9u
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpe0yxrb9u\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpe0yxrb9u\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wuninitialized -Wno-uninitialized` -> 0
Compiler for Fortran supports arguments -Wno-uninitialized: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpj2sc9kh1
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpj2sc9kh1\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpj2sc9kh1\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wunused-dummy-argument -Wno-unused-dummy-argument` -> 0
Compiler for Fortran supports arguments -Wno-unused-dummy-argument: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpq7n30_0p
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpq7n30_0p\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpq7n30_0p\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wunused-label -Wno-unused-label` -> 0
Compiler for Fortran supports arguments -Wno-unused-label: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpfgah16ro
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpfgah16ro\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpfgah16ro\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wunused-variable -Wno-unused-variable` -> 0
Compiler for Fortran supports arguments -Wno-unused-variable: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpq9ipr44p
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpq9ipr44p\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpq9ipr44p\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wtabs -Wno-tabs` -> 0
Compiler for Fortran supports arguments -Wno-tabs: YES
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpk2p1tp2l\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpk2p1tp2l\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wargument-mismatch -Wno-argument-mismatch
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
gfortran: warning: switch '-Wargument-mismatch' is no longer supported
Compiler for Fortran supports arguments -Wno-argument-mismatch: YES (cached)
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpfcwq8sws\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpfcwq8sws\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wconversion -Wno-conversion
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -Wno-conversion: YES (cached)
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpvvxw3u8e\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpvvxw3u8e\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wmaybe-uninitialized -Wno-maybe-uninitialized
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -Wno-maybe-uninitialized: YES (cached)
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpj2sc9kh1\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpj2sc9kh1\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wunused-dummy-argument -Wno-unused-dummy-argument
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -Wno-unused-dummy-argument: YES (cached)
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpq7n30_0p\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpq7n30_0p\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wunused-label -Wno-unused-label
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -Wno-unused-label: YES (cached)
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpfgah16ro\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpfgah16ro\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wunused-variable -Wno-unused-variable
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -Wno-unused-variable: YES (cached)
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpq9ipr44p\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpq9ipr44p\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -Wtabs -Wno-tabs
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -Wno-tabs: YES (cached)
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp_t8ev5g9
Code:
#include <stdint.h>
int main() {
struct {
uint64_t *v;
} x;
return (int)__atomic_load_n(x.v, __ATOMIC_ACQUIRE) &
(int)__atomic_add_fetch(x.v, (uint64_t)1, __ATOMIC_ACQ_REL);
}
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmp_t8ev5g9\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmp_t8ev5g9\output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=c17` -> 0
Checking if "Check atomic builtins without -latomic" : links: YES
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=includedir openblas` -> 0
stdout:
C:/Users/matth/miniforge3/envs/scipy-dev/Library/include/openblas
-----------
Got pkg-config variable includedir : C:/Users/matth/miniforge3/envs/scipy-dev/Library/include/openblas
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=libdir openblas` -> 0
stdout:
C:/Users/matth/miniforge3/envs/scipy-dev/Library/lib
-----------
Got pkg-config variable libdir : C:/Users/matth/miniforge3/envs/scipy-dev/Library/lib
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=openblas_config openblas` -> 0
stdout:
USE_64BITINT= NO_CBLAS= NO_LAPACK= NO_LAPACKE= DYNAMIC_ARCH=ON DYNAMIC_OLDER=OFF NO_AFFINITY=1 USE_OPENMP= HASWELL MAX_THREADS=128
-----------
Got pkg-config variable openblas_config : USE_64BITINT= NO_CBLAS= NO_LAPACK= NO_LAPACKE= DYNAMIC_ARCH=ON DYNAMIC_OLDER=OFF NO_AFFINITY=1 USE_OPENMP= HASWELL MAX_THREADS=128
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=pcfiledir openblas` -> 0
stdout:
C:\Users\matth\miniforge3\envs\scipy-dev\Library\lib\pkgconfig
-----------
Got pkg-config variable pcfiledir : C:\Users\matth\miniforge3\envs\scipy-dev\Library\lib\pkgconfig
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=includedir pybind11` -> 0
stdout:
C:/Users/matth/miniforge3/envs/scipy-dev/Library/include
-----------
Got pkg-config variable includedir : C:/Users/matth/miniforge3/envs/scipy-dev/Library/include
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=libdir pybind11` -> 0
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --print-variables pybind11` -> 0
stdout:
includedir
pcfiledir
prefix
-----------
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=openblas_config pybind11` -> 0
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --print-variables pybind11` -> 0
stdout:
includedir
pcfiledir
prefix
-----------
env[PKG_CONFIG_PATH]: C:\Users\matth\anaconda3\envs\cyipopt\Library\lib\pkgconfig
env[PKG_CONFIG]: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE
-----------
Called: `C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\pkg-config.EXE --variable=pcfiledir pybind11` -> 0
stdout:
C:\Users\matth\miniforge3\envs\scipy-dev\Library\share\pkgconfig
-----------
Got pkg-config variable pcfiledir : C:\Users\matth\miniforge3\envs\scipy-dev\Library\share\pkgconfig
Configuring __config__.py using configuration
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpr6zfw3it
Code:
#include <stdio.h>
#include <limits.h>
#if defined __stub_open_memstream || defined __stub___open_memstream
fail fail fail this function is not going to work
#endif
int main(void) {
void *a = (void*) &open_memstream;
long long b = (long long) a;
return (int) b;
}
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpr6zfw3it\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpr6zfw3it\output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=c17 -Wl,--start-group -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group` -> 1
stderr:
C:\Users\matth\scipy\build\cp311\meson-private\tmpr6zfw3it\testfile.c: In function 'main':
C:\Users\matth\scipy\build\cp311\meson-private\tmpr6zfw3it\testfile.c:9:32: error: 'open_memstream' undeclared (first use in this function)
9 | void *a = (void*) &open_memstream;
| ^~~~~~~~~~~~~~
C:\Users\matth\scipy\build\cp311\meson-private\tmpr6zfw3it\testfile.c:9:32: note: each undeclared identifier is reported only once for each function it appears in
-----------
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpfhm6hqvz
Code:
#include <stdio.h>
int main(void) {
/* With some toolchains (MSYS2/mingw for example) the compiler
* provides various builtins which are not really implemented and
* fall back to the stdlib where they aren't provided and fail at
* build/link time. In case the user provides a header, including
* the header didn't lead to the function being defined, and the
* function we are checking isn't a builtin itself we assume the
* builtin is not functional and we just error out. */
#if !0 && !defined(open_memstream) && !0
#error "No definition for __builtin_open_memstream found in the prefix"
#endif
#ifdef __has_builtin
#if !__has_builtin(__builtin_open_memstream)
#error "__builtin_open_memstream not found"
#endif
#elif ! defined(open_memstream)
__builtin_open_memstream;
#endif
return 0;
}
-----------
Command line: `cc C:\Users\matth\scipy\build\cp311\meson-private\tmpfhm6hqvz\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmpfhm6hqvz\output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=c17 -Wl,--start-group -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group` -> 1
stderr:
C:\Users\matth\scipy\build\cp311\meson-private\tmpfhm6hqvz\testfile.c: In function 'main':
C:\Users\matth\scipy\build\cp311\meson-private\tmpfhm6hqvz\testfile.c:12:14: error: #error "No definition for __builtin_open_memstream found in the prefix"
12 | #error "No definition for __builtin_open_memstream found in the prefix"
| ^~~~~
C:\Users\matth\scipy\build\cp311\meson-private\tmpfhm6hqvz\testfile.c:17:18: error: #error "__builtin_open_memstream not found"
17 | #error "__builtin_open_memstream not found"
| ^~~~~
-----------
Checking for function "open_memstream" : NO
Configuring messagestream_config.h using configuration
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpk_4o_1k7
Code:
stop; end program
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpk_4o_1k7\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpk_4o_1k7\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -w` -> 0
Compiler for Fortran supports arguments -w: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmpcphtunfd
Code:
-----------
Command line: `gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpcphtunfd\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpcphtunfd\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 --print-search-dirs` -> 0
stdout:
install: C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/
programs: =C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/
libraries: =C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/../lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../x86_64-w64-mingw32/10.3.0/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../lib/;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/x86_64-w64-mingw32/10.3.0/;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/../lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/lib/;C:/rtools40/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../;D:/a/_temp/msys64/ucrt64/x86_64-w64-mingw32/lib/
-----------
Running compile:
Working directory: C:\Users\matth\AppData\Local\Temp\tmptguce9xe
Code:
int i = static_cast<int>(0);
-----------
Command line: `c++ C:\Users\matth\AppData\Local\Temp\tmptguce9xe\testfile.cpp -o C:\Users\matth\AppData\Local\Temp\tmptguce9xe\output.obj -D_FILE_OFFSET_BITS=64 -c -std=c++17` -> 0
Compiler accepts -std=c++17: YES
Running compile:
Working directory: C:\Users\matth\scipy\build\cp311\meson-private\tmp0xfffj9m
Code:
#include<stddef.h>
#include<stdio.h>
int main(void) {
printf("%ld\n", (long)(sizeof(void*)));
return 0;
}
-----------
Command line: `c++ C:\Users\matth\scipy\build\cp311\meson-private\tmp0xfffj9m\testfile.cpp -o C:\Users\matth\scipy\build\cp311\meson-private\tmp0xfffj9m\output.exe -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -std=c++17` -> 0
Program stdout:
8
Program stderr:
Checking for size of "void*" : 8
Using cached compile:
Cached command line: gfortran C:\Users\matth\scipy\build\cp311\meson-private\tmpk_4o_1k7\testfile.f90 -o C:\Users\matth\scipy\build\cp311\meson-private\tmpk_4o_1k7\output.obj -D_FILE_OFFSET_BITS=64 -c -O0 -w
Code:
stop; end program
Cached compiler stdout:
Cached compiler stderr:
Compiler for Fortran supports arguments -w: YES (cached)
Executing subproject highs
Project name: highs
Project version: 1.6.0
C++ compiler for the host machine: c++ (gcc 10.3.0 "c++ (Built by Jeroen for the R-project) 10.3.0")
C++ linker for the host machine: c++ ld.bfd 2.36.1
C++ compiler for the build machine: c++ (gcc 10.3.0 "c++ (Built by Jeroen for the R-project) 10.3.0")
C++ linker for the build machine: c++ ld.bfd 2.36.1
..\..\subprojects\highs\meson.build:16: WARNING: add_languages is missing native:, assuming languages are wanted for both host and build.
C compiler for the build machine: cc (gcc 10.3.0 "cc (Built by Jeroen for the R-project) 10.3.0")
C linker for the build machine: cc ld.bfd 2.36.1
C compiler for the host machine: cc (gcc 10.3.0 "cc (Built by Jeroen for the R-project) 10.3.0")
C linker for the host machine: cc ld.bfd 2.36.1
Dependency threads found: YES unknown (cached)
Using cached compile:
Cached command line: cc C:\Users\matth\scipy\build\cp311\meson-private\tmp_t8ev5g9\testfile.c -o C:\Users\matth\scipy\build\cp311\meson-private\tmp_t8ev5g9\output.exe -D_FILE_OFFSET_BITS=64 -O0 -std=c17
Code:
#include <stdint.h>
int main() {
struct {
uint64_t *v;
} x;
return (int)__atomic_load_n(x.v, __ATOMIC_ACQUIRE) &
(int)__atomic_add_fetch(x.v, (uint64_t)1, __ATOMIC_ACQ_REL);
}
Cached compiler stdout:
Cached compiler stderr:
Checking if "Check atomic builtins without -latomic" : links: YES (cached)
Dependency zlib skipped: feature use_zlib disabled
Program git found: YES (C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\git.EXE)
Running command: C:\Users\matth\miniforge3\envs\scipy-dev\Library\bin\git.EXE rev-parse --short -C C:\Users\matth\scipy\subprojects\highs HEAD
--- stdout ---
--- stderr ---
fatal: Needed a single revision
..\..\subprojects\highs\src\meson.build:46:12: ERROR: Program or command 'python3' not found or not executable |
We should bump it further now that the hard work is done. I was planning to submit a follow-up PR to HiGHS first to fix some warnings and loose ends.
That's a bug indeed, that code should not be trying to invoke |
Ah, what did happen is that @HaoZeke made a few fixes upstream to address my review comments and those are not yet pulled into |
Okay, I'm going to have to revert this. All my critical build comments in #19255 (comment) were addressed upstream in ERGO-Code/HiGHS#1603, however that PR was not included in It turns out that it's not easy to update the submodule from 1.6.0 to 1.7.0, because the Meson build got broken and CI disabled in the process of the 1.7.0 work in Feb/Mar. It's a lot harder to now retroactively figure out what went wrong, compared to leaving CI in place and fixing things as they come up. There are also a lot of other little issues. I opened ERGO-Code/HiGHS#1737 to address them, but there's a bit more. One builtin test ( Worst case we can apply all the needed patches to 1.6.0 in |
Yikes, sorry I didn't notice the activity on this PR, and that I didn't update the scipy fork of highs before this went it. Will have a an updated PR ready soon.
…On 4/26/24 9:01 PM, Ralf Gommers ***@***.***> wrote:
Okay, I'm going to have to revert this. All my critical build comments
in #19255 (comment)
<#19255 (comment)> were
addressed upstream in ERGO-Code/HiGHS#1603
<ERGO-Code/HiGHS#1603>, however that PR was not
included in |scipy/highs|.
It turns out that it's not easy to update the submodule from 1.6.0 to
1.7.0, because the Meson build got broken and CI disabled in the process
of the 1.7.0 work in Feb/Mar. It's a lot harder to now retroactively
figure out what went wrong, compared to leaving CI in place and fixing
things as they come up.
There are also a lot of other little issues. I opened
ERGO-Code/HiGHS#1737 <ERGO-Code/HiGHS#1737> to
address them, but there's a bit more.
One builtin test (|test_lpsolvers|) is failing with a UBSAN error. And,
most importantly, |highspy| builds but does not import.
Worst case we can apply all the needed patches to 1.6.0 in |scipy/highs|
and then re-land this PR. However, it'd be much better to fix up the
|latest| branch upstream and update to at least 1.7.0 in one go.
Otherwise the longer we wait, the more it goes out of date again.
—
Reply to this email directly, view it on GitHub
<#19255 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABBCUTYVK2OYULI5QWHQM3DY7K6DPAVCNFSM6AAAAAA437DDQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBQGEYTGNJXGQ>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Supersedes #18642.
Reference issue
Closes #15915. Closes #15888. Closes #19734.
What does this implement/fix?
linprog
Cython bindings with upstreamhighspy
Tests pass (locally anyway). However, there are still plenty of improvements which can be made (once
highspy
works a bit more robustly ERGO-Code/HiGHS#1405)Additional information
Needs a PR over at
highs
(ERGO-Code/HiGHS#1460) and over at the SciPy fork (scipy/HiGHS#63).Draft status until:
[ ] Changes merged upstream in a new PyPI releaseUnrelatedscipy
fork ofhighs