MrHacky / uftt

Automatically exported from code.google.com/p/uftt
1 stars 1 forks source link

ext::filesystem is not compatible with boost >= 1.46 #28

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Upgrade from <dev-libs/boost-1.46 to >=dev-libs/boost-1.46
2. Compile UFTT

What is the expected output? What do you see instead?
UFTT should compile, but it does not.
Instead compilation halts with the following error message:
---8<---------
In file included from 
/home/dafox/Projects/uftt/trunk/src/util/SettingsManager.h:14,
                 from /home/dafox/Projects/uftt/trunk/src/util/SettingsManager.cpp:1:
/home/dafox/Projects/uftt/trunk/src/util/Filesystem.h:77: error: 
‘traits_type’ in class 
‘ext::filesystem::UTF8PathNative’ does not name a type
/home/dafox/Projects/uftt/trunk/src/util/Filesystem.h:81: error: expected 
initializer before ‘<’ token
/home/dafox/Projects/uftt/trunk/src/util/Filesystem.h:82: error: expected 
initializer before ‘<’ token
make[2]: *** [src/util/CMakeFiles/lib-util.dir/SettingsManager.o] Error 1
make[1]: *** [src/util/CMakeFiles/lib-util.dir/all] Error 2
make: *** [all] Error 2
--->8---------

Please use labels and text to provide additional information.
The problem seems to stem from a redesign of the boost-filesystem library, the 
implementation of which has become the default starting from boost 1.46.
As a work-around it is possible (for now) to #define BOOST_FILESYSTEM_VERSION 
to version 2.

Original issue reported on code.google.com by daniel.g...@gmail.com on 21 May 2011 at 8:45

GoogleCodeExporter commented 9 years ago
the '#define BOOST_FILESYSTEM_VERSION' workaround should be used (and commited) 
for now, and maybe even until boost stops supporting that so we can reevaluate 
the state of their filesystem libraries and come up with a new solution at that 
time.

Original comment by simon.sasburg@gmail.com on 15 Jun 2011 at 2:25

GoogleCodeExporter commented 9 years ago
Please realize that boost::filesystem v2 will be gone in 1 release. Boost 1.46 
is already out, and boost 1.47 (which is the last version to support v2) will 
be released soon. Boost 1.48 and higher will no longer support v2.

Original comment by daniel.g...@gmail.com on 15 Jun 2011 at 3:09

GoogleCodeExporter commented 9 years ago
r978 implements ext::filesystem as a wrapper that should resolve this issue.

Original comment by simon.sasburg@gmail.com on 22 Oct 2011 at 11:37