Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: ./libfml.a(rle.o):/build/source/SeqLib/fermi-lite/rle.h:33: multiple definition of
`rle_auxtab'; ./libfml.a(misc.o):/build/source/SeqLib/fermi-lite/rle.h:33: first defined here
Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: /build/ccKomtcd.o:(.bss+0x4544): multiple definition of `SeqTypes';
/build/ccx7EsgU.o:(.bss+0x2a0dfdc): first defined here
Without the change build fails on upstream gcc-10 as:
ld: lib_minctracc.a(minctracclib.c.o):(.bss+0x78): multiple definition of
`prog_name'; CMakeFiles/xfm2param.dir/Extra_progs/xfm2param.c.o:(.bss+0x18): first defined here
Without the change build fails on upstream gcc-10 as:
ld: ccD2iWhk.o:(.bss+0x8): multiple definition of `domain';
ccgA4lYl.o:(.bss+0x8): first defined here
ld: ccD2iWhk.o:(.bss+0x0): multiple definition of `long_domain';
ccgA4lYl.o:(.bss+0x0): first defined here
Package refuses to build with current GCC (11), but building with older
GCC causes error linking libminc and I don't want to pin a bunch of
deps.
A newer version is available upstream but it only works with ITK 5.0
(see https://github.com/BIC-MNI/EZminc/issues/15),
but we have 4.x and 5.2.x in tree and I'm reluctant to add 5.0 just for
one package (even ITK 4.x is only used by ants and ezminc and should be
removed as soon as ants is upgraded).
Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: foomatic_rip-options.o:/build/foomatic-filters-4.0.17/options.c:49: multiple definition of `cupsfilter';
foomatic_rip-foomaticrip.o:/build/foomatic-filters-4.0.17/foomaticrip.c:158: first defined here
Add a patch that removes the current source directory from the include
search path during compilation so that #include <version> does not end
up picking the VERSION source code file.
Without the change build fails on -fno-common toolchains like upstream
gcc-10 as:
$ nix build -L --impure --expr 'with import ./. {}; bwa.overrideAttrs (oa: { NIX_CFLAGS_COMPILE = (oa.NIX_CFLAGS_COMPILE or "") + "-fno-common"; })'
...
ld: ./libbwa.a(rope.o):/build/bwa-0.7.17/rle.h:33:
multiple definition of `rle_auxtab'; ./libbwa.a(bwtindex.o):/build/bwa-0.7.17/rle.h:33: first defined here
ld: ./libbwa.a(rle.o):/build/bwa-0.7.17/rle.h:33:
multiple definition of `rle_auxtab'; ./libbwa.a(bwtindex.o):/build/bwa-0.7.17/rle.h:33: first defined here
Right now, the dcm2niix package produces a single binary without support for
dcm2niibatch, JPEG-LS, OpenJPEG, or an alternative zlib library. The official
build process for dcm2niix configures all these options (minus batch support). I
was motivated to make these changes so my organization could process JPEG 2000
imagery using the Nix binary.