Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
jfsrec
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
kris27
n00b
n00b


Joined: 02 Jun 2010
Posts: 47
Location: Sydney

PostPosted: Fri May 18, 2018 3:41 pm    Post subject: jfsrec Reply with quote

[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
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41087
Location: 56N 3W

PostPosted: Fri May 18, 2018 5:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
kris27
n00b
n00b


Joined: 02 Jun 2010
Posts: 47
Location: Sydney

PostPosted: Sun May 20, 2018 11:50 am    Post subject: Build jfsrec build problem Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
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