Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make's error compiling under Linux #6

Open
gdauria opened this issue Feb 27, 2024 · 3 comments
Open

Make's error compiling under Linux #6

gdauria opened this issue Feb 27, 2024 · 3 comments

Comments

@gdauria
Copy link

gdauria commented Feb 27, 2024

Dear Sr./Mrs,
First of all I would like to thank you so much for the efforts in this project.
I am trying to install it in my Linux
Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy
I was following the install procedure changing the compilers as described in the Install section. I
mostly I did this for the three lines so the first commented compiler comes in use.

cd src
sed -i "s/= clang #/= /g" Makefile*

Thus, the make all was working until I get this error:

make all
cd src && make -f Makefile_buildMC
make[1]: se entra en el directorio '/MyFolder/GitLab/speciateIT/src'
clang  -c -g -Wall -D__SIM_SSE3 -msse3 -O2 -D_GNU_SOURCE -dynamic -fomit-frame-pointer -funroll-loops -D__AVX -pedantic -Wunused -Wunused-variable -Wunused-value -Wunused-function -Wunused-label -Wredundant-decls -Wreturn-type  -Isrc -o .build/buildMC.o ./buildMC.cc
./buildMC.cc:30:10: fatal error: 'string' file not found
#include <string>
         ^~~~~~~~
1 error generated.
make[1]: *** [Makefile_buildMC:83: .build/buildMC.o] Error 1
make[1]: se sale del directorio '/MyFolder/GitLab/speciateIT/src'
make: *** [Makefile:34: src-make_default] Error 2

I saw also the line saying that: "You may also need to modify LDFLAGS." but I really do not know what I have to do, I am sorry but I am not a programmer.

Thank you in advance for your help.
best regards

Giuseppe

@ravel-lab
Copy link
Owner

Thanks for your comment. There is no need to cd into src/ and make all Makefiles. Instead, stay in parent directory and perform make -f Makefile. This should compile what you need for classification.

@gdauria
Copy link
Author

gdauria commented Mar 8, 2024

Hi, thank you for your answer, I think I already did it.
I cleaned and restarted the make -f Makefile from the parent folder. After a while and a lot of compiling messages, I had this error:

g++ .build/buildMC.o .build/IOCUtilities.o .build/IOCppUtilities.o .build/MarkovChains.o .build/CUtilities.o .build/CppUtilities.o .build/strings.o .build/CStatUtilities.o .build/CppStatUtilities.o .build/StatUtilities.o .build/DNAsequence.o .build/Newick.o  -std=c++11 -lc++abi -lstdc++ -o ../bin/buildMC
/usr/bin/ld: no se puede encontrar -lc++abi: No existe el archivo o el directorio
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile_buildMC:80: buildMC] Error 1
make[1]: se sale del directorio '/MyFolder/GitLab/speciateIT/src'
make: *** [Makefile:34: src-make_default] Error 2

Anyway I have the classify executable into the bin folder. Still it does not work, saying that (translated):

bash: /MyFolder/GitLab/speciateIT/bin/classify: can not execute the binary file: Incorrect executable format

I am sorry to bother you again but any help is welcome.

@elscalzarotodoc
Copy link

Hi @gdauria, I encountered the same error.
I tried to install the libc++abi-dev library through apt and I was able to correctly compile classify.
I hope it will solve even your problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants