Skip to content

Conversation

@jesusmb1995
Copy link

@jesusmb1995 jesusmb1995 commented Oct 1, 2025

Our install path is not based on /lib but /shared. Update the workflow so that the files are found on the correct folder for our fork. In addition, CMake needs to link against llama::llama not llama to be able to find the correct include directories.

See CI for cmake-pkg now green: https://github.com/tetherto/qvac-ext-lib-llama.cpp/actions/runs/18161795175/job/51694115100?pr=27#logs

Seems to be related to this changes that we introduced in our fork:

install(
  EXPORT llama-targets
  FILE llama-targets.cmake
  NAMESPACE llama::
  DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/llama)

install(
  FILES ${CMAKE_CURRENT_BINARY_DIR}/llama-config.cmake
  DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/llama)

CMAKE_INSTALL_DATAROOTDIR is a CMake variable that defines the root directory for read-only architecture-independent data files, with a default value of "share".
This variable is part of the GNUInstallDirs module, which provides standard installation directory variables as defined by the GNU Coding Standards.


@jesusmb1995 jesusmb1995 changed the base branch from temp-upstream to temp-latest October 1, 2025 11:30
@jesusmb1995 jesusmb1995 marked this pull request as draft October 1, 2025 12:02
@jesusmb1995 jesusmb1995 force-pushed the jmb/fix-ci-cmake-pkg branch from 80d71b1 to acf1a91 Compare October 1, 2025 12:03
@jesusmb1995 jesusmb1995 self-assigned this Oct 1, 2025
@jesusmb1995 jesusmb1995 marked this pull request as ready for review October 1, 2025 12:19
@jesusmb1995 jesusmb1995 changed the title Fix Tether CI cmake pkg Fix CI cmake pkg on Tether runners Oct 1, 2025
@jesusmb1995 jesusmb1995 changed the title Fix CI cmake pkg on Tether runners QVAC-6158: Fix CI cmake pkg on Tether runners Oct 1, 2025
cmake --install build --prefix "$PREFIX" --config Release
export LLAMA_CONFIG="$PREFIX"/lib/cmake/llama/llama-config.cmake
export LLAMA_CONFIG="$PREFIX"/share/llama/llama-config.cmake
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just for my understanding, does not runners defines in the yaml file? how come we use different runners than upstream repo?

Copy link
Author

@jesusmb1995 jesusmb1995 Oct 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are using self-hosted runners, even for Linux in order to test in multiple hardware. That already could be causing some differences in the default install dir of the environment.

However, I think you are right. This one might not be related to runners at all since GH Linux Ubuntu runner should still use the default /lib (edited the description). Looking more closely at our changes I think its related to the modified CMakeLists.txt where we added the following:

install(
  EXPORT llama-targets
  FILE llama-targets.cmake
  NAMESPACE llama::
  DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/llama)

install(
  FILES ${CMAKE_CURRENT_BINARY_DIR}/llama-config.cmake
  DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/llama)

@jesusmb1995 jesusmb1995 changed the title QVAC-6158: Fix CI cmake pkg on Tether runners QVAC-6158: Fix CI cmake pkg on Tether fork Oct 1, 2025
@chetasr chetasr merged commit 6f8659b into tetherto:temp-latest Oct 2, 2025
36 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants