Re: [AMBER] more on building Amber18 on Mojave

From: Gustaf Olsson <gustaf.olsson.lnu.se>
Date: Thu, 18 Oct 2018 07:00:14 +0000

> The new Xcode doesn't provide much (any?) support for libstdc++,
> preferring libc++ instead. So:

You are correct, as stated previously, support for libstdc++ has been removed as of the previous Xcode version and seen in the failed compile logs.

    clang: warning: libstdc++ is deprecated; move to libc++ [-Wdeprecated]
    warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the
         command line to use the libc++ standard library instead
         [-Wstdlibcxx-not-found]

All developers have apparently previously been encouraged to move to libc++ instead. I tried restoring libstc++ support by including the appropriate files as had ben suggested as a working solution, though it did not work.

I tried the suggested solution for CLANG compilation though I did not succeed.

    ./configure -macAccelerate clang

    …
    …
    Configuring CPPTRAJ...
    CPPTRAJ configure failed. Check ‘/amber18/AmberTools/src/cpptraj_config.log' for details.
        
        Error: Could not link properly with clang++ on OSX

    make install
    make: *** No rule to make target `config.h'. Stop.

So, I did a quick sweep of the of the referenced setup.py file an it turns out there were more places needing modification.

This is what worked for me using Mac clang to configure and compile:

    tar xvf AmberTools18.tar.bz2
    cd amber18
    export AMBERHOME=/Users/guolaa/SOFTWARE/amber18
    export PATH=${AMBERHOME}:$PATH
    export MACOSX_DEPLOYMENT_TARGET='10.14'
    vi $AMBERHOME/AmberTools/src/configure2
 
        # Comment out lines 2237-2241
        2237 # if [ "$intelmpi" = 'yes' ]; then
        2238 # echo "Intel MPI must be used with the Intel compilers."
        2239 # exit 1
        2240 # fi
        2241 #

    vi $AMBERHOME/AmberTools/src/pytraj/setup.py

        142 extra_compile_args.append('-stdlib=libstdc++’)
        --->
        142 extra_compile_args.append('-stdlib=libc++’)


        2289 # mac/clang
        2290 if [ "$skippython" = "no" ]; then
        2291 cpptrajcxxflags="-stdlib=libstdc++ $cpptrajcxxflags"
        2292 cpptrajldflags="-stdlib=libstdc++ -L/usr/lib/"
        2293 fi
        --->
        2289 # mac/clang
        2290 if [ "$skippython" = "no" ]; then
        2291 cpptrajcxxflags="-stdlib=libc++ $cpptrajcxxflags"
        2292 cpptrajldflags="-stdlib=libc++ -L/usr/lib/"
        2293 fi

    ./configure -macAccelerate clang
    make install
    …
    …
    Installation of AmberTools18 serial is complete at Thu Oct 18 08:58:37 CEST 2018.

    ==============================================================
    /Users/guolaa/SOFTWARE/amber18/src/Makefile not found, or -noamber was set.
    This is expected if you do not have Amber18.
    ==============================================================

So I am still seeing some coloured warnings and potential issues and I have no idea what I might be braking since I have not yet had time to run any tests or evaluate function though this time around it seems to be working.

Best regards
// Gustaf

> On 17 Oct 2018, at 19:25, David A Case <david.case.rutgers.edu> wrote:
>
> On Mon, Oct 15, 2018, David Case wrote:
>
> Some more notes on getting AmberTools18/Amber18 built on Mojave:
>
> The new Xcode doesn't provide much (any?) support for libstdc++,
> preferring libc++ instead. So:
>
> a. Comment out lines 2237-2241 in AMBERHOME/AmberTools/src/configure2:
> (these lines refer to libstdc++)
> b. In line 142 of setup.py (in the pytraj folder), change
> "libstdc++" to "libc++"
>
> Then a "./configure -macAccelerate clang" seems to be working for me.
> (Answer "yes" when asked to download miniconda; might also work with a
> different python you already have, but I've not tried that yet.)
>
> I'm repeating here some notes from an earlier post as well:
>
>> ---------------------------------------------------------------------------
>> 1. As noted before (by Andrew Schaub), you need to get the headers in the
>> proper location. Try this:
>>
>> sudo xcode-select --install (to get the command-line tool installed)
>> open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
>>
>> ---------------------------------------------------------------------------
>> 2. For some reason, you have to tell the miniconda installation what
>> version of the OS you have:
>>
>> export MACOSX_DEPLOYMENT_TARGET='10.14'
>>
>> ---------------------------------------------------------------------------
>> 3. If you get "token not found errors" with -macAccelerate, try this:
>>
>> sudo port install ld64 +ld64_xcode (this is specific to macports)
>>
>> ---------------------------------------------------------------------------
>
> ....dac
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Thu Oct 18 2018 - 00:30:02 PDT
Custom Search