Patches for locale and boost issue
|Status:||Closed||Start date:||02 Nov 2012|
|Assignee:||Robin Mills||% Done:|
|Category:||build||Estimated time:||1.00 hour|
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.
#1 Updated by Mario anyc over 6 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.
#2 Updated by Robin Mills over 6 years ago
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.
#3 Updated by Mario anyc over 6 years ago
- File 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.
#4 Updated by Robin Mills over 6 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.