Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile MrBayes on ARM64 with BEAGLE #302

Open
1 of 2 tasks
davidcerny opened this issue Aug 15, 2024 · 0 comments
Open
1 of 2 tasks

Cannot compile MrBayes on ARM64 with BEAGLE #302

davidcerny opened this issue Aug 15, 2024 · 0 comments

Comments

@davidcerny
Copy link

I was wondering whether it's better to add a comment to #248 or open a new issue, but since the former has been closed for three years and my issue is slightly different, I decided to go for the latter option.

What is the current observed behaviour?

I'm unable to compile MrBayes from the develop branch on Apple M3 Max. The exact error is identical to that in #248, except that the line number of the expression in mcmc.c that triggers the error has changed in the meantime:

gcc -DHAVE_CONFIG_H -I.    -Wall -O3 -DNDEBUG -std=c99 -pedantic  -I/usr/local/include/libhmsbeagle-1 -pthread -Wall -O3 -DNDEBUG -std=c99 -pedantic  -MT mb-mcmc.o -MD -MP -MF .deps/mb-mcmc.Tpo -c -o mb-mcmc.o `test -f 'mcmc.c' || echo './'`mcmc.c
mcmc.c:5882:16: error: no member named 'numFloatsPerVec' in 'struct modelinfo'
            m->numFloatsPerVec = 0;
            ~  ^
1 error generated.
make[2]: *** [mb-mcmc.o] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

However, my setup differs in that I am using BEAGLE: this is the corresponding output of the configure script:

configure: Trying to locate Beagle (hmsbeagle-1) in '/usr/local'
checking libhmsbeagle/beagle.h usability... yes
checking libhmsbeagle/beagle.h presence... yes
checking for libhmsbeagle/beagle.h... yes
checking for beagleCreateInstance in -lhmsbeagle... yes
configure: Found Beagle in '/usr/local'
checking for beagleSetCPUThreadCount in -lhmsbeagle... yes
configure: Using BEAGLE_CFLAGS="-I/usr/local/include/libhmsbeagle-1 -pthread"
configure: Using BEAGLE_LIBS="-L/usr/local/lib -Wl,-rpath,/usr/local/lib -lhmsbeagle"

I've tried using both v4.0.0 (installed using a universal binary installer) and v4.0.1 (compiled from source), neither of which works. However, disabling BEAGLE by running the configuration script with the --with-beagle=no flag does work.

What is the expected/wanted behaviour?

MrBayes should compile on ARM64 with BEAGLE if a compatible version is found.

How may we reproduce this bug?

Steps to reproduce the bug:

  1. git clone -b develop --single-branch https://github.com/NBISweden/MrBayes.git MrBayes_3.2.8
  2. cd MrBayes_3.2.8
  3. ./configure --with-mpi=yes --disable-{sse,avx,fma} (enabling or disabling MPI has no effect)
  4. make && sudo make install

Would you be able to compile and run MrBayes to test fixes to this bug?

  • Yes, I know how to use git and how to compile MrBayes.
  • No, sorry.

What is the environment that you run MrBayes in?

  • Operating system (including variant and release): macOS 14.5 (Sonoma)
  • Version of MrBayes: 3.2.7a, latest version of the develop branch (e7b8431)
  • If possible, include the output of the Version command in MrBayes below:
Version:   3.2.7a
Features:  MPI
Host type: arm-apple-darwin23.5.0 (CPU: arm)
Compiler:  clang 15.0.0

(This is from the executable I compiled after disabling BEAGLE.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant