-
Notifications
You must be signed in to change notification settings - Fork 280
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_make barfs on non-ascii characters #476
Comments
To reproduce, create a basic catkin package in a new workspace:
add the following line to the cmakelists: execute_process(COMMAND printf '\\xe2') then run |
Interestingly, it works fine if you use the --no-color option. Also works fine on groovy, which is confusing since it appears that the same version of catkin is released on both groovy and hydro. |
To be clear, I'm only seeing this issue on hydro |
Which versions are you using on Groovy and Hydro? |
|
Do you have a custom catkin version in one of your workspace (groovy or hydro)? |
Nope. I made an empty workspace (following the instructions i posted above) and saw the same error. The only non-debian package in my workspace was foo, the one i created. In that same workspace, i've double checked that it is using the right catkin python code: In [1]: from catkin import builder
In [2]: builder.__file__
Out[2]: '/opt/ros/hydro/lib/python2.7/dist-packages/catkin/builder.pyc'
In [3]: !dpkg -S /opt/ros/hydro/lib/python2.7/dist-packages/catkin/builder.pyc
ros-hydro-catkin: /opt/ros/hydro/lib/python2.7/dist-packages/catkin/builder.pyc |
Well, but something must be different. Is the package which is triggering the exception in both workspace and also equal or is the Groovy and Hydro version of the package different? |
1 similar comment
Its the package which i describe above (in second comment on this issue). It's a completely new catkin package, which i've added exactly one line to the CMakeLists.txt |
I will commit a fix later - the bug in the code is obvious. But I would still like to know who you get different behavior while running the same version. If you do a pure |
OK, actually i realized that i do see the same issue on both groovy and hydro. The reason i didn't see it on groovy before is that i forgot to remove the build and devel directories, and so it wasn't actually re-running cmake; just make. |
Thanks for clarifying. The fix is checked in but don't expect a release very soon since catkin has just been released and the effort of rebuilding stuff is pretty high. Until then you can just checkout catkin into your workspace which has the issue. |
Thanks! |
Enables servicing callbacks during final optimization, thus enabling visualization of its progress in RViz. Fixes ros#476.
When running cmake causes a non-ascii character to be output to stdout, catkin_make crashes.
This problem seems to have been reintroduced with this commit:
22ce2ba
On line 171: 22ce2ba#L1L171 the default unicode encoding seems to be 'ascii', which means it will barf if cmake outputs any non-ascii characters. The resulting exception isn't caught and crashes catkin_make with an exception:
The fix would be to revert that line to:
so that it can handle non-ascii characters.
The text was updated successfully, but these errors were encountered: