Patch #865

Patches for locale and boost issue

Added by Mario anyc almost 5 years ago. Updated about 4 years ago.

Status:ClosedStart date:02 Nov 2012
Priority:NormalDue date:
Assignee:Robin Mills% Done:

50%

Category:buildEstimated time:1.00 hour
Target version:0.24

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.

exiv2-0.23-boost-fs-contrib.patch Magnifier - Patch to compile contrib/organize with actual boost library (9.33 KB) Mario anyc, 02 Nov 2012 05:11

exiv-0.23-locale.patch Magnifier - Fix sed command for special locales (840 Bytes) Mario anyc, 03 Nov 2012 09:40

Associated revisions

Revision 2932
Added by Robin Mills almost 5 years ago

Issue: #865. Thank you Mario for the patch. http://dev.exiv2.org/issues/865

Revision 2933
Added by Robin Mills almost 5 years ago

Issue: #865. Thank you Mario for the patch.

History

#1 Updated by Mario anyc almost 5 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 almost 5 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

#3 Updated by Mario anyc almost 5 years ago

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 almost 5 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.

#5 Updated by Robin Mills almost 5 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

#6 Updated by Robin Mills over 4 years ago

  • Status changed from Assigned to Resolved

#7 Updated by Robin Mills about 4 years ago

  • Status changed from Resolved to Closed

Fixed in 0.24.

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux