FePhyFoFum / phyx

phylogenetics tools for linux (and other mostly posix compliant) computers
blackrim.org
GNU General Public License v3.0
111 stars 17 forks source link

GHA failing for mac (armadillo) #185

Open josephwb opened 3 months ago

josephwb commented 3 months ago

Getting a build fail for mac when it hits armadillo:

...
g++ -std=gnu++11 -g -O2 -O3 -std=c++14 -Wall -ftree-vectorize -ffast-math   -c -fmessage-length=0 -MMD -MP -MF "main_vcf2fa.d" -o "main_vcf2fa.o" "main_vcf2fa.cpp"
cont_models.cpp:4:10: fatal error: 'armadillo' file not found
#include <armadillo>
         ^~~~~~~~~~~
In file included from state_reconstructor.cpp:5:
In file included from ./state_reconstructor.h:8:
./rate_model.h:4:10: fatal error: 'armadillo' file not found
#include <armadillo>
         ^~~~~~~~~~~
...

The relevant GHA lines are:

    steps:
    - uses: actions/checkout@v4
    - name: Install brew dependencies
      if: runner.os == 'macOS'
      run:
          brew install nlopt armadillo automake autoconf

So, brew is failing to install armadillo? Will try to find a mac to troubleshoot this on...

josephwb commented 3 months ago

Hrm. The log does not indicate any issue with installing armadillo (or its dependencies):

==> Installing armadillo
==> Pouring armadillo--12.8.4.arm64_sonoma.bottle.tar.gz

However, on configure it cannot find armadillo (or nlopt):

...
checking for unistd.h... yes
checking for nlopt.h... no
configure: WARNING:
--------------------------------------------------------
The nlopt library is required for optimization for some
programs. You can install from standard repos or you
can compile with these flags
 ./configure --without-octave --without-matlab
--------------------------------------------------------
checking for library containing wrapper_sgesv_... no
configure: WARNING:
--------------------------------------------------------
The armadillo library is required for some linear algebra
operations.
phyx was developed with armadillo compiled with these flags
 ./configure
--------------------------------------------------------
checking for fenv.h... yes
...

I... am confused/hate mac.