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 <andr...@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-...@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-packag...@lists.alioth.debian.org >> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging >> > > -- > http://fam-tille.de
diff -ur /tmp/old/prime-phylo-1.0.11/CMakeLists.txt /tmp/new/prime-phylo-1.0.11/CMakeLists.txt --- /tmp/old/prime-phylo-1.0.11/CMakeLists.txt 2012-12-17 16:52:54.000000000 +0100 +++ /tmp/new/prime-phylo-1.0.11/CMakeLists.txt 2016-05-01 09:42:20.280009123 +0200 @@ -2,7 +2,7 @@ # Level: trunk/CMakeLists.txt ################################################ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.1) project(prime-phylo CXX) SET(CMAKE_BUILD_TYPE Debug) @@ -14,6 +14,7 @@ set(PACKAGE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}) set(CPACK_SOURCE_PACKAGE_FILE_NAME ${PROJECT_NAME}-${PACKAGE_VERSION}) set(CPACK_GENERATOR RPM;DEB) +set(CMAKE_CXX_STANDARD 98) set(tmp_man_pages_dir ${CMAKE_BINARY_DIR}/tmp_manpages) @@ -132,4 +133,4 @@ file(MAKE_DIRECTORY "${vagrantdir}") configure_file(excluded_from_release/packaging/debian/Vagrantfile.cmake "${vagrant_dir}/Vagrantfile" @ONLY) configure_file(excluded_from_release/packaging/debian/provision.sh.cmake "${vagrant_dir}/provision.sh" @ONLY) -endif() \ No newline at end of file +endif()