Re: [AMBER] New compile-issue macOS, CPPTRAJ

From: Gustaf Olsson <gustaf.olsson.lnu.se>
Date: Tue, 2 Apr 2019 07:27:58 +0000

> Do you have a CXX envinroment variable set, and if so, to what?
> ...thx...dac


I did not, though setting it does not change anything, unfortunately.

> This actually appears to be the result of Apple mucking with header
> files and is GNU/C++ specific on Mojave; see
> https://apple.stackexchange.com/questions/355049/compilation-error-with-mojave-error-atomic-does-not-name-a-type.

So the way that I am reeding this, it stems from an issue with the homebrew gcc installation? I would either need to compile gcc myself from source implementing the patch as indicated or find a way to configure the amber cpptraj compilation without c++11 support? The first option would only be “simple enough” if the patched version of gcc works and I can push it to the homebrew repository fo re-use. The latter might work “out of the box” though it is annoying.

> This seems like you're using the standalone cpptraj configure from
> inside AmberTools maybe? If so, you should execute it the same way
> $AMBERHOME/AmberTools/src/configure2 does, specifying
> '--with-netcdf=$AMBERHOME' etc so it knows where to get NetCDF etc
> (search for 'Configure CPPTRAJ' in configure2).
>
> -Dan

I was trying to build the standalone version of cpptraj from GitHub independently from amber to see if it made any difference though I did not manage to get cpptraj to find the system installed NetCDF version that I have. Though maybe now I can specify using --with-netcdf=/location/of/netcdf to completely ignore the amber18 folder and have an isolated compilation of cpptraj?

Best regards
// Gustaf


> On 1 Apr 2019, at 17:18, Daniel Roe <daniel.r.roe.gmail.com> wrote:
>
> Hi,
>
> On Mon, Apr 1, 2019 at 8:04 AM Gustaf Olsson <gustaf.olsson.lnu.se> wrote:
>> CXX StringRoutines.cpp
>> In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/sysctl.h:83,
>> from StringRoutines.cpp:14:
>> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/ucred.h:94:2: error: '_Atomic' does not name a type
>> _Atomic u_long cr_ref; /* reference count */
>> ^~~~~~~
>> make[4]: *** [StringRoutines.o] Error 1
>> make[3]: *** [install] Error 2
>> make[2]: *** [build_cpptraj] Error 2
>> make[1]: *** [serial] Error 2
>> make: *** [install] Error 2
>>
>> This is seemingly an issue with CPPTRAJ that does not show up when compiling using clang so I am assuming this is somehow related to gcc. Now, I know that macOS does not make it easy compiling though I am curious why something would be sourced from the Xcode CLT when not using the apple compiler.
>
> This actually appears to be the result of Apple mucking with header
> files and is GNU/C++ specific on Mojave; see
> https://apple.stackexchange.com/questions/355049/compilation-error-with-mojave-error-atomic-does-not-name-a-type.
> I'm not sure what the proper workaround is; maybe disabling C++11 for
> cpptraj? Can you try configuring cpptraj standalone (either via
> $AMBERHOME/AmberTools/src/cpptraj or via the GitHub version) with
> -noc++11?
>
>>
>> Trying to build from git, I get a NetCDF test error:
>>
>> Checking NetCDF:
>> Test compile failed: g++ -Wall -O3 -std=gnu++11 -o testp testp.cpp -lnetcdf
>> Error follows:
>> testp.cpp:2:10: fatal error: netcdf.h: No such file or directory
>> #include "netcdf.h"
>
> This seems like you're using the standalone cpptraj configure from
> inside AmberTools maybe? If so, you should execute it the same way
> $AMBERHOME/AmberTools/src/configure2 does, specifying
> '--with-netcdf=$AMBERHOME' etc so it knows where to get NetCDF etc
> (search for 'Configure CPPTRAJ' in configure2).
>
> -Dan
>
> _______________________________________________
> 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 Tue Apr 02 2019 - 00:30:01 PDT
Custom Search