AMBER Archive (2009)Subject: Re: [AMBER] problem building AmberTools/sleap on AIX
From: Wei Zhang (zgjzweig_at_gmail.com)
Date: Fri Jan 16 2009 - 15:19:42 CST
Hi Shan-ho,
I guess the easiest way it to skip the whole nablib directory,
current it is not used by sleap yet.
To do this, you have to modify gleap/mortsrc/Makefile,
(1) in the first section:
OBJECTS = \
.......... \
nablib/xxx.o ...\
nablib/xxx.o
remove the those object file in nablist
(2) in the second section:
all:
.....
cd nablib; make
.....
remove the line "cd nablib; make"
Can you try this and let me know the result?
Sincerely,
Wei
On Jan 16, 2009, at 2:58 PM, Shan-ho Tsai wrote:
>
> Hi all,
>
> I'm still struggling to get sleap to build on AIX.
> As my last posting in this thread indicates, I've
> tried to compile all mortsrc/nablib code (both C
> and C++ code) with g++. However, I got an error
> when compiling memutil.c (incorrect C++ syntax
> in nab.h). Is there a way I can modify nab.h
> (line 219) to make it compatible with g++ ?
>
> I've also tried using the IBM xlC compiler, but
> got an error compiling one of the C++ programs.
> As this is not listed as a supported compiler for
> AmberTools, I didn't pursue this path further.
>
> Any other suggestions?
>
> Thanks in advance,
> Shan-Ho
>
>
> On Mon, 12 Jan 2009, Shan-ho Tsai wrote:
>
>>
>> Hi Wei,
>> Thank you very much for your response. I made the change
>> in src/gleap/mortsrc/nablib/Makefile that you suggested
>> and recompiled. I am getting an error compiling memutil.c.
>> The error message is:
>>
>> g++ -c -Dflex -DMORT -O3 -DBINTRAJ -o memutil.o memutil.c
>> In file included from memutil.c:4:
>> nab.h:219: error: expected ',' or '...' before '&' token
>> nab.h:219: error: ISO C++ forbids declaration of 'molecule_t'
>> with no type
>> gmake[2]: *** [memutil.o] Error 1
>>
>> ---------------------------------------------
>> Line 219 in nab.h is
>>
>> double molsurf(const molecule_t&, double, bool verbose=false );
>>
>> I got this error using either g++ 3.3.2 or 4.1.2.
>>
>> Thank you!
>> Shan-Ho
>>
>> On Fri, 9 Jan 2009, Wei Zhang wrote:
>>
>>> Hi,
>>>
>>> It looks like due to C++ name mangling, maybe because we use gcc
>>> to compile c source
>>> code, but use g++ to compile c++ code and link them together.
>>>
>>> Can you try the following:
>>>
>>> find file amber10/src/gleap/mortsrc/nablib/Makefile. Change line
>>> 3 to 4 from:
>>> .c.o:
>>> $(CC) -c -Dflex -DMORT $(OCFLAGS) -o $@ $<
>>>
>>> to
>>> .c.o:
>>> $(CXX) -c -Dflex -DMORT $(OCFLAGS) -o $@ $<
>>>
>>> then recompile. This will make sure c code will also compiled by c+
>>> + compiler.
>>>
>>> Sincerely,
>>>
>>> Wei
>>>
>
> _______________________________________________
> AMBER mailing list
> AMBER_at_ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
_______________________________________________
AMBER mailing list
AMBER_at_ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
|