-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[portaudio:x64-windows] build failure (detect_compiler failed) #16448
Comments
Thanks for posting this issue. It seems that the path is incorrect here.
It seems that you used CMD to install the ports, could you please use PowerShell to try it again? |
Attempted to do it from powershell with |
Could you please try to use |
Same error, only the line number is now 51. How did a semicolon start showing up in that anyway? And I suppose I should rename this, this occurs with more than just portaudio, somebody recommended I try with sqlite3 and same result. @NancyLi1013 |
The error info from here:
https://github.com/microsoft/vcpkg/blob/master/scripts/ports.cmake#L50-L52 Seems there are something wrong with Could you please print the value of |
Where is that variable coming from and how do I get it to print? |
You can add
|
As it says in the error message. |
Are there any spaces in the path? |
No, other than the semicolon the path is as it is supposed to be, C:\tools\vcpkg. My system is using cp1252 for character encoding but the file system is Unicode anyway. Again, is no one else receiving this? It just started happening on my system out of the blue and no amount of updates or redownloads fixed it. |
Could you please try to update your system as Unicode encoding and rebuild again? |
How do I do that without breaking legacy apps that need to use ANSI? Shouldn't this program be using Unicode anyway? |
Currently, the only way I have known is to change the system local. You can tick a "Use Unicode UTF-8 for worldwide language support", box in "Region & Language" - "Administrative" - "Change system locale" - "Region Settings". Please see the details here #12865 (comment) |
This did not fix it, still a semicolon in the path that fails to resolve. Fresh clone from UTF-8, cp 65001. |
@NancyLi1013 here's a debug log that I got from it while trying to do that install again. This is also occurring in #17188. I suppose that is a better issue to track this? |
Looking at that log, it might actually be a bug in the cmake that comes with msys2. Is there a way for me to make it use the cmake that I have installed without reordering my entire path? |
From the log:
This is cmake for the msys2 subsystem. But you need to use a mingw subsystem (mingw64 or mingw32). Then cmake will be taken from "C:\msys64\mingw64\bin\cmake.exe". |
(And for subtle changes to process arguments and environment variables: https://www.msys2.org/docs/filesystem-paths/#automatic-unix-windows-path-conversion) |
Sorry for the long delay. Thanks for your investigation. Form the above vcpkg_failure.log: There are two cmake executable found on your machine.
Could you please try to disable |
@NancyLi1013 I tried that and it was indeed the problem, it was a bug inside the cmake that you can get with msys2's pacman. I installed mingw-w64-x86_64-cmake and put msys64/mingw64/bin before msys64/usr/bin in my path and it worked fine. So that's the solution to this bug, a non-mingw cmake was being called on an emulated unix-like. |
I don't think it is a bug, and probably it cannot be attributed to cmake at all. You were using cmake And I wonder if vcpkg could catch the unsuitable cmake more clearly, hooking in on the presented error pattern. |
Host Environment
To Reproduce
Steps to reproduce the behavior:
./vcpkg install portaudio:x64-windows
Failure logs
Computing installation plan...
The following packages will be built and installed:
portaudio[core]:x64-windows -> 2020-02-20
Detecting compiler hash for triplet x64-windows...
Error: while detecting compiler information:
The log content at C:\tools\vcpkg\buildtrees\detect_compiler\stdout-x64-windows.log is:
CMake Error at C:/tools/vcpkg/scripts/ports.cmake:46 (message):
Cannot find port:
Error: vcpkg was unable to detect the active compiler's information. See above for the CMake failure output.
Additional context
I have made sure that everything is up to date via git pull and vcpkg update, it was during vcpkg update that I started seeing this error actually. Given the nature of the error, I would think this is more than just portaudio, but since I got it trying to build portaudio, I've noted it as such. I also tried a fresh git clone and install from scratch, same thing. The obvious bit to me is that there is a semicolon instead of a colon for the drive letter somehow, causing an invalid directory. I don't know enough about CMake to know what could have caused that error, because I don't know where that ports script is getting the directory from.
stdout-x64-windows.log
The text was updated successfully, but these errors were encountered: