Package: heimdall-flash Version: 1.4.0-2 Tags: +patch
While building a heimdall-flash backport on wheezy, I hit the following build error: dh_auto_build -D heimdall make[2]: Entering directory `/home/dilinger/Downloads/heimdall-flash-1.4.0/heimdall' make all-am make[3]: Entering directory `/home/dilinger/Downloads/heimdall-flash-1.4.0/heimdall' g++ -DHAVE_CONFIG_H -I. -I/usr/include/libusb-1.0 -std=c++0x -I../libpit/Source -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -c -o source/Arguments.o source/Arguments.cpp g++ -DHAVE_CONFIG_H -I. -I/usr/include/libusb-1.0 -std=c++0x -I../libpit/Source -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -c -o source/BridgeManager.o source/BridgeManager.cpp source/BridgeManager.cpp: In member function ‘bool Heimdall::BridgeManager::DetectDevice()’: source/BridgeManager.cpp:503:36: error: ‘LIBUSB_LOG_LEVEL_NONE’ was not declared in this scope source/BridgeManager.cpp:507:36: error: ‘LIBUSB_LOG_LEVEL_ERROR’ was not declared in this scope source/BridgeManager.cpp:511:36: error: ‘LIBUSB_LOG_LEVEL_WARNING’ was not declared in this scope source/BridgeManager.cpp:515:36: error: ‘LIBUSB_LOG_LEVEL_INFO’ was not declared in this scope source/BridgeManager.cpp:519:36: error: ‘LIBUSB_LOG_LEVEL_DEBUG’ was not declared in this scope source/BridgeManager.cpp: In member function ‘int Heimdall::BridgeManager::Initialise(bool)’: source/BridgeManager.cpp:568:36: error: ‘LIBUSB_LOG_LEVEL_NONE’ was not declared in this scope source/BridgeManager.cpp:572:36: error: ‘LIBUSB_LOG_LEVEL_ERROR’ was not declared in this scope source/BridgeManager.cpp:576:36: error: ‘LIBUSB_LOG_LEVEL_WARNING’ was not declared in this scope source/BridgeManager.cpp:580:36: error: ‘LIBUSB_LOG_LEVEL_INFO’ was not declared in this scope source/BridgeManager.cpp:584:36: error: ‘LIBUSB_LOG_LEVEL_DEBUG’ was not declared in this scope source/BridgeManager.cpp: In member function ‘void Heimdall::BridgeManager::SetUsbLogLevel(Heimdall::BridgeManager::UsbLogLevel)’: source/BridgeManager.cpp:1354:37: error: ‘LIBUSB_LOG_LEVEL_NONE’ was not declared in this scope source/BridgeManager.cpp:1358:37: error: ‘LIBUSB_LOG_LEVEL_ERROR’ was not declared in this scope source/BridgeManager.cpp:1362:37: error: ‘LIBUSB_LOG_LEVEL_WARNING’ was not declared in this scope source/BridgeManager.cpp:1366:37: error: ‘LIBUSB_LOG_LEVEL_INFO’ was not declared in this scope source/BridgeManager.cpp:1370:37: error: ‘LIBUSB_LOG_LEVEL_DEBUG’ was not declared in this scope make[3]: *** [source/BridgeManager.o] Error 1 make[3]: Leaving directory `/home/dilinger/Downloads/heimdall-flash-1.4.0/heimdall' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/dilinger/Downloads/heimdall-flash-1.4.0/heimdall' dh_auto_build: make -j1 returned exit code 2 make[1]: *** [override_dh_auto_build] Error 2 make[1]: Leaving directory `/home/dilinger/Downloads/heimdall-flash-1.4.0' make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 debuild: fatal error at line 1357: dpkg-buildpackage -rfakeroot -D -us -uc -sa -v0.0 failed It would appear that a build-dep against libusb-1.0-0-dev is not enough. The version of libusb-1.0-0-dev in wheezy is 2:1.0.11-1. After upgrading to a libusb backport (2:1.0.19-1~bpo70+1), the build succeeded. The attached patch adds a versioned build-dep for libusb-1.0-0-dev.
--- heimdall-flash-1.4.0/debian/control.orig 2015-01-10 14:03:38.991753121 -0800 +++ heimdall-flash-1.4.0/debian/control 2015-01-10 14:03:35.559734583 -0800 @@ -3,7 +3,7 @@ Priority: extra Maintainer: Steve Langasek <vor...@debian.org> Build-Depends: debhelper (>= 9~), - libusb-1.0-0-dev, + libusb-1.0-0-dev (>> 2:1.0.19), qt4-qmake, libqt4-dev, libz-dev,