Bug#1114618: FTBFS against Octave 10

Sébastien Villemot sebastien at debian.org
Mon Sep 8 18:43:47 BST 2025


Le lundi 08 septembre 2025 à 19:25 +0200, Rafael Laboissière a écrit :
> * Sébastien Villemot <sebastien at debian.org> [2025-09-07 18:44]:
> 
> > Source: vlfeat
> > Version: 0.9.21+full-2.1
> > Severity: important
> > Tags: ftbfs sid forky
> > X-Debbugs-Cc: debian-octave at lists.debian.org
> > User: debian-octave at lists.debian.org
> > Usertags: octave-10
> > 
> > Dear Maintainer,
> > 
> > vlfeat FTBFS against octave 10 (which currently stands in experimental).
> > 
> > A build log is attached.
> 
> There are loads of error messages like the following one:
> 
> dpkg-shlibdeps: error: cannot find library liboctmex.so.1 needed by debian/octave-vlfeat/usr/lib/x86_64-linux-gnu/octave/site/oct/x86_64-pc-linux-gnu/vlfeat/toolbox/vl_twister.mex (ELF format: 'elf64-x86-64' abi: 'ELF:64:l:amd64:0'; RPATH: '')
> 
> This is strange, because "-L/usr/lib/x86_64-linux-gnu/octave/10.2.0 
> -loctmex" is passed to g++ when the .mex files are compiled through 
> mkoctfile, like in the following example:
> 
>   CFLAGS="-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vlfeat-0.9.21+full=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -Wextra -Wno-unused-function -Wno-long-long -Wno-variadic-macros  -DNDEBUG -O3  -D_GNU_SOURCE -fno-stack-protector" \
>   LDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lpthread -lm" \
>   /usr/bin/mkoctfile \
>      --mex -v \
>      --output "toolbox/mex/octave/mexglx/vl_slic.mex" \
>        -DVL_DISABLE_SSE2 -DVL_DISABLE_AVX -I. -Itoolbox -I. "./toolbox/slic/vl_slic.c" \
>      -Lbin/debian -lvl -lm
>   gcc -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-10.2.0/octave/.. -I/usr/include/octave-10.2.0/octave  -pthread -fopenmp -fexceptions -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vlfeat-0.9.21+full=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -Wextra -Wno-unused-function -Wno-long-long -Wno-variadic-macros  -DNDEBUG -O3  -D_GNU_SOURCE -fno-stack-protector   -I. -I. -Itoolbox -I.  -DVL_DISABLE_SSE2 -DVL_DISABLE_AVX -DMEX_DEBUG ./toolbox/slic/vl_slic.c -o /tmp/oct-7QRLV6.o
>   gcc -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-10.2.0/octave/.. -I/usr/include/octave-10.2.0/octave  -pthread -fopenmp -fexceptions -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/vlfeat-0.9.21+full=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -Wextra -Wno-unused-function -Wno-long-long -Wno-variadic-macros  -DNDEBUG -O3  -D_GNU_SOURCE -fno-stack-protector   -I. -I. -Itoolbox -I.  -DVL_DISABLE_SSE2 -DVL_DISABLE_AVX -DMEX_DEBUG /tmp/oct-kEsu4D.c -o /tmp/oct-uNoD3P.o
>   g++ -I/usr/include/octave-10.2.0/octave/.. -I/usr/include/octave-10.2.0/octave  -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/vlfeat-0.9.21+full=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -o toolbox/mex/octave/mexglx/vl_slic.mex  /tmp/oct-7QRLV6.o /tmp/oct-uNoD3P.o   -Lbin/debian -lvl -lm -shared -Wl,-Bsymbolic -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lpthread -lm  -L/usr/lib/x86_64-linux-gnu/octave/10.2.0 -loctmex -flto=auto -ffat-lto-objects -Wl,-z,relro
> 
> Any ideas?

The problem is that liboctmex.so.1 appears in the dynamic dependencies
of the generated MEX file (technically in the DT_NEEDED ELF section),
but the library is not in a location searched by the dynamic linker
(because it is installed in a private directory, as the other Octave
libraries).

This probably needs to be solved at the mkoctfile level.

Note that there are many other similar bugs. Once we have found the
correct fix, and assuming that the fix is in src:octave, we’ll reassign
these bugs to octave-dev and merge them.

-- 
⢀⣴⠾⠻⢶⣦⠀  Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁  Debian Developer
⢿⡄⠘⠷⠚⠋⠀  https://sebastien.villemot.name
⠈⠳⣄⠀⠀⠀⠀  https://www.debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20250908/edc6df79/attachment.sig>


More information about the debian-science-maintainers mailing list