FileUtils.cpp: In function 'void boost::serialization::load(Archive&, EncFSConfig&, unsigned int)': FileUtils.cpp:164: error: there are no arguments to 'make_binary_object' that depend on a template parameter, so a declaration of 'make_binary_object' must be available FileUtils.cpp:164: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) mv -f .deps/SSL_Cipher.Tpo .deps/SSL_Cipher.Plo x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I../intl -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -D__STDC_FORMAT_MACROS -DRLOG_COMPONENT="encfs" -I/usr/kerberos/include -I/usr/include -DLOCALEDIR=\"/usr/share/locale\" -W -Wall -Wpointer-arith -Wwrite-strings -march=core2 -O2 -pipe -pthread -MT test.o -MD -MP -MF .deps/test.Tpo -c -o test.o test.cpp FileUtils.cpp: In function 'void boost::serialization::save(Archive&, const EncFSConfig&, unsigned int) [with Archive = boost::archive::xml_oarchive]': /usr/include/boost/serialization/split_free.hpp:45: instantiated from 'static void boost::serialization::free_saver<Archive, T>::invoke(Archive&, const T&, unsigned int) [with Archive = boost::archive::xml_oarchive, T = EncFSConfig]' /usr/include/boost/serialization/split_free.hpp:74: instantiated from 'void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_oarchive, T = EncFSConfig]' FileUtils.cpp:171: instantiated from 'void boost::serialization::serialize(Archive&, EncFSConfig&, unsigned int) [with Archive = boost::archive::xml_oarchive]' /usr/include/boost/serialization/serialization.hpp:140: instantiated from 'void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_oarchive, T = EncFSConfig]' /usr/include/boost/archive/detail/oserializer.hpp:214: instantiated from 'boost::archive::detail::pointer_oserializer<Archive, T>::pointer_oserializer() [with Archive = boost::archive::xml_oarchive, T = EncFSConfig]' /usr/include/boost/archive/detail/dynamically_initialized.hpp:39: instantiated from 'static T& boost::archive::detail::dynamically_initialized<T>::get_instance() [with T = boost::archive::detail::pointer_oserializer<boost::archive::xml_oarchive, EncFSConfig>]' /usr/include/boost/archive/detail/dynamically_initialized.hpp:33: instantiated from 'boost::archive::detail::pointer_oserializer<boost::archive::xml_oarchive, EncFSConfig>& boost::archive::detail::dynamically_initialized<boost::archive::detail::pointer_oserializer<boost::archive::xml_oarchive, EncFSConfig> >::instance' /usr/include/boost/archive/detail/oserializer.hpp:231: instantiated from 'static const boost::archive::detail::pointer_oserializer<Archive, T>& boost::archive::detail::pointer_oserializer<Archive, T>::get_instance() [with Archive = boost::archive::xml_oarchive, T = EncFSConfig]' /usr/include/boost/archive/detail/interface_oarchive.hpp:57: instantiated from 'const boost::archive::detail::basic_pointer_oserializer* boost::archive::detail::interface_oarchive<Archive>::register_type(const T*) [with T = EncFSConfig, Archive = boost::archive::xml_oarchive]' /usr/include/boost/archive/detail/oserializer.hpp:339: instantiated from 'static const boost::archive::detail::basic_pointer_oserializer* boost::archive::detail::save_pointer_type<Archive, TPtr>::non_abstract<T>::register_type(Archive&) [with T = EncFSConfig, Archive = boost::archive::xml_oarchive, TPtr = EncFSConfig*]' /usr/include/boost/archive/detail/oserializer.hpp:355: instantiated from 'static const boost::archive::detail::basic_pointer_oserializer* boost::archive::detail::save_pointer_type<Archive, TPtr>::register_type(Archive&, T&) [with T = EncFSConfig, Archive = boost::archive::xml_oarchive, TPtr = EncFSConfig*]' /usr/include/boost/archive/detail/oserializer.hpp:455: instantiated from 'static void boost::archive::detail::save_pointer_type<Archive, TPtr>::invoke(Archive&, TPtr) [with Archive = boost::archive::xml_oarchive, TPtr = EncFSConfig*]' /usr/include/boost/archive/detail/oserializer.hpp:532: instantiated from 'void boost::archive::save(Archive&, const T&) [with Archive = boost::archive::xml_oarchive, T = EncFSConfig*]' /usr/include/boost/archive/detail/common_oarchive.hpp:64: instantiated from 'void boost::archive::detail::common_oarchive<Archive>::save_override(T&, int) [with T = EncFSConfig* const, Archive = boost::archive::xml_oarchive]' /usr/include/boost/archive/basic_xml_oarchive.hpp:103: instantiated from 'void boost::archive::basic_xml_oarchive<Archive>::save_override(const boost::serialization::nvp<T>&, int) [with T = EncFSConfig*, Archive = boost::archive::xml_oarchive]' /usr/include/boost/archive/detail/interface_oarchive.hpp:64: instantiated from 'Archive& boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T = const boost::serialization::nvp<EncFSConfig*>, Archive = boost::archive::xml_oarchive]' FileUtils.cpp:476: instantiated from here FileUtils.cpp:140: error: 'make_binary_object' was not declared in this scope FileUtils.cpp: In function 'void boost::serialization::load(Archive&, EncFSConfig&, unsigned int) [with Archive = boost::archive::xml_iarchive]': /usr/include/boost/serialization/split_free.hpp:58: instantiated from 'static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive, T = EncFSConfig]' /usr/include/boost/serialization/split_free.hpp:74: instantiated from 'void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive, T = EncFSConfig]' FileUtils.cpp:171: instantiated from 'void boost::serialization::serialize(Archive&, EncFSConfig&, unsigned int) [with Archive = boost::archive::xml_iarchive]' /usr/include/boost/serialization/serialization.hpp:140: instantiated from 'void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::xml_iarchive, T = EncFSConfig]' /usr/include/boost/archive/detail/iserializer.hpp:160: instantiated from 'void boost::archive::detail::iserializer<Archive, T>::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const [with Archive = boost::archive::xml_iarchive, T = EncFSConfig]' FileUtils.cpp:1522: instantiated from here FileUtils.cpp:163: error: 'make_binary_object' was not declared in this scope make[2]: *** [FileUtils.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... mv -f .deps/encfs.Tpo .deps/encfs.Po mv -f .deps/main.Tpo .deps/main.Po mv -f .deps/encfsctl.Tpo .deps/encfsctl.Po mv -f .deps/test.Tpo .deps/test.Po make[2]: Leaving directory `/var/tmp/paludis/sys-fs-encfs-1.4.2/work/encfs-1.4.2/encfs' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/paludis/sys-fs-encfs-1.4.2/work/encfs-1.4.2' make: *** [all] Error 2 !!! ERROR in sys-fs/encfs-1.4.2: !!! In src_compile at line 3327 !!! (no message provided) !!! Call stack: !!! * src_compile (/var/tmp/paludis/sys-fs-encfs-1.4.2/temp/loadsaveenv:3327) !!! * ebuild_f_compile (/usr/libexec/paludis/0/src_compile.bash:49) !!! * ebuild_main (/usr/libexec/paludis/ebuild.bash:460) !!! * main (/usr/libexec/paludis/ebuild.bash:479) Reproducible: Always
I suspect the following patch may fix this: http://patches.ubuntu.com/by-release/extracted/ubuntu/e/encfs/1.4.2-2/gcc_fixes Somebdoy please test.
Those patches added #include <string.h> to sources that didn't have it but did not correct the make_binary_object errors not declared errors so compiling still fails
(In reply to comment #2) > Those patches added #include <string.h> to sources that didn't have it but did > not correct the make_binary_object errors not declared errors so compiling > still fails > He's too hasty, eh... http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=99abffc75a220e7024a2598d8ab07032a428b074 perhaps that one is better.
The patches for gcc43 were already applied to the current gentoo source. No change.
Peter, Feel free to commit if you find a patch that works... Cheers
This bug has been reported upstream: Bug #237321 in EncFS Compilation error make_binary_object https://bugs.launchpad.net/encfs/+bug/237321 It may be fixed in svn build 29 but I could not verify.
With the update of rlog-1.4 encfs is now broken and completely inoperable. This is now a critical bug
Guys, I masked dev-libs/rlog-1.4 for now, which might help some of you.
According to the encfs homepage, the 1.5 series supports "GCC 4.3 compiler". Anybody know if this will let us actually use encfs now?
Created attachment 165918 [details] Working ebuild for encfs 1.5-2 Here's a working ebuild for 1.5-2. At least, it works for me. Yay!
Can we move this bug from "GCC Porting" to "Ebuilds", since it's now a matter of using the newest upstream version (instead of writing our own hack for gcc-4.3 compatibility)?
Bumped to 1.5 in cvs, thanks!