-
Notifications
You must be signed in to change notification settings - Fork 1
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
Catkin 0.7.8 Does Not Compile #17
Comments
@tfoote FYI |
This might be a quoting issue for the subprocess bash/python interpretation.
|
@tfoote thanks for the tip! Looked into it more and devised this patch. diff --git a/python/catkin/environment_cache.py b/python/catkin/environment_cache.py
index dd5e353..a5463ab 100644
--- a/python/catkin/environment_cache.py
+++ b/python/catkin/environment_cache.py
@@ -57,7 +57,7 @@ def generate_environment_script(env_script):
env = os.environ
# fetch environment after calling setup
- python_code = 'import os; print(dict(os.environ))'
+ python_code = "'import os; print(dict(os.environ))'"
output = subprocess.check_output([env_script, sys.executable, '-c', python_code])
env_after = ast.literal_eval(output.decode('utf8')) Unfortunately, the patch isn't doing the trick yet, but I definitely found what's tripping up: https://github.com/ros/catkin/blob/a7f81d0087f87449f35ff2c0380be7373f44de3d/python/catkin/environment_cache.py#L56-L62 In this case, the command being run is:
But that all seems fine to me -- do you have any ideas? |
Update: This happens if I run that command in the terminal.
Moreover, I can run the python interpreter from that file.
|
sigh I figured it out. #ifndef _LINUX_BINFMTS_H
#define _LINUX_BINFMTS_H
#include <unistd.h>
#include <linux/capability.h>
struct pt_regs;
/*
* These are the maximum length and maximum number of strings passed to the
* execve() system call. MAX_ARG_STRLEN is essentially random but serves to
* prevent the kernel from being unduly impacted by misaddressed pointers.
* MAX_ARG_STRINGS is chosen to fit in a signed 32-bit integer.
*/
#define MAX_ARG_STRLEN (sysconf(_SC_PAGESIZE) * 32)
#define MAX_ARG_STRINGS 0x7FFFFFFF
/* sizeof(linux_binprm->buf) */
#define BINPRM_BUF_SIZE 128
#endif /* _LINUX_BINFMTS_H */ The
Which is exactly what the "bad interpreter" was when mentioned in the log previously. I'm sure a clever symlink could fix this, but I think this will involve tricking OE into making it somehow. Regardless, that's definitely a bummer. Update: I'm going to change the |
It looks like this is a common issue for python virtual envs: pypa/virtualenv#596 This forwarder script seems like it might be the best approach to workaround the limit: spack/spack#497 |
On my new kernel now with the longer limit (because I want to make sure this all works before getting buried in patches). This is the new build output.
|
@tfoote More progress after removing the patch to quote the string.
|
That comes for |
Ok, I found that there's no python2.7 in that folder (but there is python3.5). I'm attempting to switch catkin to 3.5 for the moment. |
* rosdistro sync, Mon Jul 24 18:24:27 2017 (#13) * Signing the bbclasses so that we can modify stuff. * Added a temporary lunar directory * First ros-lunar recipes. (#1) * regenerate ros-lunar, Thu Jul 6 11:15:15 2017 * regenerate ros-lunar, Mon Jul 17 12:29:45 2017 (#4) * sophus: compile on x86-64 arch (resolves ros#497) This commit implements Christian Ege's suggestion in the meta-ros issue tracker to make gcc only warn on ignored template attributes. Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> * regenerate ros-lunar, Mon Jul 17 13:43:54 2017 (#5) * regenerate ros-lunar, Thu Jul 20 10:46:00 2017 (#6) * regenerate ros-lunar, Thu Jul 20 12:28:02 2017 (#7) * Old version of geometry 2. * Old geometry build. * regenerate ros-lunar, Thu Jul 20 15:14:27 2017 (#8) * Added defusedxml bb * regenerate ros-lunar, Fri Jul 21 14:36:57 2017 (#9) * regenerate ros-lunar, Fri Jul 21 15:20:35 2017 (#10) * regenerate ros-lunar, Mon Jul 24 10:57:45 2017 (#11) * Bumped catkin version, as well as added a non-binary option for building catkin. * Necessary changes to get catkin working. * Remove extraneous recipes. * regenerate ros-lunar, Mon Jul 24 16:24:15 2017 (#12) * regenerate ros-lunar, Mon Jul 24 18:24:27 2017 * regenerate ros-lunar, Thu Nov 30 20:21:29 2017 (#16) * Add updated version of defusedxml * Remove extra lines form bbclass files. * update rosdistro. * Update rosdep. * Update catkin_pkg * Update rospkg. * Fix checksums, move checksums out of include files, and remove a patch from rosdep. * regenerate ros-lunar, Fri Dec 1 11:34:40 2017 (#18) * Use the catkin.inc file. * Add more patches for catkin. * Change patch set. * Still working on catkin stuff * Ok, catkin is working now. Fixes #17. * regenerate ros-lunar, Mon Dec 18 16:50:31 2017 (#20) * regenerate ros-lunar, Fri Dec 22 16:50:36 2017 (#23) * regenerate ros-kinetic, Sat Dec 23 13:24:12 2017
Here for visibility.
The text was updated successfully, but these errors were encountered: