[Debian-med-packaging] Bug#812031: prime-phylo: FTBFS with GCC 6: needed for in-class initialization
Erik Sjölund
erik.sjolund at gmail.com
Sun May 1 08:10:42 UTC 2016
Hi Andreas,
I did the debian packaging as part of a job project with Lars
Arvestad, who is one of the main authors of prime-phylo.
Since then I've switched working group so I am not so up-to-date about
the status of the prime-phylo development.
The best thing would be if we could involve Lars more in the loop too
so I CC:ed him to this email.
Lars, could you give us a brief update about the development of
prime-phylo? I heard there is now also
a java implementation called jprime.
Lars, maybe it is a good idea to set up a Githup repo for the
prime-phylo source code?
I see you already have a number of repositories:
https://github.com/arvestad
Regarding the compile errors in this specific bug, it seems they are
caused by the
fact that gcc now by default compiles for a newer C++ standard.
A quote from:
https://gcc.gnu.org/gcc-6/changes.html
"The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98."
I guess the easiest solution would be to use
https://cmake.org/cmake/help/v3.1/variable/CMAKE_CXX_STANDARD.html#variable:CMAKE_CXX_STANDARD
and add the line
set(CMAKE_CXX_STANDARD 98)
as in the untested attached patch.
regards,
Erik
On Tue, Apr 26, 2016 at 3:17 PM, Andreas Tille <andreas at an3as.eu> wrote:
> Hi Erik,
>
> there is a bug in the Debian bug tracking system for prime-phylo. Could
> you please have a look?
>
> Thanks
>
> Andreas.
>
> On Tue, Jan 19, 2016 at 08:40:57PM -0800, Martin Michlmayr wrote:
>> Package: prime-phylo
>> Version: 1.0.11-2
>> Severity: important
>> User: debian-gcc at lists.debian.org
>> Usertags: ftbfs-gcc-6
>>
>> This package fails to build with GCC 6. GCC 6 has not been released
>> yet, but it's expected that GCC 6 will become the default compiler for
>> stretch.
>>
>> Note that only the first error is reported; there might be more. You
>> can find a snapshot of GCC 6 in experimental. To build with GCC 6,
>> you can set CC=gcc-6 CXX=g++-6 explicitly.
>>
>> You may be able to find out more about this issue at
>> https://gcc.gnu.org/gcc-6/changes.html
>>
>> > sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
>> ...
>> > cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime && /usr/bin/c++ -DONLY_ONE_TIMESAMPLE -DPERTURBED_NODE -Dprime_phylo_EXPORTS -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime -I/<<PKGBUILDDIR>>/src/cxx/libraries/prime -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx -I/usr/include/libxml2 -I/<<PKGBUILDDIR>>/src/cxx/libraries -I/usr/lib/openmpi/include/openmpi/openmpi/ompi/mpi/cxx -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wreorder -Wall -fexceptions -g -fPIC -o CMakeFiles/prime-phylo.dir/TreePerturbationEvent.cc.o -c /<<PKGBUILDDIR>>/src/cxx/libraries/prime/TreePerturbationEvent.cc
>> > In file included from /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.cc:4:0:
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:359:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::C2' of non-integral type [-fpermissive]
>> > static const Real C2 = 1.0 / 5.0;
>> > ^~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:360:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::C3' of non-integral type [-fpermissive]
>> > static const Real C3 = 3.0 / 10.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:361:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::C4' of non-integral type [-fpermissive]
>> > static const Real C4 = 4.0 / 5.0;
>> > ^~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:362:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::C5' of non-integral type [-fpermissive]
>> > static const Real C5 = 8.0 / 9.0;
>> > ^~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:363:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A21' of non-integral type [-fpermissive]
>> > static const Real A21 = 1.0 / 5.0;
>> > ^~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:364:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A31' of non-integral type [-fpermissive]
>> > static const Real A31 = 3.0 / 40.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:365:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A32' of non-integral type [-fpermissive]
>> > static const Real A32 = 9.0 / 40.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:366:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A41' of non-integral type [-fpermissive]
>> > static const Real A41 = 44.0 / 45.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:367:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A42' of non-integral type [-fpermissive]
>> > static const Real A42 = -56.0 / 15.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:368:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A43' of non-integral type [-fpermissive]
>> > static const Real A43 = 32.0 / 9.0;
>> > ^~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:369:39: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A51' of non-integral type [-fpermissive]
>> > static const Real A51 = 19372.0 / 6561.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:370:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A52' of non-integral type [-fpermissive]
>> > static const Real A52 = -25360.0 / 2187.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:371:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A53' of non-integral type [-fpermissive]
>> > static const Real A53 = 64448.0 / 6561.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:372:43: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A54' of non-integral type [-fpermissive]
>> > static const Real A54 = -212.0 / 729.0;
>> > ^~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:373:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A61' of non-integral type [-fpermissive]
>> > static const Real A61 = 9017.0 / 3168.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:374:44: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A62' of non-integral type [-fpermissive]
>> > static const Real A62 = -355.0 / 33.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:375:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A63' of non-integral type [-fpermissive]
>> > static const Real A63 = 46732.0 / 5247.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:376:43: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A64' of non-integral type [-fpermissive]
>> > static const Real A64 = 49.0 / 176.0;
>> > ^~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:377:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A65' of non-integral type [-fpermissive]
>> > static const Real A65 = -5103.0 / 18656.0;
>> > ^~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:378:43: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A71' of non-integral type [-fpermissive]
>> > static const Real A71 = 35.0 / 384.0;
>> > ^~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:379:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A73' of non-integral type [-fpermissive]
>> > static const Real A73 = 500.0 / 1113.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:380:43: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A74' of non-integral type [-fpermissive]
>> > static const Real A74 = 125.0 / 192.0;
>> > ^~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:381:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A75' of non-integral type [-fpermissive]
>> > static const Real A75 = -2187.0 / 6784.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:382:44: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::A76' of non-integral type [-fpermissive]
>> > static const Real A76 = 11.0 / 84.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:383:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::E1' of non-integral type [-fpermissive]
>> > static const Real E1 = 71.0 / 57600.0;
>> > ^~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:384:41: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::E3' of non-integral type [-fpermissive]
>> > static const Real E3 = -71.0 / 16695.0;
>> > ^~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:385:42: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::E4' of non-integral type [-fpermissive]
>> > static const Real E4 = 71.0 / 1920.0;
>> > ^~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:386:40: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::E5' of non-integral type [-fpermissive]
>> > static const Real E5 = -17253.0 / 339200.0;
>> > ^~~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:387:43: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::E6' of non-integral type [-fpermissive]
>> > static const Real E6 = 22.0 / 525.0;
>> > ^~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:388:44: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::E7' of non-integral type [-fpermissive]
>> > static const Real E7 = -1.0 / 40.0;
>> > ^~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:391:47: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::D1' of non-integral type [-fpermissive]
>> > static const Real D1 = -12715105075.0 / 11282082432.0;
>> > ^~~~~~~~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:392:47: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::D3' of non-integral type [-fpermissive]
>> > static const Real D3 = 87487479700.0 / 32700410799.0;
>> > ^~~~~~~~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:393:48: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::D4' of non-integral type [-fpermissive]
>> > static const Real D4 = -10690763975.0 / 1880347072.0;
>> > ^~~~~~~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:394:46: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::D5' of non-integral type [-fpermissive]
>> > static const Real D5 = 701980252875.0 / 199316789632.0;
>> > ^~~~~~~~~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:395:49: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::D6' of non-integral type [-fpermissive]
>> > static const Real D6 = -1453857185.0 / 822651844.0;
>> > ^~~~~~~~~~~
>> >
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ODESolver.hh:396:50: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::ODESolver::D7' of non-integral type [-fpermissive]
>> > static const Real D7 = 69997945.0 / 29380423.0;
>> > ^~~~~~~~~~
>> >
>> > [ 28%] Building CXX object src/cxx/libraries/prime/CMakeFiles/prime-phylo.dir/ConstRateModel.cc.o
>> > cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime && /usr/bin/c++ -DONLY_ONE_TIMESAMPLE -DPERTURBED_NODE -Dprime_phylo_EXPORTS -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime -I/<<PKGBUILDDIR>>/src/cxx/libraries/prime -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx -I/usr/include/libxml2 -I/<<PKGBUILDDIR>>/src/cxx/libraries -I/usr/lib/openmpi/include/openmpi/openmpi/ompi/mpi/cxx -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wreorder -Wall -fexceptions -g -fPIC -o CMakeFiles/prime-phylo.dir/ConstRateModel.cc.o -c /<<PKGBUILDDIR>>/src/cxx/libraries/prime/ConstRateModel.cc
>> > [ 29%] Building CXX object src/cxx/libraries/prime/CMakeFiles/prime-phylo.dir/Density2P_common.cc.o
>> > cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime && /usr/bin/c++ -DONLY_ONE_TIMESAMPLE -DPERTURBED_NODE -Dprime_phylo_EXPORTS -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime -I/<<PKGBUILDDIR>>/src/cxx/libraries/prime -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx -I/usr/include/libxml2 -I/<<PKGBUILDDIR>>/src/cxx/libraries -I/usr/lib/openmpi/include/openmpi/openmpi/ompi/mpi/cxx -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wreorder -Wall -fexceptions -g -fPIC -o CMakeFiles/prime-phylo.dir/Density2P_common.cc.o -c /<<PKGBUILDDIR>>/src/cxx/libraries/prime/Density2P_common.cc
>> > [ 29%] Building CXX object src/cxx/libraries/prime/CMakeFiles/prime-phylo.dir/Density2P_positive.cc.o
>> > cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime && /usr/bin/c++ -DONLY_ONE_TIMESAMPLE -DPERTURBED_NODE -Dprime_phylo_EXPORTS -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/cxx/libraries/prime -I/<<PKGBUILDDIR>>/src/cxx/libraries/prime -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/usr/lib/openmpi/include/openmpi/ompi/mpi/cxx -I/usr/include/libxml2 -I/<<PKGBUILDDIR>>/src/cxx/libraries -I/usr/lib/openmpi/include/openmpi/openmpi/ompi/mpi/cxx -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wreorder -Wall -fexceptions -g -fPIC -o CMakeFiles/prime-phylo.dir/Density2P_positive.cc.o -c /<<PKGBUILDDIR>>/src/cxx/libraries/prime/Density2P_positive.cc
>> > src/cxx/libraries/prime/CMakeFiles/prime-phylo.dir/build.make:293: recipe for target 'src/cxx/libraries/prime/CMakeFiles/prime-phylo.dir/ODESolver.cc.o' failed
>> > make[3]: *** [src/cxx/libraries/prime/CMakeFiles/prime-phylo.dir/ODESolver.cc.o] Error 1
>> > make[3]: *** Waiting for unfinished jobs....
>> > In file included from /<<PKGBUILDDIR>>/src/cxx/libraries/prime/EpochTree.cc:7:0:
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/EpochTree.hh:54:39: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::EpochTree::MIN_SPLICE_DELTA' of non-integral type [-fpermissive]
>> > static const Real MIN_SPLICE_DELTA = 0.0001;
>> > ^~~~~~
>> >
>> > In file included from /<<PKGBUILDDIR>>/src/cxx/libraries/prime/EpochPtMaps.hh:9:0,
>> > from /<<PKGBUILDDIR>>/src/cxx/libraries/prime/EpochPtMaps.cc:5:
>> > /<<PKGBUILDDIR>>/src/cxx/libraries/prime/EpochTree.hh:54:39: error: 'constexpr' needed for in-class initialization of static data member 'const Real beep::EpochTree::MIN_SPLICE_DELTA' of non-integral type [-fpermissive]
>> > static const Real MIN_SPLICE_DELTA = 0.0001;
>> > ^~~~~~
>>
>> _______________________________________________
>> Debian-med-packaging mailing list
>> Debian-med-packaging at lists.alioth.debian.org
>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging
>>
>
> --
> http://fam-tille.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: untested.patch
Type: text/x-patch
Size: 1146 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20160501/031d939b/attachment-0001.bin>
More information about the Debian-med-packaging
mailing list