I try to compile FreeFileSYnc 5 on fedora 17 x64, make and make install output
no errors but once I launch FreeFileSync I got :
FreeFileSync: error while loading shared libraries: libboost_thread.so.1.49.0: cannot open shared object file: No such file or directory
What is wrong ?
Thanks in advance !
Compilation problem
- Site Admin
- Posts: 7205
- Joined: 9 Dec 2007
It cannot find the dynamic boost libraries which should be located in
/usr/local/lib (or /usr/lib)
. Did you manually install boost according to "compile.txt"?
/usr/local/lib (or /usr/lib)
. Did you manually install boost according to "compile.txt"?
It's a little odd because the library is actually located there :
sudo find /usr | grep libboost_thread.so
/usr/local/lib/libboost_thread.so.1.49.0
/usr/local/lib/libboost_thread.so
But I will desintall boost and reinstall manually.
sudo find /usr | grep libboost_thread.so
/usr/local/lib/libboost_thread.so.1.49.0
/usr/local/lib/libboost_thread.so
But I will desintall boost and reinstall manually.
- Site Admin
- Posts: 7205
- Joined: 9 Dec 2007
Very strange, the file is in fact existing and at the right location. Maybe a
"sudo ldconfig /usr/local/lib" helps?
"sudo ldconfig /usr/local/lib" helps?
Now, when I call make I am stuck with :
dir_name.cpp:(.text+0x385): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
main_dlg.cpp:(.text+0x129d1): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o:main_dlg.cpp:(.text+0x13611): more undefined references to `boost::thread::~thread()' follow
OBJ/FFS_Release_GCC_Make/lib/parallel_scan.o: In function `zen::fillBuffer(std::set<zen::DirectoryKey, std::less<zen::DirectoryKey>, std::allocator<zen::DirectoryKey> > const&, std::map<zen::DirectoryKey, zen::DirectoryValue, std::less<zen::DirectoryKey>, std::allocator<std::pair<zen::DirectoryKey const, zen::DirectoryValue> > >&, zen::FillBufferCallback&, unsigned long)':
parallel_scan.cpp:(.text+0x373d): undefined reference to `boost::thread::timed_join(boost::posix_time::ptime const&)'
collect2: error: ld returned 1 exit status
dir_name.cpp:(.text+0x385): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
main_dlg.cpp:(.text+0x129d1): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o:main_dlg.cpp:(.text+0x13611): more undefined references to `boost::thread::~thread()' follow
OBJ/FFS_Release_GCC_Make/lib/parallel_scan.o: In function `zen::fillBuffer(std::set<zen::DirectoryKey, std::less<zen::DirectoryKey>, std::allocator<zen::DirectoryKey> > const&, std::map<zen::DirectoryKey, zen::DirectoryValue, std::less<zen::DirectoryKey>, std::allocator<std::pair<zen::DirectoryKey const, zen::DirectoryValue> > >&, zen::FillBufferCallback&, unsigned long)':
parallel_scan.cpp:(.text+0x373d): undefined reference to `boost::thread::timed_join(boost::posix_time::ptime const&)'
collect2: error: ld returned 1 exit status
I'll yum boost and retry with "sudo ldconfig /usr/local/lib"
Oh well I think I messed up... So to start clean, I uninstalled boost and
boost-thread from my package manager, then I followed the compile.txt, after
./bootstrap.sh --prefix=/usr/local/ --with-libraries=thread
I got :
Unicode/ICU support for Boost.Regex?... not found.
Is it bad ?
I assumed it isn't so I ran ffs make again (after sudo ./bjam --clean install
and sudo ./bjam install) and got :
application.cpp:(.text+0x1093): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/comparison.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
comparison.cpp:(.text+0x80e1): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/synchronization.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
synchronization.cpp:(.text+0x5563): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/dir_name.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::setDirectoryNameImpl(wxString const&, wxDirPickerCtrl*, wxWindow&, wxStaticText*, unsigned long)::{lambda()#1}>((anonymous namespace)::setDirectoryNameImpl(wxString const&, wxDirPickerCtrl*, wxWindow&, wxStaticText*, unsigned long)::{lambda()#1})':
dir_name.cpp:(.text+0x385): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
main_dlg.cpp:(.text+0x129d1): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o:main_dlg.cpp:(.text+0x13611): more undefined references to `boost::thread::~thread()' follow
OBJ/FFS_Release_GCC_Make/lib/parallel_scan.o: In function `zen::fillBuffer(std::set<zen::DirectoryKey, std::less<zen::DirectoryKey>, std::allocator<zen::DirectoryKey> > const&, std::map<zen::DirectoryKey, zen::DirectoryValue, std::less<zen::DirectoryKey>, std::allocator<std::pair<zen::DirectoryKey const, zen::DirectoryValue> > >&, zen::FillBufferCallback&, unsigned long)':
parallel_scan.cpp:(.text+0x373d): undefined reference to `boost::thread::timed_join(boost::posix_time::ptime const&)'
collect2: error: ld returned 1 exit status
make: *** [FreeFileSync] Error 1
If it's a problem with boost, what other boost libs should I uninstall to
start clean ? Some kde apps seems to depend on them.
boost-thread from my package manager, then I followed the compile.txt, after
./bootstrap.sh --prefix=/usr/local/ --with-libraries=thread
I got :
Unicode/ICU support for Boost.Regex?... not found.
Is it bad ?
I assumed it isn't so I ran ffs make again (after sudo ./bjam --clean install
and sudo ./bjam install) and got :
application.cpp:(.text+0x1093): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/comparison.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
comparison.cpp:(.text+0x80e1): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/synchronization.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
synchronization.cpp:(.text+0x5563): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/dir_name.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::setDirectoryNameImpl(wxString const&, wxDirPickerCtrl*, wxWindow&, wxStaticText*, unsigned long)::{lambda()#1}>((anonymous namespace)::setDirectoryNameImpl(wxString const&, wxDirPickerCtrl*, wxWindow&, wxStaticText*, unsigned long)::{lambda()#1})':
dir_name.cpp:(.text+0x385): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o: In function `boost::unique_future<bool> zen::async2<bool, (anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1}>((anonymous namespace)::dirExistsUpdating(zen::Zbase<char, zen::StorageRefCountThreadSafe, AllocatorFreeStoreChecked> const&, bool, ProcessCallback&)::{lambda()#1})':
main_dlg.cpp:(.text+0x129d1): undefined reference to `boost::thread::~thread()'
OBJ/FFS_Release_GCC_Make/ui/main_dlg.o:main_dlg.cpp:(.text+0x13611): more undefined references to `boost::thread::~thread()' follow
OBJ/FFS_Release_GCC_Make/lib/parallel_scan.o: In function `zen::fillBuffer(std::set<zen::DirectoryKey, std::less<zen::DirectoryKey>, std::allocator<zen::DirectoryKey> > const&, std::map<zen::DirectoryKey, zen::DirectoryValue, std::less<zen::DirectoryKey>, std::allocator<std::pair<zen::DirectoryKey const, zen::DirectoryValue> > >&, zen::FillBufferCallback&, unsigned long)':
parallel_scan.cpp:(.text+0x373d): undefined reference to `boost::thread::timed_join(boost::posix_time::ptime const&)'
collect2: error: ld returned 1 exit status
make: *** [FreeFileSync] Error 1
If it's a problem with boost, what other boost libs should I uninstall to
start clean ? Some kde apps seems to depend on them.
- Site Admin
- Posts: 7205
- Joined: 9 Dec 2007
> undefined reference
You should do a "make clean", then try again.
You should do a "make clean", then try again.
- Site Admin
- Posts: 7205
- Joined: 9 Dec 2007
> Unicode/ICU support for Boost.Regex?... not found.
Is this a warning, error or info message? Generally, this should not be a
problem, since we need boost::thread only; unless boost::thread internally
depends on regex.
Is this a warning, error or info message? Generally, this should not be a
problem, since we need boost::thread only; unless boost::thread internally
depends on regex.
The message is an info message, so it mustn't be the problem.
I followed your instruction, I did make clean and this time ffs compiles fine,
but then again I got :
FreeFileSync: error while loading shared libraries: libboost_thread.so.1.51.0: cannot open shared object file: No such file or directory
Same as before but with version 1.51, probably because my lib boost is more
recent this time. To be sure I ran :
sudo find /usr | grep libboost_thread.so
/usr/local/lib/libboost_thread.so.1.49.0
/usr/local/lib/libboost_thread.so.1.51.0
/usr/local/lib/libboost_thread.so
I removed the boost thread installed by package manager, I don't understand
why the .so is still there. Anyway, why ffs can't open the .so although it's
in the right place ?
Thanks.
I followed your instruction, I did make clean and this time ffs compiles fine,
but then again I got :
FreeFileSync: error while loading shared libraries: libboost_thread.so.1.51.0: cannot open shared object file: No such file or directory
Same as before but with version 1.51, probably because my lib boost is more
recent this time. To be sure I ran :
sudo find /usr | grep libboost_thread.so
/usr/local/lib/libboost_thread.so.1.49.0
/usr/local/lib/libboost_thread.so.1.51.0
/usr/local/lib/libboost_thread.so
I removed the boost thread installed by package manager, I don't understand
why the .so is still there. Anyway, why ffs can't open the .so although it's
in the right place ?
Thanks.
Finally I did your other suggestion :
"sudo ldconfig /usr/local/lib"
It is working now ! Thanks a lot.
"sudo ldconfig /usr/local/lib"
It is working now ! Thanks a lot.
- Site Admin
- Posts: 7205
- Joined: 9 Dec 2007
Some things on Linux an only be learned the "hard" way ;)