View previous topic :: View next topic |
Author |
Message |
kris27 n00b
Joined: 02 Jun 2010 Posts: 47 Location: Sydney
|
Posted: Fri May 18, 2018 3:41 pm Post subject: jfsrec |
|
|
[Moderator note: this thread, and the first response, were originally attached to the 12 year old thread Did I format the wrong drive? And what to do if so.... For convenience, I changed the quote blocks to link to the quoted posts. -Hu]
simon78 wrote: | NeddySeagoon wrote: | simon78,
There is no unformat - your data is still there but its all unlinked now. |
There is now :)
I have implemented jfsrec, a tool that makes a read-only extraction of files and directories from a damaged JFS volume.
Its available under GPL from: http://sourceforge.net/projects/jfsrec/ |
Hi
I am trying to compile jfsrec on my gentoo box.
Unfortunatelly .... cant do it. The boost library seems to have wrong files.h
Any ideas?? How did you build it please. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54244 Location: 56N 3W
|
Posted: Fri May 18, 2018 5:56 pm Post subject: |
|
|
kris27,
Post your build log. You may want a contemporary Gentoo install to build jfsrec/ if its not been touched in 12 years. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
kris27 n00b
Joined: 02 Jun 2010 Posts: 47 Location: Sydney
|
Posted: Sun May 20, 2018 11:50 am Post subject: Build jfsrec build problem |
|
|
There is the message from compilation:
Code: | $ uname -a
Linux fx8 4.9.72-gentoo #1 SMP Fri Jan 12 13:41:55 GMT 2018 x86_64 AMD
FX(tm)-8150 Eight-Core Processor AuthenticAMD GNU/Linux
|
The text below shows "failure" of boost
Code: | make
make all-recursive
make[1]: Entering directory '/opt/jfsrec'
Making all in src
make[2]: Entering directory '/opt/jfsrec/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT jfsrec.o -MD -MP -MF
".deps/jfsrec.Tpo" -c -o jfsrec.o jfsrec.cpp; \
then mv -f ".deps/jfsrec.Tpo" ".deps/jfsrec.Po"; else rm -f
".deps/jfsrec.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT options.o -MD -MP -MF
".deps/options.Tpo" -c -o options.o options.cpp; \
then mv -f ".deps/options.Tpo" ".deps/options.Po"; else rm -f
".deps/options.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT inodevector.o -MD -MP
-MF ".deps/inodevector.Tpo" -c -o inodevector.o inodevector.cpp; \
then mv -f ".deps/inodevector.Tpo" ".deps/inodevector.Po"; else rm -f
".deps/inodevector.Tpo"; exit 1; fi
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT inode.o -MD -MP -MF
".deps/inode.Tpo" -c -o inode.o inode.cpp; \
then mv -f ".deps/inode.Tpo" ".deps/inode.Po"; else rm -f
".deps/inode.Tpo"; exit 1; fi
inode.cpp: In member function 'virtual boost::filesystem::path
jfsrec::Inode::get_full_path()':
inode.cpp:70:54: error: no matching function for call to
'boost::filesystem::path::path(std::__cxx11::string&, bool (&)(const
string&))'
return (options.get_output_dir()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:181:5: note: candidate:
template<class InputIterator>
boost::filesystem::path::path(InputIterator, InputIterator, const
codecvt_type&)
path(InputIterator begin, InputIterator end, const codecvt_type&
cvt)
^~~~
/usr/include/boost/filesystem/path.hpp:181:5: note: template argument
deduction/substitution failed:
inode.cpp:70:54: note: deduced conflicting types for parameter
'InputIterator' ('std::__cxx11::basic_string<char>' and 'bool (*)(const
string&) {aka bool (*)(const std::__cxx11::basic_string<char>&)}')
return (options.get_output_dir()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:169:5: note: candidate:
template<class InputIterator>
boost::filesystem::path::path(InputIterator, InputIterator)
path(InputIterator begin, InputIterator end)
^~~~
/usr/include/boost/filesystem/path.hpp:169:5: note: template argument
deduction/substitution failed:
inode.cpp:70:54: note: deduced conflicting types for parameter
'InputIterator' ('std::__cxx11::basic_string<char>' and 'bool (*)(const
string&) {aka bool (*)(const std::__cxx11::basic_string<char>&)}')
return (options.get_output_dir()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:163:5: note: candidate:
template<class Source> boost::filesystem::path::path(const Source&,
const codecvt_type&)
path(Source const& source, const codecvt_type& cvt)
^~~~
/usr/include/boost/filesystem/path.hpp:163:5: note: template argument
deduction/substitution failed:
inode.cpp:70:54: note: cannot convert 'boost::filesystem::native'
(type 'bool(const string&) {aka bool(const
std::__cxx11::basic_string<char>&)}') to type 'const codecvt_type& {aka
const std::codecvt<wchar_t, char, __mbstate_t>&}'
return (options.get_output_dir()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:157:5: note: candidate:
boost::filesystem::path::path(boost::filesystem::path&&)
path(path&& p) BOOST_NOEXCEPT { m_pathname =
std::move(p.m_pathname); }
^~~~
/usr/include/boost/filesystem/path.hpp:157:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:150:5: note: candidate:
boost::filesystem::path::path(boost::filesystem::path::string_type&)
path(string_type& s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:150:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:149:5: note: candidate:
boost::filesystem::path::path(const string_type&)
path(const string_type& s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:149:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:148:5: note: candidate:
boost::filesystem::path::path(boost::filesystem::path::value_type*)
path(value_type* s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:148:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:147:5: note: candidate:
boost::filesystem::path::path(const value_type*)
path(const value_type* s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:147:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:140:5: note: candidate:
boost::filesystem::path::path(const Source&, typename
boost::enable_if<boost::filesystem::path_traits::is_pathable<typename
boost::decay<Source>::type> >::type*) [with Source =
std::__cxx11::basic_string<char>; typename
boost::enable_if<boost::filesystem::path_traits::is_pathable<typename
boost::decay<Source>::type> >::type = void] <near match>
path(Source const& source,
^~~~
/usr/include/boost/filesystem/path.hpp:140:5: note: conversion of
argument 2 would be ill-formed:
inode.cpp:70:54: error: invalid conversion from 'bool (*)(const string&)
{aka bool (*)(const std::__cxx11::basic_string<char>&)}' to
'boost::enable_if_c<true, void>::type* {aka void*}' [-fpermissive]
return (options.get_output_dir()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:137:5: note: candidate:
boost::filesystem::path::path(const boost::filesystem::path&)
path(const path& p) : m_pathname(p.m_pathname) {}
^~~~
/usr/include/boost/filesystem/path.hpp:137:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:136:5: note: candidate:
boost::filesystem::path::path()
path() BOOST_NOEXCEPT {}
^~~~
/usr/include/boost/filesystem/path.hpp:136:5: note: candidate expects
0 arguments, 2 provided
inode.cpp:72:54: error: no matching function for call to
'boost::filesystem::path::path(std::__cxx11::string&, bool (&)(const
string&))'
return (parent_->get_full_path()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:181:5: note: candidate:
template<class InputIterator>
boost::filesystem::path::path(InputIterator, InputIterator, const
codecvt_type&)
path(InputIterator begin, InputIterator end, const codecvt_type&
cvt)
^~~~
/usr/include/boost/filesystem/path.hpp:181:5: note: template argument
deduction/substitution failed:
inode.cpp:72:54: note: deduced conflicting types for parameter
'InputIterator' ('std::__cxx11::basic_string<char>' and 'bool (*)(const
string&) {aka bool (*)(const std::__cxx11::basic_string<char>&)}')
return (parent_->get_full_path()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:169:5: note: candidate:
template<class InputIterator>
boost::filesystem::path::path(InputIterator, InputIterator)
path(InputIterator begin, InputIterator end)
^~~~
/usr/include/boost/filesystem/path.hpp:169:5: note: template argument
deduction/substitution failed:
inode.cpp:72:54: note: deduced conflicting types for parameter
'InputIterator' ('std::__cxx11::basic_string<char>' and 'bool (*)(const
string&) {aka bool (*)(const std::__cxx11::basic_string<char>&)}')
return (parent_->get_full_path()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:163:5: note: candidate:
template<class Source> boost::filesystem::path::path(const Source&,
const codecvt_type&)
path(Source const& source, const codecvt_type& cvt)
^~~~
/usr/include/boost/filesystem/path.hpp:163:5: note: template argument
deduction/substitution failed:
inode.cpp:72:54: note: cannot convert 'boost::filesystem::native'
(type 'bool(const string&) {aka bool(const
std::__cxx11::basic_string<char>&)}') to type 'const codecvt_type& {aka
const std::codecvt<wchar_t, char, __mbstate_t>&}'
return (parent_->get_full_path()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:157:5: note: candidate:
boost::filesystem::path::path(boost::filesystem::path&&)
path(path&& p) BOOST_NOEXCEPT { m_pathname =
std::move(p.m_pathname); }
^~~~
/usr/include/boost/filesystem/path.hpp:157:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:150:5: note: candidate:
boost::filesystem::path::path(boost::filesystem::path::string_type&)
path(string_type& s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:150:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:149:5: note: candidate:
boost::filesystem::path::path(const string_type&)
path(const string_type& s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:149:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:148:5: note: candidate:
boost::filesystem::path::path(boost::filesystem::path::value_type*)
path(value_type* s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:148:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:147:5: note: candidate:
boost::filesystem::path::path(const value_type*)
path(const value_type* s) : m_pathname(s) {}
^~~~
/usr/include/boost/filesystem/path.hpp:147:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:140:5: note: candidate:
boost::filesystem::path::path(const Source&, typename
boost::enable_if<boost::filesystem::path_traits::is_pathable<typename
boost::decay<Source>::type> >::type*) [with Source =
std::__cxx11::basic_string<char>; typename
boost::enable_if<boost::filesystem::path_traits::is_pathable<typename
boost::decay<Source>::type> >::type = void] <near match>
path(Source const& source,
^~~~
/usr/include/boost/filesystem/path.hpp:140:5: note: conversion of
argument 2 would be ill-formed:
inode.cpp:72:54: error: invalid conversion from 'bool (*)(const string&)
{aka bool (*)(const std::__cxx11::basic_string<char>&)}' to
'boost::enable_if_c<true, void>::type* {aka void*}' [-fpermissive]
return (parent_->get_full_path()/path(name_,native));
^
In file included from device.h:44:0,
from inode.h:25,
from inode.cpp:19:
/usr/include/boost/filesystem/path.hpp:137:5: note: candidate:
boost::filesystem::path::path(const boost::filesystem::path&)
path(const path& p) : m_pathname(p.m_pathname) {}
^~~~
/usr/include/boost/filesystem/path.hpp:137:5: note: candidate expects
1 argument, 2 provided
/usr/include/boost/filesystem/path.hpp:136:5: note: candidate:
boost::filesystem::path::path()
path() BOOST_NOEXCEPT {}
^~~~
/usr/include/boost/filesystem/path.hpp:136:5: note: candidate expects
0 arguments, 2 provided
make[2]: *** [Makefile:282: inode.o] Error 1
make[2]: Leaving directory '/opt/jfsrec/src'
make[1]: *** [Makefile:253: all-recursive] Error 1
make[1]: Leaving directory '/opt/jfsrec'
make: *** [Makefile:182: all] Error 2
|
-------------------------------------------------------------------------
Is it problem with cc or cpp code or is it boost???
With regards Kris
[Moderator edit: added [code] tags to preserve output layout. -Hu] |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|