After troubleshooting for some time I think it may be the GCC
compiler that is not compatible to this program script.
It is complaining about NAN (Not a Number) not declared but the script has #include <math.h> added on the top.
I edited all the scripts in the src folder of this program and added this line to declare NAN before assignment as follows:
#define NAN (0.0/0.0)
Now it is complaining about :
mast.c: In function 'main':
mast.c:2249: warning: implicit declaration of function 'WIFEXITED'
mast.c:2249: warning: implicit declaration of function 'WEXITSTATUS'
Then these errors happen:
mast-mast.o: In function `main':
mast.c:(.text+0x52b8): undefined reference to `WIFEXITED'
mast.c:(.text+0x52c5): undefined reference to `WEXITSTATUS'
mast.c:(.text+0x546d): undefined reference to `WIFEXITED'
mast.c:(.text+0x547a): undefined reference to `WEXITSTATUS'
collect2: ld returned 1 exit status
make[4]: *** [mast] Error 1
make[4]: Leaving directory `/Users/mparida/Software/meme_4.11.0/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/Users/mparida/Software/meme_4.11.0/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/Users/mparida/Software/meme_4.11.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/Users/mparida/Software/meme_4.11.0'
make: *** [all] Error 2
and the installation quits.
Is there anything I can do to fix it, something simple?
I was looking for an attachment button but couldn't find to attach my make.log file.
Please let me know how I can do it so I can provide you with my log file attachment.
After troubleshooting for some time I think it may be the GCC compiler that is not compatible to this program script.
Also I checked and I have this gcc version 4.1.2 20080704 (Red Hat 4.1.2-55) installed on my account on the cluster.
Then these errors happen:
mast-mast.o: In function `main':
mast.c:(.text+0x52b8): undefined reference to `WIFEXITED'
mast.c:(.text+0x52c5): undefined reference to `WEXITSTATUS'
WIFEXITED and WEXITSTATUS are preprocessor constants defined in <sys/wait.h> which is a system header file. If these constants aren't being found it may because the <sys/wait.h> interface has changed over the years. You might look at the man page for wait():
man 2 wait
and see if it mentions WIFEXITED and WEXITSTATUS. If it doesn't, then the problem is the old version of the OS and C run time. If those constants are listed in the man page, then I'd double check that you didn't introduce an error when you added the NAN macro.
It may take quite a bit of work to get a relatively current version of the MEME Suite running on a version of the OS this old. Depending on the features you need it might actually be easier to use one of the older versions of MEME.
#include <sys/wait.h>
src/mast.c