jadconnolly / Perple_X

GNU General Public License v3.0
28 stars 5 forks source link

Making perplexwrap compatible in the makefile? #7

Open sc-dyer opened 1 month ago

sc-dyer commented 1 month ago

I was looking at trying to get the functions of perplexwrap included in the Julia Yggdrasil build and noticed that the makefile was changed to no longer compile perplexwrap. As far as I understand, for BinaryBuilder to work, the library needs to be a target in the official repo.

I was just wondering what the primary issues were with it so that I can try to address them. Is it only the use of the fPIC flag or are there other problems?

boriskaus commented 1 month ago

Yes, perplexwrap needs to be rewritten in such a way that it compiles with normal compilers. Once that is done, I am happy to include it again but the way it is now it brakes the compilation process. Let me know when you fix it.

sc-dyer commented 1 month ago

That is disappointing, do you have any specific compiler flags that it needs to work with or flags that need to be removed (besides fPIC) or is the desired goal to compile it simply with -O3?

boriskaus commented 1 month ago

you can see the failures here

[04:36:52] perplexwrap.f:15:72:
[04:36:52] 
[04:36:52]    15 |             subroutine initMeemum(fileName,nameLength, componentNames,sysCompo,componentMass)
[04:36:52]       |                                                                        1
[04:36:52] Error: Unexpected junk in formal argument list at (1)
[04:36:52] perplexwrap.f:22:72:
[04:36:52] 
[04:36:52]    22 |                 integer, intent(in) :: nameLength

This is the only file that crashes, which is why we removed it. If you want fix this, please update this file using the BinaryBuilder cross-compilation package. We're happy to take it into account again once the makefile compiles all sources in clean manner (using the BB system).

sc-dyer commented 1 month ago

Ok that's great thank you, I will try to set up a local environment to test it with BinaryBuilder and see if I can figure this out