The $ git pull; ./build command got error

Hi
I try to execute $ git pull; ./build command and got below error. Please help!

IOANA+Administrator@IOANA MINGW64 ~/mrtrix3
$ git pull; ./build
Already up-to-date.
(  1/399) [CC] release/cmd/tckgen.o
(  2/399) [CC] release/cmd/dwi2tensor.o
(  3/399) [CC] release/src/connectome/connectome.o
(  4/399) [CC] release/cmd/mrcalc.o
(  5/399) [CC] release/lib/file/dicom/image.o
(  6/399) [CC] release/cmd/mrpad.o
(  7/399) [CC] release/lib/formats/mrtrix_utils.o
(  8/399) [CC] release/src/gui/mrview/mode/base.o
(  9/399) [CC] release/src/dwi/tractography/properties.o
( 10/399) [MOC] release/src/gui/mrview/colourmap_button_moc.cpp
( 11/399) [CC] release/src/gui/opengl/font.o
( 12/399) [CC] release/cmd/tck2connectome.o
( 13/399) [CC] release/cmd/fixelcalc.o
( 14/399) [CC] release/src/gui/lighting_dock.o
( 15/399) [CC] release/cmd/warpcorrect.o
( 16/399) [CC] release/src/dwi/tractography/mapping/writer.o
( 17/399) [CC] release/src/dwi/tractography/rng.o
( 18/399) [CC] release/src/gui/dialog/opengl.o
( 19/399) [CC] release/src/gui/gui.o
( 20/399) [CC] release/src/gui/dwi/render_frame.o
( 21/399) [CC] release/lib/formats/analyse.o
( 22/399) [CC] release/src/gui/mrview/tool/fixel.o
( 23/399) [CC] release/src/gui/dialog/dicom.o
( 24/399) [CC] release/cmd/fixellog.o
( 25/399) [CC] release/cmd/mrregister.o
( 26/399) [CC] release/cmd/tcksample.o
( 27/399) [MOC] release/src/gui/mrview/combo_box_error_moc.cpp
( 28/399) [CC] release/cmd/fixelreorient.o

ERROR: (  1/399) [CC] release/cmd/tckgen.o

g++ -c -std=c++11 -pthread -DMRTRIX_WINDOWS -mms-bitfields -march=native -DMRTRIX_WORD64 -isystem C:/msys64/mingw64/include/eigen3 -Wall -O0 -g -D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1 -Isrc -Icmd -I./lib -Icmd -isystem C:/msys64/mingw64/include/eigen3 cmd/tckgen.cpp -o release/cmd/tckgen.o

failed with output

C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/bin/as.exe: release/cmd/tckgen.o: too many sections (40731)
C:\Users\ADMINI~1\AppData\Local\Temp\cczTTdfu.s: Assembler messages:
C:\Users\ADMINI~1\AppData\Local\Temp\cczTTdfu.s: Fatal error: can't write release/cmd/tckgen.o: File too big
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/bin/as.exe: release/cmd/tckgen.o: too many sections (40731)
C:\Users\ADMINI~1\AppData\Local\Temp\cczTTdfu.s: Fatal error: can't close release/cmd/tckgen.o: File too big

ERROR: ( 25/399) [CC] release/cmd/mrregister.o

g++ -c -std=c++11 -pthread -DMRTRIX_WINDOWS -mms-bitfields -march=native -DMRTRIX_WORD64 -isystem C:/msys64/mingw64/include/eigen3 -Wall -O0 -g -D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1 -Isrc -Icmd -I./lib -Icmd -isystem C:/msys64/mingw64/include/eigen3 cmd/mrregister.cpp -o release/cmd/mrregister.o

failed with output

cmd/mrregister.cpp:889:1: internal compiler error: Segmentation fault
 }
 ^
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://sourceforge.net/projects/msys2> for instructions.

That will most likely be an out of RAM error. See this recent discussion on how to deal with this - hopefully this’ll be a simple fix.

Unfortunately no; it’s more sinister than that… :frowning:

This line here:
cmd/mrregister.cpp:889:1: internal compiler error: Segmentation fault
is most likely your system running out of RAM, as @jdtournier suggested.

However this line here is different:
as.exe: release/cmd/tckgen.o: too many sections (40731)
Essentially, there’s a fundamental limitation on the maximum program complexity that can be encapsulated into a single object file on Windows (32766 sections), and this has been exceeded on your system. I’ve had this issue for a while now when attempting to compile in debugging mode on Windows, but I’d not seen it in release mode until now. With MRtrix3 we have a lot of code that’s written to run very efficiently, but it does tend to increase the load on the compiler. Work is going into updating these tools in MinGW to bypass this limitation, but it doesn’t look like it’s anywhere near release from what I can see.

So I’m sorry to say it, but your best bet for now may be to stick to a virtual machine :confounded: