Bug 196851 - biology/seqan fails to build with GCC 4.9 (requires GCC 4.8)
Summary: biology/seqan fails to build with GCC 4.9 (requires GCC 4.8)
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on: 204127
Blocks:
  Show dependency treegraph
 
Reported: 2015-01-18 22:42 UTC by Gerald Pfeifer
Modified: 2016-06-19 11:29 UTC (History)
3 users (show)

See Also:
gerald: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gerald Pfeifer freebsd_committer freebsd_triage 2015-01-18 22:42:22 UTC
This is important since it blocks the upgrade of the default version
of GCC from GCC 4.8 to GCC 4.9.  If you cannot fix it, please change
to USE_GCC=4.8 temporarily.


http://package18.nyi.freebsd.org/data/101amd64-default-PR196712/2015-01-16_07h05m42s/logs/errors/seqan-1.3.1_3.log

In file included from /wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file.h:56:0,
                 from /wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/misc/misc_cmdparser.h:39,
                 from /wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/apps/dfi/dfi.cpp:26:
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_generated_forwards.h: At global scope:
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_generated_forwards.h:927:66: error: invalid abstract return type 'seqan::FileFormat<TFile, TData, TMeta, void>'
 template <typename TFile, typename TData, typename TMeta> inline FileFormat<TFile, TData, TMeta, void> guessFileFormat(TFile & file, TData & data);        // "seqan-1.3.1/seqan/file/file_format_guess.h"(65)
                                                                  ^
In file included from /wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file.h:84:0,
                 from /wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/misc/misc_cmdparser.h:39,
                 from /wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/apps/dfi/dfi.cpp:26:
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:143:8: note:   because the following virtual functions are pure within 'seqan::FileFormat<TFile, TData, TMeta, void>':
 struct FileFormat<TFile, TData, TMeta, void>
        ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:154:2: note: 	virtual void* seqan::FileFormat<TFile, TData, TMeta, void>::formatID_() const
  formatID_() const = 0;
  ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:157:2: note: 	virtual void seqan::FileFormat<TFile, TData, TMeta, void>::read_(TFile&, TData&) const
  read_(TFile & file, TData & data) const = 0;
  ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:159:2: note: 	virtual void seqan::FileFormat<TFile, TData, TMeta, void>::read_(TFile&, TData&, seqan::FileFormat<TFile, TData, TMeta, void>::TSize) const
  read_(TFile & file, TData & data, TSize limit) const = 0;
  ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:162:2: note: 	virtual void seqan::FileFormat<TFile, TData, TMeta, void>::readMeta_(TFile&, TMeta&) const
  readMeta_(TFile & file, TMeta & meta) const = 0;
  ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:165:2: note: 	virtual void seqan::FileFormat<TFile, TData, TMeta, void>::goNext_(TFile&) const
  goNext_(TFile & file) const = 0;
  ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:168:2: note: 	virtual seqan::FileFormat<TFile, TData, TMeta, void>::TSize seqan::FileFormat<TFile, TData, TMeta, void>::length_(TFile&) const
  length_(TFile & file) const = 0;
  ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:171:2: note: 	virtual void seqan::FileFormat<TFile, TData, TMeta, void>::write_(TFile&, TData&) const
  write_(TFile & file, TData & data) const = 0;
  ^
/wrkdirs/usr/ports/biology/seqan/work/seqan-1.3.1/seqan/file/file_format.h:173:2: note: 	virtual void seqan::FileFormat<TFile, TData, TMeta, void>::write_(TFile&, TData&, TMeta&) const
  write_(TFile & file, TData & data, TMeta & meta) const = 0;
  ^
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2015-01-18 22:42:22 UTC
Maintainer CC'd
Comment 3 Hannes Hauswedell 2015-02-18 19:13:47 UTC
There is a new upstream version to which I will upgrade next week hopefully!
Comment 4 John Marino freebsd_committer freebsd_triage 2015-03-21 11:22:26 UTC
hi, four weeks has passed.  Is a new version coming?  This port fails continuously in my gcc5 runs.  I'd like to see it fixed
Comment 5 Hannes Hauswedell 2015-03-21 11:39:30 UTC
There is a new upstream version (2.0.0), but it has some build issues on FreeBSD. I am working on fixes those issues upstream and getting them in 2.0.1 (I am an upstream dev), so that a clean port of the version can be shipped without local patches (and that works with system compiler as well).

Changing the current port to depend on a fixed GCC-Version is totally ok for me, if it would otherwise impede any other changes.
Comment 6 John Marino freebsd_committer freebsd_triage 2015-03-21 11:46:27 UTC
okay, I agree the clean 2.0.1 approach is the way to go.

To remove pressure from you, I will set the port to require exactly gcc 4.8 today.  It is not using clang, it always uses GCC.

When the new port comes in, hopefully the system clang can build it and that all versions of gcc (including 5) can build id.  When that happens, just remove the USE_GCC= line completely.
Comment 7 commit-hook freebsd_committer freebsd_triage 2015-03-21 11:54:09 UTC
A commit references this bug:

Author: marino
Date: Sat Mar 21 11:53:28 UTC 2015
New revision: 381791
URL: https://svnweb.freebsd.org/changeset/ports/381791

Log:
  biology/segan: Limit GCC to 4.8 while waiting for update

  Due to questionable c++, GCC 4.9 and newer cannot build seqan.  An update
  has been in the works that will enable clang compilers and all versions
  of GCC to build seqan, but it is not quite ready yet.  While waiting for
  it, limit the version of GCC used to 4.8.

  PR:	196851

Changes:
  head/biology/seqan/Makefile
Comment 8 Carlo Strub freebsd_committer freebsd_triage 2015-09-14 22:06:19 UTC
Any news on this?
Comment 9 Hannes Hauswedell 2015-09-14 22:37:19 UTC
> Any news on this?

Current master has all FreeBSD build issues fixed and only one remaining run-time issue (hard to pin down, but not critical for a new release): http://cdash.seqan.de/index.php?project=SeqAn

Upstream 2.0.1 should be released in the next two weeks. I will update the port immediately after that.
Comment 10 Gerald Pfeifer freebsd_committer freebsd_triage 2016-02-09 20:34:23 UTC
Hannes,

do you have an update on this?  The issue is now more than a
year old and it does somewhat block the upgrade of lang/gcc.
Comment 11 Hannes Hauswedell 2016-02-10 07:38:33 UTC
> Hannes, do you have an update on this?

I have proposed changes in #204127 that can be committed immediately that would resolve this!

They introduce a new (updated) port seqan-apps and turn biology/seqan into a source-only port.
Comment 12 Hannes Hauswedell 2016-05-10 09:47:52 UTC
resolved via #204127
Comment 13 Tilman Keskinoz freebsd_committer freebsd_triage 2016-05-11 16:18:27 UTC
resolved via #204127