Skip to content
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

New vcpkg version causes ncurses to build additional libraries on x64-linux #23476

Closed
JackBoosY opened this issue Mar 10, 2022 · 6 comments · Fixed by #23478
Closed

New vcpkg version causes ncurses to build additional libraries on x64-linux #23476

JackBoosY opened this issue Mar 10, 2022 · 6 comments · Fixed by #23478
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@JackBoosY
Copy link
Contributor

JackBoosY commented Mar 10, 2022

Describe the bug
Using bootstrap to download the latest vcpkg release to build ncurses:x64-linux resulted in additional static libraries being generated.

Environment

  • OS: Linux
  • Compiler: gcc-7.5.0

To Reproduce
Steps to reproduce the behavior:

  1. git pull
  2. ./bootstrap-vcpkg.sh
  3. ./vcpkg install ncurses:x64-linux
  4. See error

Expected behavior
No more libraries are generated.

Failure logs

root@usrUb:/home/usr/work/vcpkg# ./vcpkg install ncurses
Computing installation plan...
The following packages will be built and installed:
    ncurses[core]:x64-linux -> 6.3
Detecting compiler hash for triplet x64-linux...
Restored 0 packages from /root/.cache/vcpkg/archives in 12.8 us. Use --debug to see more details.
Starting package 1/1: ncurses:x64-linux
Building package ncurses[core]:x64-linux...
-- Downloading https://invisible-mirror.net/archives/ncurses/ncurses-6.3.tar.gz;ftp://ftp.invisible-island.net/ncurses/ncurses-6.3.tar.gz;https://ftp.gnu.org/gnu/ncurses/ncurses-6.3.tar.gz -> ncurses-6.3.tgz...
-- Extracting source /home/usr/work/vcpkg/downloads/ncurses-6.3.tgz
-- Using source at /home/usr/work/vcpkg/buildtrees/ncurses/src/ncurses-6-4e7ee3180a.clean
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Installing x64-linux-dbg
-- Building x64-linux-rel
-- Installing x64-linux-rel
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/pkgconfig/form.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/pkgconfig/menu.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/pkgconfig/ncurses++.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/pkgconfig/ncurses.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/pkgconfig/panel.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/pkgconfig/form.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/pkgconfig/menu.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/pkgconfig/ncurses++.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/pkgconfig/ncurses.pc
-- Fixing pkgconfig file: /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/pkgconfig/panel.pc
-- Installing: /home/usr/work/vcpkg/packages/ncurses_x64-linux/share/ncurses/usage
-- Installing: /home/usr/work/vcpkg/packages/ncurses_x64-linux/share/ncurses/copyright
-- Performing post-build validation
Mismatching number of debug and release binaries. Found 10 for debug but 5 for release.
Debug binaries

    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libpanel_g.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libncurses++_g.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libform_g.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libpanel.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libncurses++.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libncurses.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libmenu_g.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libform.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libncurses_g.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/debug/lib/libmenu.a

Release binaries

    /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/libpanel.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/libncurses++.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/libncurses.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/libform.a
    /home/usr/work/vcpkg/packages/ncurses_x64-linux/lib/libmenu.a


Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile:
    /home/usr/work/vcpkg/ports/ncurses/portfile.cmake
-- Performing post-build validation done
Stored binary cache: /root/.cache/vcpkg/archives/24/24dcdb32222e4aa4386fe0988e9bc024436bd0460900ef5f1980a1e0bb554a3f.zip
Installing package ncurses[core]:x64-linux...
Elapsed time for package ncurses:x64-linux: 39.31 s

Total elapsed time: 43.72 s

The package ncurses is compatible with built-in CMake variables:

    set(CURSES_NEED_NCURSES TRUE)
    find_package(Curses REQUIRED)
    target_include_directories(main ${CURSES_INCLUDE_DIRS})
    target_compile_options(main ${CURSES_CFLAGS})
    target_link_libraries(main PRIVATE ${CURSES_LIBRARIES})

Additional context
Add any other context about the problem here.

@JackBoosY JackBoosY added the category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`) label Mar 10, 2022
@JackBoosY JackBoosY self-assigned this Mar 10, 2022
@JackBoosY
Copy link
Contributor Author

JackBoosY commented Mar 10, 2022

cc @BillyONeal.
I can confirm that the latest executable causes this because git pull doesn't break the build, only bootstrap does.
Digging into it now.

@JackBoosY
Copy link
Contributor Author

JackBoosY commented Mar 10, 2022

Looks like it only affects vcpkg_*_make:

  • python3:x64-linux
  • ncurses:x64-linux
  • python2:x64-linux
  • libgnutls:x64-linux

In buildtrees/ncurses/config-x64-linux-dbg-out.log:

...
checking for specified models...  normal debug
...
Appending rules for normal model (ncurses: termlib+ext_tinfo+base+ext_funcs)
Appending rules for debug model (ncurses: termlib+ext_tinfo+base+ext_funcs)
Appending rules for normal model (panel: termlib+ext_tinfo+base+ext_funcs)
Appending rules for debug model (panel: termlib+ext_tinfo+base+ext_funcs)
Appending rules for normal model (menu: termlib+ext_tinfo+base+ext_funcs)
Appending rules for debug model (menu: termlib+ext_tinfo+base+ext_funcs)
Appending rules for normal model (form: termlib+ext_tinfo+base+ext_funcs)
Appending rules for debug model (form: termlib+ext_tinfo+base+ext_funcs)
Appending rules for normal model (c++: termlib+ext_tinfo+base+ext_funcs)
Appending rules for debug model (c++: termlib+ext_tinfo+base+ext_funcs)

@PhoebeHui
Copy link
Contributor

PhoebeHui commented Mar 10, 2022

Extra failure port pcapplusplus:x64-linux found in PR #23001.

Mismatching number of debug and release binaries. Found 0 for debug but 3 for re                                                                                                             lease.
Debug binaries

Release binaries
    /home/phoebe/test/vcpkg/packages/pcapplusplus_x64-linux/lib/libCommon++.a
    /home/phoebe/test/vcpkg/packages/pcapplusplus_x64-linux/lib/libPcap++.a
    /home/phoebe/test/vcpkg/packages/pcapplusplus_x64-linux/lib/libPacket++.a

Debug binaries were not found

Found 1 post-build check problem(s). To submit these ports to curated catalogs,                                                                                                              please first correct the portfile:
    /home/phoebe/test/vcpkg/ports/pcapplusplus/portfile.cmake

@dg0yt
Copy link
Contributor

dg0yt commented Mar 10, 2022

New vcpkg version causes ncurses to build additional libraries on x64-linux

I think the new version just reports the problem, but didn't really change the build.

@PhoebeHui
Copy link
Contributor

I noticed there is no debug binaries generated for pcapplusplus in master. So it looks currently vcpkg dectect this case.

test/phoebe/vcpkg$ ls ./packages/pcapplusplus_x64-linux/
BUILD_INFO  CONTROL  include  lib  share

@JackBoosY JackBoosY added requires:discussion and removed category:vcpkg-bug The issue is with the vcpkg system (including helper scripts in `scripts/cmake/`) labels Mar 10, 2022
@JackBoosY
Copy link
Contributor Author

JackBoosY commented Mar 11, 2022

Maybe the reason is that we didn't enabled the post check, but now it turns on.
Nope, the mismatch check is always enabled. Anyway, they are port bugs.

@JackBoosY JackBoosY added category:port-bug The issue is with a library, which is something the port should already support and removed requires:discussion labels Mar 11, 2022
@JackBoosY JackBoosY linked a pull request Mar 11, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
3 participants