Plan for conda package on osx-arm64?

Issue #91 new
Former user created an issue

Do we have any plan for making tempo2 package for conda on osx-arm64 platform?

Thanks.

Comments (9)

  1. Michael Keith

    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.

  2. Rutger van Haasteren

    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

  3. Heng Xu

    @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.

  4. Rutger van Haasteren

    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.

  5. Michael Keith

    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.

  6. Rutger van Haasteren

    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

  7. Michael Keith

    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
    

  8. Rutger van Haasteren

    I had to manually tell it where all the libraries are, but it works. Thanks so much, Mike!

  9. Log in to comment