'How to fix implicit declaration and consequential problems when trying to install a C program on Linux (randfold-2.0)?
I am trying to compile randfold-2.0 on an HPC cluster I am working from, but am encountering troubles.
When I try the compilation using make I got the following error message:
*user@loginnode*:~/mirdeep2/essentials/randfold-2.0> make
gcc -O3 -I. -I/***/mirdeep2/essentials/squid-1.9g -L/***/mirdeep2/essentials/squid-1.9g/ -o randfold params.o energy_par.o fold.o fold_vars.o utils.o randfold.c -lm -lsquid
randfold.c: In function ‘main’:
randfold.c:89:2: warning: implicit declaration of function ‘strcpy’ [-Wimplicit-function-declaration]
strcpy(seqfile,*argv);
^~~~~~
randfold.c:89:2: warning: incompatible implicit declaration of built-in function ‘strcpy’
randfold.c:89:2: note: include ‘<string.h>’ or provide a declaration of ‘strcpy’
The implicit declaration problems occurs multiple times, also referring to strlen for example.
I found a fix here http://seqanswers.com/forums/showthread.php?t=47751 that said to include #include <string.h> into the randfrold.c-file.
After that I got numerous other error messages which all read like this, referencing different "_intel***" files:
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /dss/dsshome1/lxc09/ra57qey/mirdeep2/essentials/squid-1.9g//libsquid.a(shuffle.o): in function `StrShuffle':
shuffle.c:(.text+0x29): undefined reference to `__intel_sse2_strcpy'
I am no C developer and have no experience with it. Has anybody encountered similar issues or has an idea how to fix this issue? Help would be greatly appreciated!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
