NGIOproject / old_GekkoFS_old

Ephemeral distributed filesystem build up from the local storage of several nodes. It is an evolution of AdaFS done inside the NGIO project by BSC in collaboration with JGU.
https://storage.bsc.es/gitlab/hpc/gekkofs
Other
36 stars 10 forks source link

undefined reference when making GekkoFS #5

Open elham9449 opened 2 years ago

elham9449 commented 2 years ago

I have installed all GekkoFS dependencies and now, after running cmake, when I try to make, I get the following undefined reference error:

[ 66%] Linking CXX executable gkfs_daemon
/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: warning: libabt.so.1, needed by /home/adibi/gekko/install/lib/libmargo.so, may conflict with libabt.so.0
backend/metadata/libmetadata_db.a(merge.cpp.o):(.rodata._ZTIN4gkfs8metadata21MetadataMergeOperatorE[_ZTIN4gkfs8metadata21MetadataMergeOperatorE]+0x10): undefined reference to `typeinfo for rocksdb::MergeOperator'
/home/adibi/gekko/install/lib/libmargo.so: undefined reference to `HG_Addr_lookup2'
/home/adibi/gekko/install/lib/libmargo.so: undefined reference to `hg_proc_checksum_update'
collect2: error: ld returned 1 exit status
make[2]: *** [src/daemon/gkfs_daemon] Error 1
make[1]: *** [src/daemon/CMakeFiles/gkfs_daemon.dir/all] Error 2
make: *** [all] Error 2

I installed margo using spack (and others using the compile_dep.sh script). Could this be the source of the problem? Or should I look elsewhere?

Thanks

adrianjhpc commented 2 years ago

I think these routines come from the mercury library. Can you make sure you've got that installed?

elham9449 commented 2 years ago

I think these routines come from the mercury library. Can you make sure you've got that installed?

I installed mercury using compile_dep.sh and it was successful. The only package I installed without compile_dep.sh script was margo which I downloaded using spack. Then, I copied margo contents into the installed directory of GekkoFS dependencies (margo with compile_dep.sh failed and I got lots of undefined references). Maybe if I fix that if will solve the issue?

adrianjhpc commented 2 years ago

Where did you install mercury? Is it in the default place or somewhere else? You'll need to make sure LD_LIBRARY_PATH can find it.