Bug 208795

Summary: [PATCH] multimedia/tvheadend: build fails when devel/libinotify is installed
Product: Ports & Packages Reporter: Daniel Becker <razzfazz>
Component: Individual Port(s)Assignee: Bernhard Froehlich <decke>
Status: Closed FIXED    
Severity: Affects Some People CC: decke, delphij, martin.dieringer, razzfazz, riggs, wulf
Priority: --- Keywords: patch
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
add --disable-inotify to CONFIGURE_ARGS
none
multimedia.tvheadend.patch none

Description Daniel Becker 2016-04-14 08:45:24 UTC
Created attachment 169309 [details]
add --disable-inotify to CONFIGURE_ARGS

The configure script attempts to determine presence of the inotify API; when devel/libinotify is installed, it thinks the API is present, but does not actually link the necessary library; as a result, the build fails with errors like these:

/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/src/fsmonitor.o: In function `fsmonitor_del':
fsmonitor.c:(.text+0x1fc): undefined reference to `inotify_rm_watch'
/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/src/fsmonitor.o: In function `fsmonitor_init':
fsmonitor.c:(.text+0x6ca): undefined reference to `inotify_init1'
/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/src/fsmonitor.o: In function `fsmonitor_add':
fsmonitor.c:(.text+0xa4e): undefined reference to `inotify_add_watch'
/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/src/dvr/dvr_inotify.o: In function `dvr_inotify_del':
dvr_inotify.c:(.text+0x3c2): undefined reference to `inotify_rm_watch'
/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/src/dvr/dvr_inotify.o: In function `dvr_inotify_add':
dvr_inotify.c:(.text+0x913): undefined reference to `inotify_add_watch'
/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/src/dvr/dvr_inotify.o: In function `dvr_inotify_init':
dvr_inotify.c:(.text+0xbfa): undefined reference to `inotify_init1'
Makefile:437: recipe for target '/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/tvheadend' failed
gmake: *** [/usr/ports/multimedia/tvheadend/work/tvheadend-0499859/build.freebsd/tvheadend] Error 1
*** [do-build] Error code 1

Attached patch adds --disable-inotify to CONFIGURE_ARGS to avoid this.
Comment 1 Vladimir Kondratyev freebsd_committer freebsd_triage 2016-05-05 22:08:35 UTC
May be its better to fix linkage issues and make inotify support optional
Comment 2 Vladimir Kondratyev freebsd_committer freebsd_triage 2016-05-05 22:11:15 UTC
Created attachment 170025 [details]
multimedia.tvheadend.patch

Compile only-tested patch attached
Comment 3 martin.dieringer 2016-09-04 08:53:53 UTC
Patch only works if INOTIFY is deselected
Comment 4 Vladimir Kondratyev freebsd_committer freebsd_triage 2016-09-04 12:48:59 UTC
Is it compile- or run-time failure?
Comment 5 martin.dieringer 2016-09-04 17:30:44 UTC
I tried again and now it compiled ...
Comment 6 commit-hook freebsd_committer freebsd_triage 2017-02-06 09:49:41 UTC
A commit references this bug:

Author: decke
Date: Mon Feb  6 09:49:04 UTC 2017
New revision: 433480
URL: https://svnweb.freebsd.org/changeset/ports/433480

Log:
  - Fix build failure when devel/libinotify is installed because
  it is silently enabled but not properly linked.
  - Bump PORTREVISION

  PR:		208795
  Submitted by:	Vladimir Kondratyev <wulf@cicgroup.ru>
  Reported by:	Daniel Becker <razzfazz@gmail.com>

Changes:
  head/multimedia/tvheadend/Makefile
Comment 7 Bernhard Froehlich freebsd_committer freebsd_triage 2017-02-06 10:08:06 UTC
Committed. Thanks!