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

[vcpkg-tool-meson] build failure #37693

Closed
Cazadorro opened this issue Mar 25, 2024 · 9 comments
Closed

[vcpkg-tool-meson] build failure #37693

Cazadorro opened this issue Mar 25, 2024 · 9 comments
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@Cazadorro
Copy link
Contributor

Cazadorro commented Mar 25, 2024

Operating system

centos 7 linux

Compiler

gcc-11

Steps to reproduce the behavior

./vcpkg install vcpkg-tool-meson --only-downloads

./vcpkg install vcpkg-tool-meson --no-downloads

Failure logs

Installing 1/1 vcpkg-tool-meson:x64-linux@1.3.2#1...
Building vcpkg-tool-meson:x64-linux@1.3.2#1...
/home/user/Documents/vcpkg_deployment/vcpkg_no_download/buildtrees/versioning_/versions/vcpkg-tool-meson/17b86f3a18ad63659d4dfbafc194969279a7a4f0: info: installing overlay port from here
-- Installing: /home/user/Documents/vcpkg_deployment/vcpkg_no_download/packages/vcpkg-tool-meson_x64-linux/share/vcpkg-tool-meson/copyright
-- Found Python version '3.8.13 at /opt/rh/rh-python38/root/usr/bin/python3'
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:212 (message):
  Downloads are disabled, but
  '/home/user/Documents/vcpkg_deployment/vcpkg_no_download/downloads/meson-614d436232d3a86518164cbe2b8af12db3bde009.tar.gz'
  does not exist.
Call Stack (most recent call first):
  packages/vcpkg-tool-meson_x64-linux/share/vcpkg-tool-meson/vcpkg-port-config.cmake:38 (vcpkg_download_distfile)
  buildtrees/versioning_/versions/vcpkg-tool-meson/17b86f3a18ad63659d4dfbafc194969279a7a4f0/portfile.cmake:39 (include)
  scripts/ports.cmake:175 (include)

Additional context

Trying to test --only-downloads and --no-downloads. This has worked in previous versions of VCPKG, doesn't work now. Works fine when normal install process is used. The meson download missing is installed if only-downloads isn't used.

@Cazadorro Cazadorro added the category:port-bug The issue is with a library, which is something the port should already support label Mar 25, 2024
@Osyotr
Copy link
Contributor

Osyotr commented Mar 25, 2024

Maybe #37585?

@Cazadorro
Copy link
Contributor Author

Cazadorro commented Mar 25, 2024

No idea, hopefully, but I personally can't test this anymore since I found out that libsystemd is irrevocably broken with centos 7 because it requires a higher kernel version headers, and older versions don't exist in vcpkg, meaning I have to stick with older versions of vcpkg anyway. OpenCV now cannot work on Centos 7/Redhat 7 since libsystemd's introduction to vcpkg 6 months ago.

@Osyotr
Copy link
Contributor

Osyotr commented Mar 25, 2024

No idea, hopefully, but I personally can't test this anymore since I found out that libsystemd is irrevocably broken with centos 7 because it requires a higher kernel version headers, and older versions don't exist in vcpkg, meaning I have to stick with older versions of vcpkg anyway. OpenCV now cannot work on Centos 7/Redhat 7 since libsystemd's introduction to vcpkg 6 months ago.

How did it work before? Maybe create empty overlay for libsystemd (and probably libmount)?

@Cazadorro
Copy link
Contributor Author

It simply wasn't a vcpkg dependency before, I assume it used the system version of libsystemd if it was required at all.

@dg0yt
Copy link
Contributor

dg0yt commented Mar 25, 2024

-- Found Python version '3.8.13 at /opt/rh/rh-python38/root/usr/bin/python3'

Is this recent enough for meson?

OpenCV now cannot work on Centos 7/Redhat 7 since libsystemd's introduction to vcpkg 6 months ago.

I warned about side effects...
But you can replace the vcpkg port with an empty overlay port.

@Neumann-A
Copy link
Contributor

@BillyONeal Do I need to include the vcpkg-port-config.cmake in the portfile of the installing port to make --only-downloads work?

@dg0yt
Copy link
Contributor

dg0yt commented Mar 26, 2024

Do I need to include the vcpkg-port-config.cmake in the portfile of the installing port to make --only-downloads work?

AFAICT You need "to make --only-downloads work". This means to invoke code for downloading.

I guess the current version stops at

vcpkg_execute_required_process(COMMAND "${PYTHON3}" --version
            WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}"
            LOGNAME "python3-version-${TARGET_TRIPLET}")

@BillyONeal
Copy link
Member

Yeah, it seems like that could get ALLOW_IN_DOWNLOAD_MODE

@Neumann-A
Copy link
Contributor

opened #37768 to reorder the code and put the download before the version check of python.

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
Development

No branches or pull requests

6 participants