[Debian-med-packaging] Bug#854500: iqtree: FTBFS on single-CPU machines (ERROR: You have specified more threads than CPU cores available)

Andreas Tille tille at debian.org
Tue Feb 7 19:24:34 UTC 2017


Hi Santiago,

On Tue, Feb 07, 2017 at 06:55:09PM +0000, Santiago Vila wrote:
> Package: src:iqtree
> Version: 1.5.3+dfsg-1
> Severity: serious
> 
> Dear maintainer:
> 
> I tried to build this package in stretch with "dpkg-buildpackage -B"
> but it failed:
> 
> --------------------------------------------------------------------------------
> [...]
>  debian/rules build-arch
> dh build-arch
>    dh_testdir -a
>    dh_update_autotools_config -a
>    dh_autoreconf -a
>    debian/rules override_dh_auto_configure
> make[1]: Entering directory '/<<BUILDDIR>>/iqtree-1.5.3+dfsg'
> dh_auto_configure -Bbuild.omp -- -DIQTREE_FLAGS="omp"
> 	cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DIQTREE_FLAGS=omp
> -- The C compiler identification is GNU 6.3.0
> -- The CXX compiler identification is GNU 6.3.0
> -- Check for working C compiler: /usr/bin/cc
> -- Check for working C compiler: /usr/bin/cc -- works
> -- Detecting C compiler ABI info
> 
> [... snipped ...]
> 
> Estimate model parameters (epsilon = 0.010)
> 1. Initial log-likelihood: -23117.037
> Optimal log-likelihood: -23117.034
> Rate parameters:  A-C: 1.000  A-G: 2.440  A-T: 1.000  C-G: 1.000  C-T: 2.440  G-T: 1.000
> Base frequencies:   A: 0.355  C: 0.228  G: 0.192  T: 0.225
> Parameters optimization took 1 rounds (0.013 sec)
> BEST SCORE FOUND : -23117.034
> Total tree length: 2.805
> 
> Total number of iterations: 102
> CPU time used for tree search: 9.360 sec (0h:0m:9s)
> Wall-clock time used for tree search: 9.601 sec (0h:0m:9s)
> Total CPU time used: 9.492 sec (0h:0m:9s)
> Total wall-clock time used: 9.763 sec (0h:0m:9s)
> 
> Analysis results written to: 
>   IQ-TREE report:                example.phy.iqtree
>   Maximum-likelihood tree:       example.phy.treefile
>   Likelihood distances:          example.phy.mldist
>   Screen log file:               example.phy.log
> 
> Date and Time: Tue Jan 31 06:15:04 2017
> 9.50user 0.09system 0:09.79elapsed 97%CPU (0avgtext+0avgdata 8292maxresident)k
> 536inputs+88outputs (0major+719minor)pagefaults 0swaps
> IQ-TREE multicore version 1.5.3 for Linux 64-bit built Jan 19 2017
> Copyright (c) 2011-2016 Nguyen Lam Tung, Olga Chernomor, Arndt von Haeseler and Bui Quang Minh.
> 
> Host:    leaseweb1 (SSE3, 0 GB RAM)
> Command: /<<BUILDDIR>>/iqtree-1.5.3+dfsg/build.omp/iqtree-omp -s example.phy -omp 2 -redo
> Seed:    870150 (Using SPRNG - Scalable Parallel Random Number Generator)
> Time:    Tue Jan 31 06:15:04 2017
> Kernel:  SSE3 - 2 threads(1 CPU cores detected)
> ERROR: You have specified more threads than CPU cores available
> Command exited with non-zero status 2
> 0.00user 0.00system 0:00.04elapsed 17%CPU (0avgtext+0avgdata 5124maxresident)k
> 2528inputs+8outputs (11major+251minor)pagefaults 0swaps
> Command exited with non-zero status 2
> 9.51user 0.11system 0:09.97elapsed 96%CPU (0avgtext+0avgdata 8292maxresident)k
> 5040inputs+176outputs (16major+2178minor)pagefaults 0swaps
> debian/rules:58: recipe for target 'override_dh_auto_test' failed
> make[1]: *** [override_dh_auto_test] Error 2
> make[1]: Leaving directory '/<<BUILDDIR>>/iqtree-1.5.3+dfsg'
> debian/rules:12: recipe for target 'build-arch' failed
> make: *** [build-arch] Error 2
> dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2
> --------------------------------------------------------------------------------
> 
> To reproduce, please try using sbuild on a single CPU virtual machine,
> because that was actually what I was doing and the error message speaks
> by itself:
> 
> ERROR: You have specified more threads than CPU cores available
> 
> I think the following changelog entry may be related:
> 
>    * Enable build of MPI-parallelised executable

Most probably.
 
> I guess you could always disable such change so that the package
> builds everywhere again (multi-core is not part of build-essential
> definition).

Hmmm, I do not understand.  The MPI version was *intentionally* enabled
since the resulting binary *should* run using MPI to make sense for the
users.  Probably we only need to disable the test suite on single core
machines.  What do you think?

Kind regards

      Andreas.

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list