Bug 228478 - devel/elfutils: undefined symbols on 10.4-RELEASE
Summary: devel/elfutils: undefined symbols on 10.4-RELEASE
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Conrad Meyer
Depends on:
Reported: 2018-05-25 03:10 UTC by Alan Somers
Modified: 2018-06-23 03:56 UTC (History)
1 user (show)

See Also:

Mark elfutils as IGNORED on 11.0 and below (610 bytes, patch)
2018-05-25 03:36 UTC, Alan Somers
asomers: maintainer-approval?
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alan Somers freebsd_committer 2018-05-25 03:10:20 UTC
devel/elfutils installs header files which reference symbols that are not defined anywhere in 10.4-RELEASE.  Here's what happens when you try to include those headers in a build:

In file included from /wrkdirs/usr/ports/devel/kcov/work/kcov-35-57-g69dfa9c/src/parsers/elf-parser.cc:14:
/usr/local/include/libelf.h:332:8: error: unknown type name 'Elf32_Chdr'
extern Elf32_Chdr *elf32_getchdr (Elf_Scn *__scn);
/usr/local/include/libelf.h:333:8: error: unknown type name 'Elf64_Chdr'
extern Elf64_Chdr *elf64_getchdr (Elf_Scn *__scn);
In file included from /wrkdirs/usr/ports/devel/kcov/work/kcov-35-57-g69dfa9c/src/parsers/elf-parser.cc:16:
In file included from /usr/local/include/elfutils/libdw.h:32:
/usr/local/include/gelf.h:93:9: error: unknown type name 'Elf64_Chdr'
typedef Elf64_Chdr GElf_Chdr;
3 errors generated

The symbols in question were added to head in r312599 and merged to stable/11 by r318972.  However, they were never merged to stable/10.  devel/elfutils should probably be marked as BROKEN for releases < 11.1.
Comment 1 Conrad Meyer freebsd_committer 2018-05-25 03:20:11 UTC
I suggest reverting r430454 and changing 10xxx to 11xxx or 12xxx, but I don't have a ports bit there isn't much I can do.
Comment 2 Conrad Meyer freebsd_committer 2018-05-25 03:21:23 UTC
Or you could see if Ed wants to MFC the header bits to 10; I don't.
Comment 3 Alan Somers freebsd_committer 2018-05-25 03:36:58 UTC
Created attachment 193677 [details]
Mark elfutils as IGNORED on 11.0 and below

I don't think there's any point in MFCing to stable/10, because there will never be a release 10.5.  Better just to mark the port as IGNORED for < 11.1-RELEASE.
Comment 4 Conrad Meyer freebsd_committer 2018-05-25 03:50:13 UTC
I'd jump directly to 12.0, but either way :-).
Comment 5 Alan Somers freebsd_committer 2018-05-25 03:56:51 UTC
Is there something wrong with elfutils on 11.1?  It seems to be working for me.
Comment 6 Walter Schwarzenfeld freebsd_triage 2018-05-25 14:13:49 UTC
I have not tested it (no time in the moment). But, maybe this patch could help (the same errors)
Comment 7 Walter Schwarzenfeld freebsd_triage 2018-05-25 14:21:11 UTC
The Makefile.am part must adapted (cause of the existing patch-Makefile.am). The other patches applies clean (I quickly tested it in the port).
Comment 8 Alan Somers freebsd_committer 2018-05-25 17:12:34 UTC
That patch doesn't work, because 10.4-RELEASE's elf_common.h _does_ define SHF_COMPRESSED.  The patch would need some extra work.  Frankly, I don't want to put in the time, especially because so few ports depend on libelf.  I'd be happy just with the IGNORE_FreeBSD_10 solution.
Comment 9 Conrad Meyer freebsd_committer 2018-06-21 17:39:47 UTC
No one is available to support this for stable/10.
Comment 10 commit-hook freebsd_committer 2018-06-23 03:56:31 UTC
A commit references this bug:

Author: cem
Date: Sat Jun 23 03:56:19 UTC 2018
New revision: 473112
URL: https://svnweb.freebsd.org/changeset/ports/473112

  Update devel/elfutils to 0.172

  - Sparc patch no longer applies cleanly and was dropped.
  - Other patches updated to apply to 0.172.
  - stable/10 and 11.0 lack needed ELF header types; and 10 is closed.  Skip
    building on these (PR).
  - gnulib handling was reverted to pre-r454110 style to allow using pkg.

  PR:		228478
  Reported by:	portscout