microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.8k stars 6.3k forks source link

[pdcurses] build failure #14620

Open shawn220a opened 3 years ago

shawn220a commented 3 years ago

Host Environment

To Reproduce Steps to reproduce the behavior: ./vcpkg install pdcurses

Failure logs ./vcpkg install pdcurses Computing installation plan... The following packages will be built and installed: pdcurses[core]:x64-osx Detecting compiler hash for triplet x64-osx... Starting package 1/1: pdcurses:x64-osx Building package pdcurses[core]:x64-osx... Could not locate cached archive: /Users/shawntschoepe/.cache/vcpkg/archives/2c/2ca683e8098d51e342d89fa93b975aaa49a896ad.zip -- Using cached /Users/shawntschoepe/dev/vcpkg/downloads/wmcbrine-PDCurses-6c1f95c4fa9f9f105879c2d99dd72a5bf335c046.tar.gz -- Cleaning sources at /Users/shawntschoepe/dev/vcpkg/buildtrees/pdcurses/src/5bf335c046-43b71d7fd1.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source /Users/shawntschoepe/dev/vcpkg/downloads/wmcbrine-PDCurses-6c1f95c4fa9f9f105879c2d99dd72a5bf335c046.tar.gz -- Using source at /Users/shawntschoepe/dev/vcpkg/buildtrees/pdcurses/src/5bf335c046-43b71d7fd1.clean -- Build x64-osx-rel CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:106 (message): Command failed: NMAKE-NOTFOUND /A -f /Users/shawntschoepe/dev/vcpkg/buildtrees/pdcurses/src/5bf335c046-43b71d7fd1.clean/wincon/Makefile.vc WIDE=Y UTF8=Y Working Directory: /Users/shawntschoepe/dev/vcpkg/buildtrees/pdcurses/src/5bf335c046-43b71d7fd1.clean/wincon Error code: No such file or directory See logs for more information:

Call Stack (most recent call first): ports/pdcurses/portfile.cmake:23 (vcpkg_execute_required_process) scripts/ports.cmake:136 (include)

Error: Building package pdcurses:x64-osx failed with: BUILD_FAILED Please ensure you're using the latest portfiles with ./vcpkg update, then submit an issue at https://github.com/Microsoft/vcpkg/issues including: Package: pdcurses:x64-osx Vcpkg version: 2020.11.12-unknownhash

Additionally, attach any relevant sections from the log files above.

Additional context Add any other context about the problem here, such as what you have already tried to resolve the issue.

NancyLi1013 commented 3 years ago

Hi @shawn220a

Thanks for posting this issue.

pdcurses only supports dynamic CRT linkage, so the current behavior you happened is intended. It also doesn't support uwp, linux, osx.

Please see this info in scripts/ci.baseline.txt

pdcurses:arm-uwp=fail
pdcurses:x64-linux=fail
pdcurses:x64-osx=fail
pdcurses:x64-uwp=fail
pdcurses:x64-windows-static=fail

I will add the unsupported message to this port.

shawn220a commented 3 years ago

Thank you for the update. I am new to adding libraries and thought I had broke something.

GitMensch commented 2 years ago

@NancyLi1013 wrote:

pdcurses only supports dynamic CRT linkage, so the current behavior you happened is intended. It also doesn't support uwp, linux, osx.

Hm, it should work fine as windows-static and both linux (related #9812) and osx could use the sdl2 or x11 port (each with its own dependencies of course).

I will add the unsupported message to this port.

Was that done?

NancyLi1013 commented 2 years ago

@GitMensch

Thanks for bringing this issue up.

As you can see, the module wincononly supports Windows platform. This is also the module that vcpkg added now. https://github.com/wmcbrine/PDCurses/blob/master/wincon/README.md

So we need to refactor this port if supporting Linux and OSX platforms.

GitMensch commented 2 years ago

The question is: should this be done in the same port or would it be better to adjust this:

... and then it may still be reasonable to consider PDCursesMod, too (which brings in wingui, vt and framebuffer ports, along with additional [optional, but partially "by default active"] features for the other ports).

GitMensch commented 4 months ago

Asking for feedback from @dg0yt @Adela0814 @LilyWangLL - would it be reasonable to add PDCursesMod as separate package and/or add more ports for using with non-win32 environments? Could someone check the related #31674 as well, please?