Patch #865
Patches for locale and boost issue
50%
Description
Exiv2 fails to build with et_EE locale (see [[https://bugs.gentoo.org/show_bug.cgi?id=382731]]) and with boost filesystem version 3 (see [[https://bugs.gentoo.org/show_bug.cgi?id=440842]]).
The locale issue can be fixed by prepending LC_ALL="C" to the sed commands in the Makefile. We fixed it by executing: sed -i -r "s,(\s+)sed\s,\1LC_ALL="C" sed ,g" src/Makefile
For this locale, [A-Z] does not include all letters of the alphabet.
For the boost issue I attached a patch. Only simple substitutions are necessary.
Files
Associated revisions
Issue: #865. Thank you Mario for the patch.
History
Updated by Mario anyc about 9 years ago
A small correction: The bug corresponding to the boost issue is https://bugs.gentoo.org/show_bug.cgi?id=357605, the issue in https://bugs.gentoo.org/show_bug.cgi?id=440842 is that setting a macro to stick to FS version 2 does not work anymore as a fix for the previous bug and instead, the proposed patch is required.
Updated by Robin Mills about 9 years ago
Mario
Thanks for providing the patch which I've submitted: SVN:2932
I'm a little lost by your two messages. The patch only contains C++ changes to contrib/organize/organize.cpp and doesn't have anything to do with Makefiles and sed. Can you confirm that the patch is good and your self-correction in message 2 only concerns the boost paper trail.
Robin
Updated by Mario anyc about 9 years ago
- File exiv-0.23-locale.patch exiv-0.23-locale.patch added
Ah, sorry, maybe I was a little bit too sloppy while writing the description. :)
Your commit fixes the boost issue, yes. The other issue concerns the src/Makefile. I wrote a proper patch that equals the result of the mentioned sed command. It prepends the two sed commands in the Makefile with LC_ALL="C" in order to make them behave as expected also with special locales. The second sed command in the Makefile failed for one of our users with et_EE locale as their alphabet has a different sorting and therefore the [A-Z] regexp behaves differently.
Updated by Robin Mills about 9 years ago
Ah yes. I now understand. Thanks - that's ingenious. I've submitted the change to src/Makefile: SVN 2933
A long-term project goal is to only support CMake and discontinue support for autotools and msvc. The file exv_conf.h is generated by CMake without using sed and is not impacted by this change. The msvc/msvc64 build environments use the static file exv_msvc.h instead of exv_conf.h and is not impacted by this change.
Updated by Robin Mills about 9 years ago
- Category set to build
- Status changed from New to Assigned
- Assignee set to Robin Mills
- Target version set to 0.24
- % Done changed from 0 to 50
- Estimated time set to 1.00 h
Issue: #865. Thank you Mario for the patch. http://dev.exiv2.org/issues/865