The installer came up with some text including a line that read "This package is intended for Mac OS X Leopard (10.5) only.". I opened it and double clicked on the "DMD2.pkg" file within it. I went on the D downloads page and clicked on the link for the dmd 2.060 installer for OS X.
I have a MacBook Pro running OS X 10.6.8 (Snow Leopard).
I wonder if you can add any of the above to the makefile? I'm not sure how to replace the g++ line in step (3) without asking Farhan to intervene.I am planning to try D for the first time in my life. version or add this to the help command so one can keep track? Is there any chance you could add a pymultinest. Then I export MULTINEST= -bundle -undefined dynamic_lookupĮxport DYLD_LIBRARY_PATH=$MULTINEST:/src/PyMultiNest-master/multinest_bridge:/src/MultiNest_v3.2_CMake/lib:$DYLD_LIBRARY_PATH LINKLIB = mpif90 -bundle -undefined dynamic_lookupĪnd I make libnest.a ONLY (not libnest.so). Then, in the multinest Makefile (I am using 2.18 currently), I replace the lines With homebrew, getting a functional Fortran and MPI with fortran is a matter of doing For completeness, I will describe how I got PyMultiNest to work on OS X 10.6-10.8.įirst of all, I found homebrew ( ) very reliable to get tools that integrate with Apple's (i.e., XCode's gcc). Wow, that was quite an effort, congratulations on getting it working. $ g++ -dynamiclib -undefined suppress -flat_namespace utils.o utils1.o priors.o kmeans_clstr.o xmeans_clstr.o posterior.o nested.o -o libnest3.dylib Yes, could try what you linked to, but then you have to know and specify each symbol. $ ld -llapack -arch x86_64 -dynamic -dylib -all_load -o libnest3.dylib utils.o utils1.o priors.o kmeans_clstr.o xmeans_clstr.o posterior.o nested.o I only see now that you don't specify the. lnest3 " will not do anything, because you are not trying to load anything from the current directory, and you are not trying to load the nest3 library, you are actually trying to build it. lines.īy the way, I don't think "-dylib_install_name" helps us at all, and "-L. NSOBJECTS = utils.o utils1.o priors.o kmeans_clstr.o xmeans_clstr.o posterior.o nested.oĪll: libnest3.a obj_detect eggboxC eggboxC++ gaussian gauss_shell
Here's the modified multinest makefile (most of the changes are, I suspect, redundant - again will prune at some point):įC = gfortran -ffree-line-length-none -m64 -lpthread O3 -std=c99 -fPIC -DMULTINEST_CALL=_nested_MOD_nestrun cnest.c -o libcnest.so -L/Users/jtlz2/src/MultiNest_v2.18 -lnest3 -llapack -lpthread If you didn't set this to the directory where MultiNest is compiled, you will receive see this error later: OSError: libcnest.so: undefined symbol: _nested_MOD_nestrun Checking if libnest3.so is in $MULTINEST Found. Make -C multinest_bridge libcnest.so WITHOUT_MPI=1 MULTINEST set to /Users/jtlz2/src/MultiNest_v2.18. My modified makefile is at the bottom of this post.Īnd the next problem is (I think you know how to solve this though?): Haven't yet seen whether the line above can be trimmed down a bit.) lnest3 -dynamic -dylib -single_module -dead_strip -x -arch x86_64 Making progress - I stuck with ld and libnest3.so was successfully generated with: < FFLAGS += -O3 #-DMPI < CFLAGS += -O3 #-DMPIĪnd multinest itself compiles and the examples (and indeed my own lhoods) have been running fine.Īny ideas? Thanks in advance for a speedy reply. < FC = gfortran -ffree-line-length-none -m64 My makefile is modified from the supplied version: Gfortran -ffree-line-length-none -O3 -c -o nested.o nested.F90 Gfortran -ffree-line-length-none -O3 -c -o posterior.o posterior.F90 Gfortran -ffree-line-length-none -O3 -c -o xmeans_clstr.o xmeans_clstr.f90 Gfortran -ffree-line-length-none -O3 -c -o kmeans_clstr.o kmeans_clstr.f90 Gfortran -ffree-line-length-none -O3 -c -o priors.o priors.f90 Gfortran -ffree-line-length-none -O3 -c -o utils1.o utils1.f90 Gfortran -ffree-line-length-none -O3 -c -o utils.o utils.f90 If I remove -m64 from my FC (see below) I still get: Ld: symbol(s) not found for inferred architecture i386 Ld -shared -o libnest3.so utils.o utils1.o priors.o kmeans_clstr.o xmeans_clstr.o posterior.o nested.o Localhost:MultiNest_v2.18 jtlz2$ make libnest3.so
I'm trying to compile libnest3.so from multinest 2.18 so I can install the multinest bridge, but