On Tue, 28 Jun 2016, Andreas Tille wrote: > I admit I can not answer the question asked by upstream. The package in > question is iqtree[1] and they said that they have different > computational kernels implemented to respect different hardware. > Current Git[1] does not even build - may be due to some fine tuning of > gcc options needed??? > > Any help is welcome
Well, for Debian unstable/next stable, we will have gcc 6, where you can actually use FMV to fix this kind of issue sort of "automatically". But it is unbackportable (without a full backport of glibc and gcc 6). https://lwn.net/Articles/691932/ But apparently iqtree is already capable of doing something like FMV on its own, so you would not need to do the above, and the issue is with the build tooling. gcc doesn't much care if the build machine has the same subarch, instruction set, or even architecture as the code it is compiling, so you could build SSE3 binaries on a box without SSE3 support easily. However, that only works when the *build scripts* do not try to run any code they compiled in the build machine, or when they clearly separate building build-tools (which will be run in the build machine during the build) from the build-targets (which are going to be run only when installed in the target system) and let you use different gcc and C/LD/CXX/CPPFLAGS for each situation (i.e. are cross-compilation safe). -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh

