[Mrtrix-discussion] MRTrix Ubuntu build error

Donald Tournier jdtournier at gmail.com
Wed Jan 8 07:54:07 PST 2014


Hi Ralf,

I've never seen anything like this - the compiler generating assembly
instructions that don't exist. The compiler is set to using the native
architecture, but it would well be that in a virtual machine, the compiler
gets confused as to what the 'native' CPU actually is. You can query what
the compiler thinks your CPU is using this command:

$ gcc -march=native -Q --help=target | grep march

Can you run this and report back on the output?

As a potential workaround, you could try editing sysconf/linux.py and
replace the '-march=native' option with '-march=x86-64', which is pretty
generic - assuming you're running a 64-bit virtual machine.

Cheers,
Donald.

PS: could be that you need to put 'x86_64' - I can never remember whether
it's an underscore or a hyphen...




On 8 January 2014 15:22, Ralf <luetzken at med.ovgu.de> wrote:

> Hello,
>
> I tried to compile MRTrix on Ubuntu 12.04.
> I installed all the compile-time and Run-time dependencies
> The package manager didn't find nvidia-glx, the other stuff was properly
> installed.
> After unpacking and starting building, the following error message popped
> up:
>
> root at ubuntu-virtual-machine:/home/ubuntu/Desktop/mrtrix-0.2.11# ./build
>
> [CC] src/dwi/tractography/tracker/sd_prob.o[CC] src/min_max.o
>
>
> ERROR: [CC] src/min_max.o
>
> g++ -c -Wall -march=native -fPIC -fno-strict-aliasing
> -DGL_GLEXT_PROTOTYPES -DUSE_TR1 -O2 -pthread -I/usr/include/glibmm-2.4
> -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0
> -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Ilib -Isrc src/min_max.cpp -o
> src/min_max.o
>
> failed with output:
>
> /tmp/cc85kt0Q.s: Assembler messages:
> /tmp/cc85kt0Q.s:83: Error: no such instruction: `vfmadd312ss
> 512(%r13),%xmm0,%xmm1'
> /tmp/cc85kt0Q.s:113: Error: no such instruction: `vfmadd312ss
> 512(%r13),%xmm0,%xmm1'
>
> STOP
>
> ERROR: [CC] src/dwi/tractography/tracker/sd_prob.o
>
> g++ -c -Wall -march=native -fPIC -fno-strict-aliasing
> -DGL_GLEXT_PROTOTYPES -DUSE_TR1 -O2 -pthread -I/usr/include/glibmm-2.4
> -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0
> -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0
> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Ilib -Isrc
> src/dwi/tractography/tracker/sd_prob.cpp -o
> src/dwi/tractography/tracker/sd_prob.o
>
> failed with output:
>
> /tmp/ccqC5s0Q.s: Assembler messages:
> /tmp/ccqC5s0Q.s:449: Error: no such instruction: `vfmadd312ss
> -72(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:465: Error: no such instruction: `vfmadd312ss
> -72(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:481: Error: no such instruction: `vfmadd312ss
> -72(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:497: Error: no such instruction: `vfmadd312ss
> -72(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:513: Error: no such instruction: `vfmadd312ss
> -72(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:529: Error: no such instruction: `vfmadd312ss
> -72(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:545: Error: no such instruction: `vfmadd312ss
> -72(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:2047: Error: no such instruction: `vfmadd312ss
> -648(%rbp),%xmm0,%xmm6'
> /tmp/ccqC5s0Q.s:2063: Error: no such instruction: `vfmadd312ss
> -648(%rbp),%xmm0,%xmm2'
> /tmp/ccqC5s0Q.s:2079: Error: no such instruction: `vfmadd312ss
> -648(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:2095: Error: no such instruction: `vfmadd312ss
> -648(%rbp),%xmm0,%xmm3'
> /tmp/ccqC5s0Q.s:2111: Error: no such instruction: `vfmadd312ss
> -648(%rbp),%xmm0,%xmm6'
> /tmp/ccqC5s0Q.s:2127: Error: no such instruction: `vfmadd312ss
> -648(%rbp),%xmm0,%xmm1'
> /tmp/ccqC5s0Q.s:2143: Error: no such instruction: `vfmadd312ss
> -648(%rbp),%xmm0,%xmm7'
> /tmp/ccqC5s0Q.s:2169: Error: no such instruction: `vfmsub312sd
> -656(%rbp),%xmm1,%xmm2'
> /tmp/ccqC5s0Q.s:2176: Error: no such instruction: `vfmsub312sd
> -656(%rbp),%xmm3,%xmm1'
> /tmp/ccqC5s0Q.s:2261: Error: no such instruction: `vfmsub312sd
> -656(%rbp),%xmm1,%xmm2'
> /tmp/ccqC5s0Q.s:2268: Error: no such instruction: `vfmsub312sd
> -656(%rbp),%xmm3,%xmm1'
>
> STOP
>
>
> Im not an Linux expert and I hope somebody can help.
>
> Thanks,
>
>
> Ralf Luetzkendorf
>
>
>
> _______________________________________________
> Mrtrix-discussion mailing list
> Mrtrix-discussion at www.nitrc.org
> http://www.nitrc.org/mailman/listinfo/mrtrix-discussion
>
>


-- 
*Dr J-Donald Tournier (PhD)*

*Senior Lecturer, **Biomedical Engineering*

*Division of Imaging Sciences & Biomedical EngineeringKing's College London*


*A: Department of Perinatal Imaging & Health, 1st Floor South Wing, St
Thomas' Hospital, London. SE1 7EH*
*T: +44 (0)20 7188 7118 ext 53613*
*W: http://www.kcl.ac.uk/medicine/research/divisions/imaging/departments/biomedengineering
<http://www.kcl.ac.uk/medicine/research/divisions/imaging/departments/biomedengineering>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.nitrc.org/pipermail/mrtrix-discussion/attachments/20140108/db5fd460/attachment.html>


More information about the Mrtrix-discussion mailing list