-
Notifications
You must be signed in to change notification settings - Fork 82
Description
Bug
Reported by @junhaoliao
junhao@ASUS-X870E:~/workspace/clp/components/core/tools/scripts/lib_install/ubuntu-jammy$ sudo ./install-all.sh
Hit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
liblzma-dev is already the newest version (5.2.5-2ubuntu1).
pkg-config is already the newest version (0.29.2-1ubuntu3).
checkinstall is already the newest version (1.6.2+git20170426.d24a630-2ubuntu2).
pipx is already the newest version (1.0.0-1).
ca-certificates is already the newest version (20240203~22.04.1).
curl is already the newest version (7.81.0-1ubuntu1.21).
git is already the newest version (1:2.34.1-1ubuntu1.15).
jq is already the newest version (1.6-2.1ubuntu3.1).
libcurl4 is already the newest version (7.81.0-1ubuntu1.21).
libcurl4-openssl-dev is already the newest version (7.81.0-1ubuntu1.21).
libssl-dev is already the newest version (3.0.2-0ubuntu1.19).
openjdk-11-jdk is already the newest version (11.0.28+6-1ubuntu1~22.04.1).
python3 is already the newest version (3.10.6-1~22.04.1).
python3-dev is already the newest version (3.10.6-1~22.04.1).
rsync is already the newest version (3.2.7-0ubuntu0.22.04.4).
software-properties-common is already the newest version (0.99.22.9).
unzip is already the newest version (6.0-26ubuntu3.2).
libmariadb-dev is already the newest version (1:10.6.22-0ubuntu0.22.04.1).
python3-pip is already the newest version (22.0.2+dfsg-1ubuntu0.7).
python3-venv is already the newest version (3.10.6-1~22.04.1).
0 upgraded, 0 newly installed, 0 to remove and 179 not upgraded.
Installing pipx packages to the user environment (sudo lifted).
Installing to existing venv 'cmake'
installed package cmake 3.31.6, installed using Python 3.10.12
These apps are now globally available
- ccmake
- cmake
- cpack
- ctest
⚠️ Note: '/home/junhao/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run
`pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨
/home/junhao/.local/bin has been been added to PATH, but you need to open a new terminal or re-login for this PATH change to take effect.
You will need to open a new terminal or re-login for the PATH changes to take effect.
Otherwise pipx is ready to go! ✨ 🌟 ✨
Pipx CMake installed at: /home/junhao/.local/pipx/venvs/cmake/bin/cmake
CMake version 3.31.6 installed at /home/junhao/.local/pipx/venvs/cmake/bin/cmake satisfies version requirements.
Installing to existing venv 'go-task-bin'
installed package go-task-bin 3.44.0, installed using Python 3.10.12
These apps are now globally available
- task
⚠️ Note: '/home/junhao/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run
`pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨
/home/junhao/.local/bin has been been added to PATH, but you need to open a new terminal or re-login for this PATH change to take effect.
You will need to open a new terminal or re-login for the PATH changes to take effect.
Otherwise pipx is ready to go! ✨ 🌟 ✨
Pipx Task installed at: /home/junhao/.local/pipx/venvs/go-task-bin/bin/task
Task version 3.44.0 installed at /home/junhao/.local/pipx/venvs/go-task-bin/bin/task satisfies version requirements.
Installing to existing venv 'uv'
installed package uv 0.8.22, installed using Python 3.10.12
These apps are now globally available
- uv
- uvx
⚠️ Note: '/home/junhao/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run
`pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨
/home/junhao/.local/bin has been been added to PATH, but you need to open a new terminal or re-login for this PATH change to take effect.
You will need to open a new terminal or re-login for the PATH changes to take effect.
Otherwise pipx is ready to go! ✨ 🌟 ✨
Pipx uv installed at: /home/junhao/.local/pipx/venvs/uv/bin/uv
uv version 0.8.22 installed at /home/junhao/.local/pipx/venvs/uv/bin/uv satisfies version requirements.
dpkg-query: no packages found matching libarchive
Checking for elevated privileges...
/home/junhao/workspace/clp/components/core/tools/scripts/lib_install/ubuntu-jammy/../libarchive.sh: line 67: cmake: command not found
junhao@ASUS-X870E:~/workspace/clp/components/core/tools/scripts/lib_install/ubuntu-jammy$ which cmake
/home/junhao/.local/bin/cmake
junhao@ASUS-X870E:~/workspace/clp/components/core/tools/scripts/lib_install/ubuntu-jammy$ sudo which cmake
junhao@ASUS-X870E:~/workspace/clp/components/core/tools/scripts/lib_install/ubuntu-jammy$ sudo -E bash --login which cmake
/home/junhao/.local/bin/cmake
The failure happens because pipx-installed binaries aren’t immediately searchable on PATH—
even after running pipx ensurepath
and adding the install dirs to .bashrc
. Scripts running in the current shell may not see those changes yet, so CMake
isn’t found even though it exists.
At the moment (#1320), we use full paths to pipx-installed binaries for version checks. We haven’t
done the same for the CMake tarball installers, so they still assume cmake is on PATH. In #1122
we’ll remove the last CMake-based source install (libarchive) and switch to Task-based installs,
which resolves this.
CLP version
0.5.1
Environment
WSL Ubuntu Jammy
Reproduction steps
Run ./clp/components/core/tools/scripts/lib_install/ubuntu-jammy/install-all.sh
with or without sudo on a Ubuntu image without CMake
.
Can also be reproduced on centos9
, manylinux
and musllinux
.