[Neurodebian-devel] Building AFNI deb package

Bennet Fauber bennet at umich.edu
Sun Oct 8 20:03:52 UTC 2017


I am interested in the application build scripts, compile options,
etc. for NeuroDebian.

Right now, I would like to see what the compile-time options are for
AFNI, so I could try to figure out why it has, as output from `ldd
3dSkullStrip`,

    libGLw.so.1 => /usr/lib/x86_64-linux-gnu/libGLw.so.1 (0x00007fbffc105000)
    libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007fbffab9f000)
    libGL.so.1 (0x00007fbffa92d000)

which, if I am not misundertstanding, is a reference to a location in
the binary, instead of something like

    libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fbffa92d000)

which I think is a call for the loader to load the external library.
This is causing an issue when I try to containerize fmriqc because the
library seems to have moved to a different path and is not being found
by the `3dSkullStrip` binary.

In trying to build the AFNI Debian package after running

    $ apt-get source afni

and installing many dependencies, I am getting messages like

-- The imported target "vtkgdcmsharpglue" references the file
   "/usr/lib/x86_64-linux-gnu/libvtkgdcmsharpglue.so"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/x86_64-linux-gnu/gdcm-2.6/GDCMTargets.cmake"
but not all the files it references.

Is there something that needs to be done about those, and if so, what?

Finally it terminates with this:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/bennet/tmp/afni-16.2.07~dfsg.1
# Make xvfb-driver for tests executable since it comes from a patch
chmod +x tests/xvfb-driver
make[1]: Leaving directory '/home/bennet/tmp/afni-16.2.07~dfsg.1'
   debian/rules override_dh_auto_build
make[1]: Entering directory '/home/bennet/tmp/afni-16.2.07~dfsg.1'
dh_auto_build --builddirectory="build-x86_64-linux-gnu"
    make -j1
make[2]: Entering directory
'/home/bennet/tmp/afni-16.2.07~dfsg.1/build-x86_64-linux-gnu'
make[2]: *** No targets specified and no makefile found.  Stop.
make[2]: Leaving directory
'/home/bennet/tmp/afni-16.2.07~dfsg.1/build-x86_64-linux-gnu'
dh_auto_build: make -j1 returned exit code 2
debian/rules:109: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/home/bennet/tmp/afni-16.2.07~dfsg.1'
debian/rules:89: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1376:
dpkg-buildpackage -rfakeroot -D -us -uc -i -b failed

There is a Makefile in /home/bennet/tmp/afni-16.2.07~dfsg.1, and when
I run make there by hand,

In file included from /usr/include/ITK-4.9/expat.h:11:0,
                 from
/home/bennet/tmp/afni-16.2.07~dfsg.1/src/gifti/gifti_io.h:5,
                 from
/home/bennet/tmp/afni-16.2.07~dfsg.1/src/gifti/gifti_io.c:5:
/usr/include/ITK-4.9/expatDllConfig.h:5:30: fatal error:
itk_expat_mangle.h: No such file or directory

The missing header file exists at

    https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/ThirdParty/Expat/src/expat/itk_expat_mangle.h

`apt-file search` doesn't find it, and it is not in the
/usr/include/ITK-4.9 directory with the other header files.

Any insight would be appreciated,

Thanks,    -- bennet



More information about the Neurodebian-devel mailing list