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

cmake wants to write a file to /usr/local/bin #749

Open
Lotharyx opened this issue Dec 5, 2024 · 0 comments
Open

cmake wants to write a file to /usr/local/bin #749

Lotharyx opened this issue Dec 5, 2024 · 0 comments

Comments

@Lotharyx
Copy link

Lotharyx commented Dec 5, 2024

I'm of the opinion that building should never require elevated permissions. IMHO, that includes writing anywhere an unprivileged user generally isn't allowed to write, including /usr/local/bin (on my system, owned by root with 1755 mode).

When I do the typical CMake build operation of...

$ cmake ../

in the build directory I create inside my local working copy, CMake fails on CMakeLists.txt line 917 as it tries to write to /usr/local/bin/custom.sh . Full CMake output at the end here.

Such a file already existed on my system, and so I worked around this issue by changing the ownership of that script to my unprivileged user...but I think it's very strange that CMake is trying to write to a privileged location, and suggest that CMakeLists.txt be modified so that it writes that script somewhere unprivileged; ideally within the build directory tree.

I am building oce/patches commit 98a788062 on an up-to-date Debian 12 (Bookworm/stable) system.

CMake output:

-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Info. Detecting doxygen
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) (Required is at least version "1.8.4")
-- Info: TCL is used by OCCT
-- Found Tclsh: /bin/tclsh8.6 (found version "8.6") 
-- Info: TK is used by OCCT
-- Info: Freetype is used by OCCT
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.12.1") 
-- Info: TKIVtk and TKIVtkDraw toolkits excluded due to VTK usage is disabled
-- Info: The directories of 3rdparty headers: 
	/usr/include/tcl8.6
	/usr/include/freetype2
-- Info: The directories of 3rdparty libraries: 
	/usr/lib/x86_64-linux-gnu
-- 
Info: (21:03:19) Start collecting all OCCT header files into /home/brian/git/oce/bbuild/inc ...
-- Info: (21:03:19) Compare FILES with files in package directories...
-- Info: (21:03:22) Create header-links in inc folder...
-- Info: (21:03:23) Checking headers in inc folder...
-- Info: (21:03:24) End the collecting
CMake Error at CMakeLists.txt:917 (file):
  file failed to open for writing (Permission denied):

    /usr/local/bin/custom.sh


-- Info: (21:03:24) OCCT toolkits processed
-- Info: (21:03:24) OCCT configuration files prepared
-- Configuring incomplete, errors occurred!
See also "/home/brian/git/oce/bbuild/CMakeFiles/CMakeOutput.log".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant