-
Notifications
You must be signed in to change notification settings - Fork 130
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
Read only file system ? #210
Comments
Yes, the source directory is only mounted read-only, because generated files should end up in build space. |
I attempted to run that version of industrial_ci, but I get a similar error... |
OK I got it working after adding WRITABLE_SOURCE=true to the travis build. |
Why does catkin_pip_requirements puts ("generates") files in |
Pip does that for (AFAIK) :
pip can actually do the whole workspace management by itself. It s a feature not used by default in catkin_pip, but possible, because some python packages can have unreleased dependencies. "cleanup" in python is not the same as C++. There is no "build" in python for example (you just run the source), so no need to "cleanup" (unless you totally break your python environment, but then cleaning is quite complicated and probably not automatable). |
As soon as you execute something from within CMake and adding some files somewhere, this is a build. The idea behind the read-only source directory is not related to the CI build itself, but it should enforce the best practices that users (of your packages) expect (out-of-source build). |
When someone checkout a repository A and also checkout a repository B in their workspace, they don't get a " you should not create file in the source tree" error. Yet this step is part of a "install" step for python. no build, no clean. just install. So I would say that C++ That being said, I created an issue there pyros-dev/catkin_pip#142 for discussing possible improvements to I wonder how you would consider managing a project that uses https://cmake.org/cmake/help/v3.0/module/ExternalProject.html to gather its unreleased dependencies, instead of using wstool + git/svn/... manually ? This to me seems similar to the |
(disclaimer: I'm probably as much a C++ 'dinosaur' as @ipa-mdl is, so my views on Python dev are a bit skewed) I just wanted to quickly comment on the fact that some comments seems to suggest that catkin somehow is doing something special, especially when it comes to avoiding in-source builds. That is not the case. It's really a CMake convention that catkin is merely following.
This is actually very different. But all of that should go into the build space, not in the source space, as they are not part of the sources of your project, they just happen to be dependencies distributed in source format. |
I have some trouble executing Python tests. I get errors importing nested modules. I'm not sure what's causing this problem, but it is very likely related to the read-only file systems. In Python, especially tests are executed in place. |
All source is now writable in the new |
Using industrial_ci with one of my package I get :
I am not familiar with catkin_tools but :
catkin build
catkin_make
(see https://github.com/pyros-dev/pyros-utils and https://travis-ci.org/pyros-dev/pyros-utils/branches)Any idea of what may be the cause here ? some specific docker image setup ?
The text was updated successfully, but these errors were encountered: