stephaneguindon / phyml

PhyML -- Phylogenetic estimation using (Maximum) Likelihood
GNU General Public License v3.0
177 stars 61 forks source link

phytime compilation error #191

Open pavelToman opened 7 months ago

pavelToman commented 7 months ago

I am trying to build PhyML with --enable-phytime from last commit f3b45c4 and got this error:

gcc  -std=c99 -O3 -fomit-frame-pointer -funroll-loops -Wall -Winline -finline -march=native   -o phytime main.o utilities.o optimiz.o lk.o bionj.o mod alrt.o interface.o cl.o spr.o times.o draw.o rates.o mcmc.o stats.o mg.o io.o make.o mixt.o init.o nexus.o d -lm -lm -lm -lpthread
/binutils/2.40-GCCcore-12.3.0/bin/ld: io.o: in function `PHYREX_Print_MCMC_Stats':x1437a): undefined reference to `PHYREX_Get_Posterior'
/binutils/2.40-GCCcore-12.3.0/bin/ld: io.c:(.text+0x143d5): undefined reference to `VELOC_Is_Integrated_Veloci
/binutils/2.40-GCCcore-12.3.0/bin/ld: io.c:(.text+0x1454d): undefined reference to `PHYREX_Realized_Dispersal_
    ...
/binutils/2.40-GCCcore-12.3.0/bin/ld: mcmc.c:(.text+0x15e34): undefined reference to `MCMC_PHYREX_Indel_Disk'
/binutils/2.40-GCCcore-12.3.0/bin/ld: mcmc.c:(.text+0x15e56): undefined reference to `MCMC_PHYREX_Neff_Growth'
/binutils/2.40-GCCcore-12.3.0/bin/ld: mcmc.c:(.text+0x15e76): undefined reference to `MCMC_PHYREX_Neff'
/binutils/2.40-GCCcore-12.3.0/bin/ld: mcmc.c:(.text+0x15e96): undefined reference to `MCMC_PHYREX_Sigsq'
/binutils/2.40-GCCcore-12.3.0/bin/ld: mcmc.o: in function `MCMC_Run':
    mcmc.c:(.text+0x15f91): undefined reference to `PHYREX_Check_Lk'
    collect2: error: ld returned 1 exit status
    make[2]: *** [Makefile:1201: phytime] Error 1

Build of phyml and phyrex seems ok.

pavelToman commented 7 months ago

Either building from v3.3.20220408 failed on --enable-phytime:

gcc  -I. -I..   -I/apps/gent/RHEL8/cascadelake-ib/software/pkgconf/1.9.5-GCCcore-12.3.0/include -I/apps/gent/
    RHEL8/cascadelake-ib/software/FFTW/3.3.10-GCC-12.3.0/include -I/apps/gent/RHEL8/cascadelake-ib/software/Flexi
    BLAS/3.3.1-GCC-12.3.0/include -I/apps/gent/RHEL8/cascadelake-ib/software/FlexiBLAS/3.3.1-GCC-12.3.0/include/f
    lexiblas  -std=c99 -O3 -fomit-frame-pointer -funroll-loops -Wall -Winline -finline -march=native -MT mg.o -MD
     -MP -MF .deps/mg.Tpo -c -o mg.o mg.c
    mcmc.c: In function MCMC_Root_Time:
    mcmc.c:1482:24: error: cur_lnL_loc undeclared (first use in this function); did you mean cur_lnL_seq?
     1482 |                        cur_lnL_loc,new_lnL_loc,tree->eval_glnL,
          |                        ^~~~~~~~~~~
          |                        cur_lnL_seq
    mcmc.c:1482:24: note: each undeclared identifier is reported only once for each function it appears in
    mcmc.c:1482:36: error: new_lnL_loc undeclared (first use in this function); did you mean new_lnL_seq?
     1482 |                        cur_lnL_loc,new_lnL_loc,tree->eval_glnL,
          |                                    ^~~~~~~~~~~
          |                                    new_lnL_seq
    make[2]: *** [Makefile:1216: mcmc.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    mv -f .deps/spr.Tpo .deps/spr.Po
    mv -f .deps/optimiz.Tpo .deps/optimiz.Po
    mv -f .deps/mg.Tpo .deps/mg.Po
    mv -f .deps/times.Tpo .deps/times.Po
    mv -f .deps/rates.Tpo .deps/rates.Po
    mv -f .deps/stats.Tpo .deps/stats.Po
    mv -f .deps/utilities.Tpo .deps/utilities.Po
    make[1]: *** [Makefile:365: all-recursive] Error 1
    make: *** [Makefile:306: all] Error 2

This could be fix by patch from ntakebay: https://github.com/stephaneguindon/phyml/issues/166

pavelToman commented 7 months ago

Some ideas how to let it work, please?