egl-registry and glbinding x64-windows "include/KHR/khrplatform.h" conflict but yet its the same header file - files compare identical #6823
Labels
category:port-bug
The issue is with a library, which is something the port should already support
Both glbinding and egl-registry both use and install "include/KHR/khrplatform.h" in the installed/x64-windows directory.
Situation: glbinding is required by forge, egl-registry is required by glad - but whichever installs first, either glbinding or egl-registry installs, the one trying to install after, fails with "The following files are already installed in installed/x64-windows and are in conflict with (egl-registry:x64-windows or glbinding:x64-windows)" thus either forge or glad fails due to cascaded missing dependencies.
After researching at this time, the khrplatform.h file from both source downloads are the exact same header file, date (2018060), time (20:50) and size (10KB) - compared with a file differential utility - identical files.
Note: I've noticed many packages install their own dependency packages instead of checking to see if the dependency package may already be installed. Having the package install all its own dependency packages is presumptuous and creates additional difficulties for others adding packages or others just trying to install the packages.
It just seems to me, to get a flexible and more robust "vcpkg" one solution would be prudent to break all your dependencies out of the software package and make individual packages for each of them or maybe another solution would be to check to see if the dependency is already installed, if so, use it if it is a workable version, if not installed or non-workable version, install a workable package dependency?
This is vcpkg output from trying to install glad after forge has been successfully installed:
->vcpkg install glad --keep-going
The following packages will be built and installed:
glad[core]:x64-windows
Additional packages (*) will be modified to complete this operation.
Starting package 1/3: egl-registry:x64-windows
Building package egl-registry[core]:x64-windows...
-- Using cached D:/GitHub/vcpkg.downloads/KhronosGroup-EGL-Registry-e2562a9e7f567b837cdf96cf8b12e7fc0d88cc30.tar.gz
-- Using source at D:/GitHub/vs2017/buildtrees/egl-registry/src/fc0d88cc30-f5fda177a5
-- Installing: D:/GitHub/vs2017/packages/egl-registry_x64-windows/share/egl-registry/copyright
-- Performing post-build validation
-- Performing post-build validation done
Building package egl-registry[core]:x64-windows... done
Installing package egl-registry[core]:x64-windows...
The following files are already installed in D:/GitHub/vs2017/installed/x64-windows and are in conflict with egl-registry:x64-windows
Installed by glbinding:x64-windows
include/KHR/khrplatform.h
Elapsed time for package egl-registry:x64-windows: 13.08 s
Starting package 2/3: opengl-registry:x64-windows
Building package opengl-registry[core]:x64-windows...
Error: Building package opengl-registry:x64-windows failed with: CASCADED_DUE_TO_MISSING_DEPENDENCIES
Elapsed time for package opengl-registry:x64-windows: 807.7 us
Starting package 3/3: glad:x64-windows
Building package glad[core]:x64-windows...
Error: Building package glad:x64-windows failed with: CASCADED_DUE_TO_MISSING_DEPENDENCIES
Elapsed time for package glad:x64-windows: 760.5 us
Total elapsed time: 13.08 s
RESULTS
egl-registry:x64-windows: FILE_CONFLICTS: 13.08 s
opengl-registry:x64-windows: CASCADED_DUE_TO_MISSING_DEPENDENCIES: 807.7 us
glad:x64-windows: CASCADED_DUE_TO_MISSING_DEPENDENCIES: 760.5 us
SUMMARY
SUCCEEDED: 0
BUILD_FAILED: 0
POST_BUILD_CHECKS_FAILED: 0
FILE_CONFLICTS: 1
CASCADED_DUE_TO_MISSING_DEPENDENCIES: 2
EXCLUDED: 0
I can provide further information if it is needed.
The text was updated successfully, but these errors were encountered: