Hey,
I'm trying to compile afni from source. However, I'm getting linker errors with SUMA.
I'm using Makefile.linux_ubuntu_24_64
(symlinked to Makefile) to run the compilation.
I'm not familiar enough with the source to fix this. Any ideas what's going on?
The afni source tree is up to date according to git pull. The system is Ubuntu 24.10 and gcc is 13. Full details are below the error messages.
rm -f libSUMA.so
/usr/bin/gcc -O2 -fPIC -DREAD_WRITE_64 -DLINUX2 -Wcomment -Wformat -DUSE_TRACING -DHAVE_XDBE -D_GNU_SOURCE -DREPLACE_XT -shared -fPIC -o libSUMA.so SUMA_trackball.o SUMA_SVmanip.o SUMA_input.o SUMA_clippingPlanes.o SUMA_MiscFunc.o SUMA_IV_XYZextract.o SUMA_IV_FaceSetsextract.o SUMA_SurfNorm.o SUMA_DOmanip.o SUMA_Load_Surface_Object.o SUMA_CreateDO.o SUMA_help.o SUMA_display.o SUMA_display_b.o SUMA_ParseCommands.o SUMA_Engine.o SUMA_Surface_IO.o SUMA_VolData.o SUMA_niml.o SUMA_Color.o SUMA_GeomComp.o SUMA_SphericalMapping.o SUMA_DataSets.o SUMA_HomerFunc.o SUMA_xColBar.o SUMA_IsoSurfaceFunc.o SUMA_BrainWrap.o SUMA_global.o SUMA_ExpEval.o SUMA_SurfaceToSurface.o SUMA_LocalStat.o SUMA_spharm.o SUMA_dot.o SUMA_plot.o SUMA_volume_render.o SUMA_driver.o MarchingCubes.o mc_ziad.o
/usr/bin/ld: SUMA_SVmanip.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_input.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_clippingPlanes.o:(.bss+0xf8): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_MiscFunc.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_IV_XYZextract.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_IV_FaceSetsextract.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_SurfNorm.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_DOmanip.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_Load_Surface_Object.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_CreateDO.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_help.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_display.o:(.bss+0x10): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_display_b.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_ParseCommands.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_Engine.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_Surface_IO.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_VolData.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_niml.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_Color.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_GeomComp.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_SphericalMapping.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_DataSets.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_HomerFunc.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_xColBar.o:(.bss+0x8): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_IsoSurfaceFunc.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_BrainWrap.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_global.o:(.bss+0x30): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_ExpEval.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_SurfaceToSurface.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_LocalStat.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_spharm.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_dot.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_plot.o:(.bss+0x8): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_volume_render.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
/usr/bin/ld: SUMA_driver.o:(.bss+0x0): multiple definition of `glwDrawingAreaWidgetClass'; SUMA_trackball.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [SUMA_Makefile_NoDev:162: libSUMA.so] Error 1
make[1]: Leaving directory '/home/colmconn/src/afni/src/SUMA'
/bin/cp: cannot stat 'SUMA/libSUMA.so': No such file or directory
/bin/cp: cannot stat 'SUMA/libSUMA.so': No such file or directory
make: *** [Makefile.INCLUDE:3851: libSUMA.so] Error 1
colmconn@med51hp9t2:~/src/afni/src$ date
Mon Jun 9 10:28:37 AM EDT 2025
colmconn@med51hp9t2:~/src/afni/src$ git pull
Already up to date.
colmconn@med51hp9t2:~/src/afni/src$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Codename: noble
colmconn@med51hp9t2:~/src/afni/src$ gcc --version
gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.