Bug#806877: x265: FTBFS when built with dpkg-buildpackage -A (ld: cannot find -lx265_main10)

Santiago Vila sanvila at debian.org
Wed Dec 2 12:09:03 UTC 2015


Package: src:x265
Version: 1.8-4
User: sanvila at debian.org
Usertags: binary-indep
Severity: important

Dear maintainer:

I tried to build this package with "dpkg-buildpackage -A"
(i.e. only architecture-independent packages), and it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-indep
dh build-indep --parallel --buildsystem=cmake \
	--sourcedirectory=source \
	--builddirectory=x265-8bit
   dh_testdir -i -O--parallel -O--buildsystem=cmake -O--sourcedirectory=source -O--builddirectory=x265-8bit
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_configure --builddirectory=x265-10bit -- \
	-DENABLE_PIC=ON \
	-DENABLE_CLI=OFF \
	-DENABLE_SHARED=OFF \
	-DEXPORT_C_API=OFF \

[... snipped ...]

cd /<<PKGBUILDDIR>>/x265-8bit/common && /usr/bin/c++   -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=0 -DX265_ARCH_X86=1 -DX265_DEPTH=8 -DX265_NS=x265 -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-8bit    -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -o CMakeFiles/common.dir/slice.cpp.o -c /<<PKGBUILDDIR>>/source/common/slice.cpp
[ 77%] Building CXX object common/CMakeFiles/common.dir/lowres.cpp.o
cd /<<PKGBUILDDIR>>/x265-8bit/common && /usr/bin/c++   -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=0 -DX265_ARCH_X86=1 -DX265_DEPTH=8 -DX265_NS=x265 -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-8bit    -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -o CMakeFiles/common.dir/lowres.cpp.o -c /<<PKGBUILDDIR>>/source/common/lowres.cpp
[ 78%] Building CXX object common/CMakeFiles/common.dir/piclist.cpp.o
cd /<<PKGBUILDDIR>>/x265-8bit/common && /usr/bin/c++   -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=0 -DX265_ARCH_X86=1 -DX265_DEPTH=8 -DX265_NS=x265 -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-8bit    -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -o CMakeFiles/common.dir/piclist.cpp.o -c /<<PKGBUILDDIR>>/source/common/piclist.cpp
[ 80%] Building CXX object common/CMakeFiles/common.dir/predict.cpp.o
cd /<<PKGBUILDDIR>>/x265-8bit/common && /usr/bin/c++   -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=0 -DX265_ARCH_X86=1 -DX265_DEPTH=8 -DX265_NS=x265 -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-8bit    -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -o CMakeFiles/common.dir/predict.cpp.o -c /<<PKGBUILDDIR>>/source/common/predict.cpp
[ 81%] Building CXX object common/CMakeFiles/common.dir/scalinglist.cpp.o
cd /<<PKGBUILDDIR>>/x265-8bit/common && /usr/bin/c++   -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=0 -DX265_ARCH_X86=1 -DX265_DEPTH=8 -DX265_NS=x265 -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-8bit    -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -o CMakeFiles/common.dir/scalinglist.cpp.o -c /<<PKGBUILDDIR>>/source/common/scalinglist.cpp
[ 82%] Building CXX object common/CMakeFiles/common.dir/quant.cpp.o
cd /<<PKGBUILDDIR>>/x265-8bit/common && /usr/bin/c++   -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=0 -DX265_ARCH_X86=1 -DX265_DEPTH=8 -DX265_NS=x265 -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-8bit    -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -o CMakeFiles/common.dir/quant.cpp.o -c /<<PKGBUILDDIR>>/source/common/quant.cpp
[ 83%] Building CXX object common/CMakeFiles/common.dir/deblock.cpp.o
cd /<<PKGBUILDDIR>>/x265-8bit/common && /usr/bin/c++   -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 -DHAVE_LIBNUMA -DHIGH_BIT_DEPTH=0 -DX265_ARCH_X86=1 -DX265_DEPTH=8 -DX265_NS=x265 -DX86_64=1 -D__STDC_LIMIT_MACROS=1 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -I/<<PKGBUILDDIR>>/source/. -I/<<PKGBUILDDIR>>/source/common -I/<<PKGBUILDDIR>>/source/encoder -I/<<PKGBUILDDIR>>/x265-8bit    -Wall -Wextra -Wshadow -fPIC -Wno-array-bounds -ffast-math -mstackrealign -fno-exceptions -o CMakeFiles/common.dir/deblock.cpp.o -c /<<PKGBUILDDIR>>/source/common/deblock.cpp
make[3]: Leaving directory '/<<PKGBUILDDIR>>/x265-8bit'
[ 83%] Built target common
make -f CMakeFiles/x265-shared.dir/build.make CMakeFiles/x265-shared.dir/depend
make[3]: Entering directory '/<<PKGBUILDDIR>>/x265-8bit'
cd /<<PKGBUILDDIR>>/x265-8bit && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /<<PKGBUILDDIR>>/source /<<PKGBUILDDIR>>/source /<<PKGBUILDDIR>>/x265-8bit /<<PKGBUILDDIR>>/x265-8bit /<<PKGBUILDDIR>>/x265-8bit/CMakeFiles/x265-shared.dir/DependInfo.cmake --color=
Scanning dependencies of target x265-shared
make[3]: Leaving directory '/<<PKGBUILDDIR>>/x265-8bit'
make -f CMakeFiles/x265-shared.dir/build.make CMakeFiles/x265-shared.dir/build
make[3]: Entering directory '/<<PKGBUILDDIR>>/x265-8bit'
[ 85%] Linking CXX shared library libx265.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/x265-shared.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -Wl,-Bsymbolic,-znoexecstack  -Wl,-z,relro -Wl,--as-needed -L/<<PKGBUILDDIR>>/x265-10bit -L/<<PKGBUILDDIR>>/x265-12bit -shared -Wl,-soname,libx265.so.68 -o libx265.so.68 encoder/CMakeFiles/encoder.dir/analysis.cpp.o encoder/CMakeFiles/encoder.dir/search.cpp.o encoder/CMakeFiles/encoder.dir/bitcost.cpp.o encoder/CMakeFiles/encoder.dir/motion.cpp.o encoder/CMakeFiles/encoder.dir/slicetype.cpp.o encoder/CMakeFiles/encoder.dir/frameencoder.cpp.o encoder/CMakeFiles/encoder.dir/framefilter.cpp.o encoder/CMakeFiles/encoder.dir/level.cpp.o encoder/CMakeFiles/encoder.dir/nal.cpp.o encoder/CMakeFiles/encoder.dir/sei.cpp.o encoder/CMakeFiles/encoder.dir/sao.cpp.o encoder/CMakeFiles/encoder.dir/entropy.cpp.o encoder/CMakeFiles/encoder.dir/dpb.cpp.o encoder/CMakeFiles/encoder.dir/ratecontrol.cpp.o encoder/CMakeFiles/encoder.dir/reference.cpp.o encoder/CMakeFiles/encoder.dir/encoder.cpp.o encoder/CMakeFiles/encoder.dir/api.cpp.o encoder/CMakeFiles/encoder.dir/weightPrediction.cpp.o common/CMakeFiles/common.dir/x86/pixel-a.asm.o common/CMakeFiles/common.dir/x86/const-a.asm.o common/CMakeFiles/common.dir/x86/cpu-a.asm.o common/CMakeFiles/common.dir/x86/ssd-a.asm.o common/CMakeFiles/common.dir/x86/mc-a.asm.o common/CMakeFiles/common.dir/x86/mc-a2.asm.o common/CMakeFiles/common.dir/x86/pixel-util8.asm.o common/CMakeFiles/common.dir/x86/blockcopy8.asm.o common/CMakeFiles/common.dir/x86/pixeladd8.asm.o common/CMakeFiles/common.dir/x86/dct8.asm.o common/CMakeFiles/common.dir/x86/sad-a.asm.o common/CMakeFiles/common.dir/x86/intrapred8.asm.o common/CMakeFiles/common.dir/x86/intrapred8_allangs.asm.o common/CMakeFiles/common.dir/x86/ipfilter8.asm.o common/CMakeFiles/common.dir/x86/loopfilter.asm.o common/CMakeFiles/common.dir/x86/asm-primitives.cpp.o common/CMakeFiles/common.dir/vec/vec-primitives.cpp.o common/CMakeFiles/common.dir/vec/dct-sse3.cpp.o common/CMakeFiles/common.dir/vec/dct-ssse3.cpp.o common/CMakeFiles/common.dir/vec/dct-sse41.cpp.o common/CMakeFiles/common.dir/primitives.cpp.o common/CMakeFiles/common.dir/pixel.cpp.o common/CMakeFiles/common.dir/dct.cpp.o common/CMakeFiles/common.dir/ipfilter.cpp.o common/CMakeFiles/common.dir/intrapred.cpp.o common/CMakeFiles/common.dir/loopfilter.cpp.o common/CMakeFiles/common.dir/constants.cpp.o common/CMakeFiles/common.dir/cpu.cpp.o common/CMakeFiles/common.dir/version.cpp.o common/CMakeFiles/common.dir/threading.cpp.o common/CMakeFiles/common.dir/threadpool.cpp.o common/CMakeFiles/common.dir/wavefront.cpp.o common/CMakeFiles/common.dir/md5.cpp.o common/CMakeFiles/common.dir/bitstream.cpp.o common/CMakeFiles/common.dir/yuv.cpp.o common/CMakeFiles/common.dir/shortyuv.cpp.o common/CMakeFiles/common.dir/picyuv.cpp.o common/CMakeFiles/common.dir/common.cpp.o common/CMakeFiles/common.dir/param.cpp.o common/CMakeFiles/common.dir/frame.cpp.o common/CMakeFiles/common.dir/framedata.cpp.o common/CMakeFiles/common.dir/cudata.cpp.o common/CMakeFiles/common.dir/slice.cpp.o common/CMakeFiles/common.dir/lowres.cpp.o common/CMakeFiles/common.dir/piclist.cpp.o common/CMakeFiles/common.dir/predict.cpp.o common/CMakeFiles/common.dir/scalinglist.cpp.o common/CMakeFiles/common.dir/quant.cpp.o common/CMakeFiles/common.dir/deblock.cpp.o -Wl,-Bstatic -lx265_main10 -lx265_main12 -Wl,-Bdynamic -lpthread -lrt -ldl -lnuma 
/usr/bin/ld: cannot find -lx265_main10
/usr/bin/ld: cannot find -lx265_main12
collect2: error: ld returned 1 exit status
CMakeFiles/x265-shared.dir/build.make:206: recipe for target 'libx265.so.68' failed
make[3]: *** [libx265.so.68] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/x265-8bit'
CMakeFiles/Makefile2:172: recipe for target 'CMakeFiles/x265-shared.dir/all' failed
make[2]: *** [CMakeFiles/x265-shared.dir/all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/x265-8bit'
Makefile:130: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/x265-8bit'
dh_auto_install: make -j1 install DESTDIR=/<<PKGBUILDDIR>>/debian/tmp AM_UPDATE_INFO_DIR=no returned exit code 2
debian/rules:14: recipe for target 'binary-indep' failed
make: *** [binary-indep] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary-indep gave error exit status 2
--------------------------------------------------------------------------------

Sorry not to have a fix, as I am reporting many bugs similar to
this one. The common hints are:

* If the only architecture-independent packages are dummy transitional
ones and they were released with jessie, the easy fix is to drop them
now.

* When using "dh", it is allowed to use (independently)
optional targets override_dh_foo-arch and override_dh_foo-indep
(for several values of "foo").


Once that both "dpkg-buildpackage -A" and "dpkg-buildpackage -B" work
properly, the package would be suitable to be uploaded in source-only
form if you wish.

Thanks.



More information about the pkg-multimedia-maintainers mailing list