freefilesync-7.5 update fails on Gentoo Linux

Get help for specific problems
Posts: 2
Joined: 2 Feb 2014

frank99099

The following error occured after i tried to update from version 7.4 to 7.5:
>>> Emerging (1 of 1) app-misc/freefilesync-7.5::mylocal
* FreeFileSync_7.5_Source.zip SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking FreeFileSync_7.5_Source.zip to /var/tmp/portage/app-misc/freefilesync-7.5/work
>>> Source unpacked in /var/tmp/portage/app-misc/freefilesync-7.5/work
>>> Preparing source in /var/tmp/portage/app-misc/freefilesync-7.5/work ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-misc/freefilesync-7.5/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-misc/freefilesync-7.5/work ...
make -j1 launchpad
mkdir -p ../Obj/FFS_GCC_Make_Release/ffs/src/
g++ -std=c++11 -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" -Wall -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -DZEN_LINUX -pthread `pkg-config --cflags gtk+-2.0` -c algorithm.cpp -o ../Obj/FFS_GCC_Make_Release/ffs/src/algorithm.o
In file included from algorithm.h:11:0,
from algorithm.cpp:7:
file_hierarchy.h: In member function ‘void zen::FileSystemObject::setSyncDirConflict(const wstring&)’:
file_hierarchy.h:651:29: error: ‘make_unique’ is not a member of ‘std’
syncDirectionConflict = std::make_unique<std::wstring>(description);
^
file_hierarchy.h:651:58: error: expected primary-expression before ‘>’ token
syncDirectionConflict = std::make_unique<std::wstring>(description);
^
file_hierarchy.h: In member function ‘void zen::FileSystemObject::setCategoryConflict(const wstring&)’:
file_hierarchy.h:787:22: error: ‘make_unique’ is not a member of ‘std’
cmpResultDescr = std::make_unique<std::wstring>(description);
^
file_hierarchy.h:787:51: error: expected primary-expression before ‘>’ token
cmpResultDescr = std::make_unique<std::wstring>(description);
^
file_hierarchy.h: In member function ‘void zen::FileSystemObject::setCategoryDiffMetadata(const wstring&)’:
file_hierarchy.h:794:22: error: ‘make_unique’ is not a member of ‘std’
cmpResultDescr = std::make_unique<std::wstring>(description);
^
file_hierarchy.h:794:51: error: expected primary-expression before ‘>’ token
cmpResultDescr = std::make_unique<std::wstring>(description);
^
Makefile:98: recipe for target '../Obj/FFS_GCC_Make_Release/ffs/src/algorithm.o' failed
make: *** [../Obj/FFS_GCC_Make_Release/ffs/src/algorithm.o] Error 1


dev-libs/zenxml 2.3 is installed.
Any Idea what is going wrong here?
Posts: 3
Joined: 26 Sep 2000

mbucas

std::make_unique is a C++14 feature.
The gcc command line contains explicit "-std=c++11"

When I change this parameter in the Makefiles to "-std=c++14", using gcc 4.9.3, the build finishes correctly, and FreeFileSync works.

@zenju : Could you update the Makefiles with this option ?

Thanks
User avatar
Site Admin
Posts: 7211
Joined: 9 Dec 2007

Zenju

Thanks, I've updated the source file accordingly.
Posts: 2
Joined: 2 Feb 2014

frank99099

Fixed. Thank you very much!