GithubHelp home page GithubHelp logo

Comments (10)

ForceFaction avatar ForceFaction commented on August 14, 2024 1

I see. Your argument makes perfect sense and i agree.

I will search how to influence FIndPython3 then.

Thank you for your time :)

from libarcus.

ForceFaction avatar ForceFaction commented on August 14, 2024

commit 724d8f6 seems to have removed that option from the CMakeLists.txt.

I should add i'm trying to build 4.7.1 :)

from libarcus.

Ghostkeeper avatar Ghostkeeper commented on August 14, 2024

Yup, you're right. It seems that functionality was removed then to fix an issue with the CMake version we're running on our CentOS build server. I'll remove it from the documentation.

from libarcus.

ForceFaction avatar ForceFaction commented on August 14, 2024

That's unfortunate. I'm trying to package this library for Guix and i get a permission denied error because the package tries to install files outside of it's CMAKE_INSTALL_PREFIX'ed path. Build log is attached. If you have questions regarding the build log and what different things mean, please ask :-)

log.txt

from libarcus.

Ghostkeeper avatar Ghostkeeper commented on August 14, 2024

Hmm, yeah I guess that could happen due to the installation directive at

INSTALL(TARGETS ${_logical_name} DESTINATION "${Python3_SITEARCH}/${_parent_module_path}")

Could you try adjusting Python3_SITEARCH?

from libarcus.

ForceFaction avatar ForceFaction commented on August 14, 2024

Setting this variable with -DPython3_SITEARCH doesn't make a difference. Even hardcoding doesn't seem to help.

from libarcus.

ForceFaction avatar ForceFaction commented on August 14, 2024

I see, no wonder it doesn't work i'm using CMake 3.16 that means the line you mentioned doesn't get executed here, so changes there make no sense.

EDIT: I also see that this is different on master ... I'm on 4.7.1

from libarcus.

ForceFaction avatar ForceFaction commented on August 14, 2024

I tried the master and the following worked:

diff --git a/cmake/FindSIP.cmake b/cmake/FindSIP.cmake
index b93873f..4d3f703 100644
--- a/cmake/FindSIP.cmake
+++ b/cmake/FindSIP.cmake
@@ -56,7 +56,8 @@ execute_process(
    OUTPUT_STRIP_TRAILING_WHITESPACE
 )
 if(${_process_status} EQUAL 0)
-   string(STRIP ${_process_output} Python3_SITEARCH)
+   string(STRIP ${_process_output} _Python3_SITEARCH)
+   set(Python3_SITEARCH _Python3_SITEARCH CACHE PATH "Python modules install directory.")
 else()
    message(FATAL_ERROR "Failed to get Python3_SITEARCH. Error: ${_process_output}")
 endif()

This should do the trick, i guess

from libarcus.

ForceFaction avatar ForceFaction commented on August 14, 2024

@Ghostkeeper Is it possible this way? Or does it imply annoying side effects? If not it would be nice if this was added :)

from libarcus.

Ghostkeeper avatar Ghostkeeper commented on August 14, 2024

I think changing Python3_SITEARCH somewhere in the FindSIP script can have bad side effects: If another script uses Python3_SITEARCH it'll get a different directory based on whether this FindSIP script was executed before or after. So then maybe it's going to install some Python modules in one place, and other Python modules in another.

It also doesn't address the underlying problem that your Python3_SITEARCH was apparently incorrect or undesirable. This variable is the output of the FindPython3 script so I don't know if you're really supposed to change it. It would be better to change the inputs of that script, e.g. Python3_ROOT_DIR, if you have an alternative location where Python3 is installed.

Only we've since reverted to using FindPythonInterp since that worked better with our build servers which are using a rather old version of CMake (3.6). This script doesn't have any Python3_SITEARCH output variable nor does it have an input to tell it which Python interpreter to use.

from libarcus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.