Open jmarrec opened 8 months ago
@jmarrec Sorry you're having problems.
Miniportile's gcc_cmd
in your case isn't actually gcc, it's your compiler:
def gcc_cmd
(ENV["CC"] || @gcc_command || RbConfig::CONFIG["CC"] || "gcc").dup
end
What does your compiler emit when given a -v
option? Can you recommend something as an alternative to detect the host string?
@flavorjones I appreciate the quick answer, thank you.
Note that I've worked around it already by using --enable-system-libraries --with-pkg-config=pkgconf
(I have pkgconf in my PATH and I've set PKG_CONFIG_PATH to a location where I do have sqlite3.pc
) so it doesn't use miniportile2 at all.
$ ruby -e "puts RbConfig::CONFIG['CC']"
cl -nologo
$ cl -nologo -v
cl : Command line warning D9002 : ignoring unknown option '-v'
cl : Command line error D8003 : missing source filename
# Whereas
$ cl -v
Microsoft (R) C/C++ Optimizing Compiler Version 19.38.33135 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
cl : Command line warning D9002 : ignoring unknown option '-v'
cl : Command line error D8003 : missing source filename
(cl is C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.3310\bin\Hostx64\x64\cl.exe
)
$ ruby -e "puts RbConfig::CONFIG['host_alias']"
x64-mswin64_140
$ ruby -e "puts RbConfig::CONFIG['host']"
x64-pc-mswin64_140
It throws on this line as a result
https://github.com/sparklemotion/sqlite3-ruby/blob/16470dedb21c3054807ed70847f5ab99d333ff19/ext/sqlite3/extconf.rb#L70
I do use a mswin built of ruby (
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mswin64_140]
) in this specific case, but I can reproduce using 2.7.2 mingw.Miniportile2 uses the output of running
gcc -v
to detect the host, and obviously this fails in this case.https://github.com/flavorjones/mini_portile/blob/52fb0bc41c89a10f1ac7b5abcf0157e059194374/lib/mini_portile2/mini_portile.rb#L542-L557
I am able to work around it by using the same code as nokogiri: https://github.com/sparklemotion/nokogiri/blob/d7ee3b683246a9fdc19c51aabc98868dc8dcf134/ext/nokogiri/extconf.rb#L443-L446