#413 Fails to compile with Boost 1.46

fatal/crash
closed
Chris Foster
general (168)
5
2014-07-09
2011-04-29
No

Hello,

I received the following bug report at Debian:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624504

The package aqsis that I maintain, will start to fail in all of the architectures supported by Debian and Ubuntu as soon as the packages are rebuilt agains the new Boost libraries.

You might want to apply the changes suggested by the patch attached to the bug report, although I would not use the #ifdefs and would switch to the new substitutes.

Also, it would be useful for me to know if you're going to release a new stable version soon (either 2.0 or 1.6.1) so I can plan ahead and release an official version instead of having to include the patches. Is there any plan about new stable releases?

Cheers.

Discussion

  • Chris Foster
    Chris Foster
    2011-05-20

    Hi Manuel,

    Thanks for the heads up on this issue. We'll have to decide whether we even care about old versions of boost filesystem or whether we'll just convert to the new version. I agree that the #ifdefs in the proposed patch are excessively ugly, though it does helpfully identify the problem points.

    Regarding releases, we plan to release a 1.8 in a few months with a few great new features. 2.0 is still a way off because it's a very big job.

     
  • Another option is to pass this option to cmake (taken from Fedora mailing lists):
    -DCMAKE_CXX_FLAGS="$CXXFLAGS -DBOOST_FILESYSTEM_VERSION=2"

    However I produced a new patch (without the #ifdefs, so you can apply it right away to "upgrade" your code to new Boost) that it's going to be used for Debian/Ubuntu until a new upstream fix is provided. Patch attached.

    Hope that people finds this useful.

     
  • nfz
    nfz
    2011-06-08

    Hi Manuel,

    I ran into this problem too when upgrading from Fedora 14 to 15 which now uses Boost 1.46. I applied your path to my copy of Aqsis but I also had to modify ribwrtier.cpp and zinputfile.cpp: changing file_string() to string().

    Thank you for the patch.

     
  • Hi Everyone,

    I didn't see this issue previously, but I've also submitted patch #3324667, which addresses the same problem. The path::file_string() method is deprecated in Boost now.

    Jonathan Merritt.

     
  • Chris Foster
    Chris Foster
    2011-07-11

    Ok, I think I've fixed this now in the trunk. I ended up making some wrapper functions so that backward compatibility would be preserved. Not sure it was worth the messing about, but it's done now.

    Test away!

     
    • status: pending --> closed
    • Group: --> fatal/crash
     
  • Closing fixed issue.

    Aqsis now compiles happily with boost 1.55

     


Anonymous


Cancel   Add attachments