[gmx-developers] gromacs on macbook pro (intel chip) ... or not?

Tom Joseph tom-lists at jambon.ll.cx
Thu Mar 30 07:24:35 CEST 2006


It looks like the Apple-modified version of the GNU assembler (part  
of binutils) doesn't support the well-known Intel syntax for assembly  
language.  For some reason the binutils team decided they wanted to  
use a different source code syntax than the entire rest of the  
world.  The instruction "mov eax, ebx" in Intel syntax is "mov.l % 
ebx, %eax" in GNU syntax.  The problem you observe would also arise  
with any compiler or OS for x86 that doesn't use an assembler that  
supports this syntax.

The easiest solutions that I can think of are 1) disable assembly  
loops and take the speed hit or 2) build your own copies of vanilla  
binutils and gcc and then use those to build GROMACS.

--Tom

On Mar 29, 2006, at 6:46 PM, Arnie Hagler wrote:

> I have recently attempted to install gromacs on the newly released  
> Macbook pro (w/ intel chips). I am having a problem w/ binutils.  
> From the config.log file:
>
> configure:26987: checking whether your compiler can handle assembly  
> files (*.s)
> configure:27006: cc -c conftestasm.s
> configure:27009: $? = 0
> configure:27012: result: yes
> configure:27031: checking whether as understands 'lock cmpxchg'
> configure:27051: cc -c conftest.s
> conftest.s:1:Unknown pseudo-op: .intel_syntax
> conftest.s:1:Rest of line ignored. 1st junk character valued 110 (n).
> conftest.s:3:invalid character '[' in first operand
> configure:27054: $? = 1
> configure:27059: result: no
> configure:27061: error: Upgrade to binutils >= 2.12.1 (or disable  
> assembly loops).
>
> corresponding I believe to the code in configure:
>
> echo "$as_me:$LINENO: checking whether as understands 'lock  
> cmpxchg'" >&5
> echo $ECHO_N "checking whether as understands 'lock cmpxchg'...  
> $ECHO_C" >&6
>   if test "$enable_x86_64_sse" = "yes"; then
>     cat > conftest.s << EOF
> .intel_syntax noprefix
> checkasm:
>         lock cmpxchg [rsi], ebx
>         emms
>         ret
> EOF
>   else
>     cat > conftest.s << EOF
> .intel_syntax noprefix
> checkasm:
>         lock cmpxchg [esi], ebx
>         emms
>         ret
> EOF
>   fi
>
> I doubt that the problem is an old version of binutils on this new  
> platform and would prefer not to disable assembly loops.
>
> Any advice would be greatly appreciated.
>
> Thanks
>
>
> New Yahoo! Messenger with Voice. Call regular phones from your PC  
> for low, low rates.
> _______________________________________________
> gmx-developers mailing list
> gmx-developers at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-developers
> Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-developers-request at gromacs.org.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20060330/6fdae739/attachment.html>


More information about the gromacs.org_gmx-developers mailing list