Open hoppo opened 9 months ago
Hi @hoppo, yes unfortunately this lib
vs lib64
is a common point of divergence among operating systems, we've seen the same thing occur with CentOS.
Obviously my first recommendation is to just use Ubuntu if possible, but as a more general alternative, it appears that it may be possible to to check explicitly for it based on this post using if("${CMAKE_INSTALL_LIBDIR}" STREQUAL "lib64")
in our CMakeLists.txt..
If you wouldn't minding testing this on your OS as a positive example, you could try by adding the following line to your CMakeLists.txt:
message(STATUS "CMAKE_INSTALL_LIBDIR: " ${CMAKE_INSTALL_LIBDIR})
And see what it prints by running cmake
. My Ubuntu OS returns lib
.
In my case, it is empty.. .... -- Detecting CXX compile features - done -- CMAKE_INSTALL_LIBDIR: -- CMAKE_CXX_COMPILER_ID: GNU ....
If I add the following:- include(GNUInstallDirs)
it returns lib64
And yes, we plan to move to ubuntu, but for the moment our cluster is still red hat linux.
OK, I made an untested commit to branch lib64
, would you mind trying it out on your linux OS and see if it works? may need to remove the external dir
Hi, Unfortunately, it doesn't seem to fix the issue. I still see two lib directories; lib and lib64
The contents of lib:-
libgtest.so
libgtest_main.so
libsdsl.so -> libsdsl.so.3
libsdsl.so.2.3.0
libsdsl.so.3 -> libsdsl.so.2.3.0
pkgconfig
lib64:-
libbdsg.so
libdivsufsort.so -> libdivsufsort.so.3
libdivsufsort.so.3 -> libdivsufsort.so.3.0.1
libdivsufsort.so.3.0.1
libdivsufsort64.so -> libdivsufsort64.so.3
libdivsufsort64.so.3 -> libdivsufsort64.so.3.0.1
libdivsufsort64.so.3.0.1
libhandlegraph.a
libhandlegraph.so
pkgconfig
Interestingly, when I build libbdsg independently, it only creates a lib directory. In the CMakeLists.txt, it has the following entry:- set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
Thanks, Marie.
Hi,
I have tried to build GFAse on linux (Rocky Linux release 8.8) and get the following error:- make[2]: *** No rule to make target '../external/bdsg//lib/libbdsg.so', needed by 'split_connected_components'. Stop.
I then searched under ..GFAse/external/bdsg and see that there are two lib directories created (lib and lib64). However, there is no libbdsg.so under the ../external/bdsg/lib/ directory, but it is under the ../external/bdsg/lib64 directory.
I then tried to download and build libbdsg (separately) and it built without a problem and only contained the lib directory.
As a workaround, I rename the ../external/bdsg/lib64 directory to ../external/bdsg/lib and this appeared to at least allow the build to finish and build the executables. I haven't extensively tested GFAse yet.
Is there something unique to my OS that builds GFAse incorrectly?
Thank you.