Plan for conda package on osx-arm64?
Do we have any plan for making tempo2 package for conda on osx-arm64 platform?
Thanks.
Comments (9)
-
-
I have an Apple M1 max, and it’s definitely not just a matter of ./bootstrap, ./configure, make. It already chokes on the preprocessing checks. You can see the config.log here if you are interested. I can help figuring it out, but I’m not very familiar with all the autoconf checks tempo2 does.
Apple silicon is not fantastic when setting up this kind of stuff. Packages like erfa, healpy, and some others that tempo2 and other PTA packages depend on are not fully packaged and compatible yet. At least it’s not plug&play
-
@Rutger van Haasteren. Thank you for sharing this. I could make and install tempo2 on this Apple M1 Mac, however the gcc (installed with homebrew) could not support for long double, and the “long double” is actually same with “double”. Do you have this problem? or you had solved this problem.
And you’re right, apple silicon is becoming less fantastic for pulsar astronomers. The old Macbook with X86 architecture works quite well for these pulsar softwares, I miss it! Unfortunately I can’t throw this M1 Apple MacBook away, haha.
-
Update: under Rosetta 2 tempo2 actually runs. Some of the PGPLOT plugins also work, like the spectralModel one, but plk Segfaults.
The segfault occurs in the PGPLOT call ‘cpgmtxt’, which only occurs once in the plk plugin:
if \(publish==0 && \(strlen\(setupFile\)==0\)\) \{ cpgsch\(0.5\); cpgmtxt\("B",6.5,0.92,0.0," "\); cpgsch\(fontSize\); \}
Nothing strange about it, not even a variable that’s being used.
-
I just noticed https://bitbucket.org/psrsoft/tempo2/commits/25e6de6ecca978f724ee8afbaf31ed7db86ab4fa. Is this a fix that should enable an arm version to work?
-
I just got an M2 mac, and have to say I never had trouble building tempo2, including pgplot etc, so I suppose the support has improved. I used gcc 13.2 (via homebrew). I did have to use the beta version of xcode 15.1 because the xcode 15 linker has some issues with ‘traditional’ gcc, but I don’t think this is a tempo2-specific issue, but rather breaks anything you build with gcc.
The only thing is that arm only supports 64-bit floats, so if you want to do precision timing you should enable the GNU float128 support (--enable-float128 in the configure scripts), which initially had some bugs that are fixed in the commit above.
-
Mike, you are saying that with the --enable-float128 option we would have a fully functional quad precision tempo2 on an ARM macbook? Not even PGPLOT problems? All the semi-random segfaults and slowness of tempo2 under Rosetta really are a pain, so this would be a pretty big upgrade
-
I cannot provide any 100% guarantees of everything, but I have been using this computer for a week or so now, and tempo2 seems to work ok! I installed xquartz and gcc 13 via homebrew as well as the other supporting libraries. As I said I had to install the command line tools from xcode 15.1 beta (but… I think if you have xcode 14 then it should also work, they changed the linker in xcode 15 and it became incompatible with gcc in some wierd way). pgplot was installed via homebrew… I have some feeling I had to edit something in the build script, but maybe that was actually a bug due to the xcode thing and I didn’t make a note about it. Here are my homebrew packages in case that helps.
automake calc cfitsio cmake coreutils fftw gnuplot gsl htop imagemagick kazuakiyama/pgplot/pgplot latexml pkg-config python@3.12 suite-sparse swig watch wget
-
I had to manually tell it where all the libraries are, but it works. Thanks so much, Mike!
- Log in to comment
I think you would need to ask the conda package maintainers - that is something done separate to the tempo2 development. I think that it is possible to build tempo2 on the arm64 platform, but I don’t have such a computer to test it on so I cannot say for sure.