On Sun, Sep 27, 2015 at 06:31:22PM +0100, Patrick O'Callaghan wrote:
There's a project on github to deal with this:
https://github.com/abique/tmfs and I've made some progress in compiling
it under Fedora (basically installing C++ and the devel packages for
Boost and Fuse), however at the last make step I get this:
$ make
[ 12%] Linking CXX executable tmfs
/usr/bin/ld: CMakeFiles/tmfs.dir/src/main.cc.o: undefined reference to symbol
'__cxa_call_unexpected@(a)CXXABI_1.3'
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/tmfs.dir/build.make:226: recipe for target 'tmfs' failed
make[2]: *** [tmfs] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/tmfs.dir/all' failed
make[1]: *** [CMakeFiles/tmfs.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
I'm guessing a library must be missing, but which one?
Hmm, this was pretty trivial for me:
$ git clone git@github.com:abique/tmfs.git
Cloning into 'tmfs'...
remote: Counting objects: 161, done.
remote: Total 161 (delta 0), reused 0 (delta 0), pack-reused 161
Receiving objects: 100% (161/161), 38.38 KiB | 0 bytes/s, done.
Resolving deltas: 100% (74/74), done.
Checking connectivity... done.
$ cd tmfs/
$ ls
AUTHORS ChangeLog CMakeLists.txt LICENSE README.markdown src
$ mkdir _build
$ cd _build
$ cmake ..
-- The CXX compiler identification is GNU 5.1.1
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Boost version: 1.57.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- checking for module 'fuse'
-- found fuse, version 2.9.4
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jallad/build/tmfs/_build
$ make
Scanning dependencies of target tmfs
[ 14%] Building CXX object CMakeFiles/tmfs.dir/src/main.cc.o
[ 28%] Building CXX object CMakeFiles/tmfs.dir/src/readdir.cc.o
[ 42%] Building CXX object CMakeFiles/tmfs.dir/src/read.cc.o
[ 57%] Building CXX object CMakeFiles/tmfs.dir/src/readlink.cc.o
[ 71%] Building CXX object CMakeFiles/tmfs.dir/src/getattr.cc.o
[ 85%] Building CXX object CMakeFiles/tmfs.dir/src/get_real_path.cc.o
[100%] Linking CXX executable tmfs
[100%] Built target tmfs
I think these are the only packages you need:
- gcc-c++
- cmake
- boost-filesystem
- fuse-devel
Hope this helps,
--
Suvayu
Open source is the future. It sets us free.