Compilation error for PAML
0
2
Entering edit mode
3.9 years ago
elcortegano ▴ 200

Hi, I'm trying to use PAML for dN/dS computation, but I am failing at the very beggining trying to compile the software for Manjaro Linux (kernel 4.19.125-1-MANJARO).

I am downloading the latest package (named paml4.9j.tgz), and following steps in the documentation PDF. Compilation breaks running make at the very begining. Seems to be a "multiple definitions" error. Copy at the end (in Spanish).

I am surprised to see this kind of error here, and wonder if might have to do with the compiler version (gcc version 10.1.0 in my system). Any ideas on how to get this program working?

Error message

cc  -O3 -o baseml baseml.c tools.c -lm 
En el fichero incluido desde baseml.c:131:
treesub.c: En la función ‘IdenticalSeqs’:
treesub.c:1310:33: aviso: se pasa el argumento 3 de ‘printSeqs’ desde un tipo de puntero incompatible [-Wincompatible-pointer-types]
 1310 |       printSeqs(ftmp, com.z, com.spname, com.ns, com.ls, com.npatt, com.fpatt, NULL, keep, 1);
      |                              ~~~^~~~~~~
      |                                 |
      |                                 char **
En el fichero incluido desde baseml.c:11:
paml.h:150:63: nota: se esperaba ‘unsigned char **’ pero el argumento es de tipo ‘char **’
150 | void printSeqs(FILE *fout, unsigned char *z[], unsigned char *spnames[], int ns, int ls, int npatt, double fpatt[], int *pose, char keep[], int format);
      |                                                ~~~~~~~~~~~~~~~^~~~~~~~~
/usr/bin/ld: /tmp/ccjyZfNR.o:(.bss+0x4540): definiciones múltiples de `OutTreeOptions'; /tmp/cciRP2PR.o:(.bss+0x2a0dfd8): primero se definió aquí
/usr/bin/ld: /tmp/ccjyZfNR.o:(.bss+0x4544): definiciones múltiples de `SeqTypes'; /tmp/cciRP2PR.o:(.bss+0x2a0dfdc): primero se definió aquí
collect2: error: ld devolvió el estado de salida 1
make: *** [Makefile:12: baseml] Error 1
software error • 1.4k views
ADD COMMENT
1
Entering edit mode

might have to do with the compiler version (gcc version 10.1.0 in my system)

I can conform compilation works with GCC 4.9.2, GCC 6.3.0 and GCC 9.3.0. You could install from conda, or call make with a different version of the compiler, if one is available at you system:

make CC=gcc-4.9
ADD REPLY
1
Entering edit mode

Paml may have compile time problems if you have gcc 11.2.0. To fix the problem, you can install the gcc 9.4.0 version which can be installed with the following command: "sudo apt-get install -y gcc-9".

After that, modify the src/Makefile text file by replacing "cc" with "gcc-9" on line 2. With this change PAML should be correctly installed.

This explanation is at:: https://github.com/victorcana/PANAS

ADD REPLY

Login before adding your answer.

Traffic: 3030 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6