Bug 186005 - multimedia/mythtv: mythbackend crashes when built with GCC 4.6 on 10.0-RELEASE
Summary: multimedia/mythtv: mythbackend crashes when built with GCC 4.6 on 10.0-RELEASE
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Bernhard Froehlich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-22 16:10 UTC by John Clark
Modified: 2014-01-25 19:50 UTC (History)
0 users

See Also:


Attachments
file.diff (3.98 KB, patch)
2014-01-22 16:10 UTC, John Clark
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John Clark 2014-01-22 16:10:00 UTC
I recently upgraded my DVR box from 9.2-RELEASE to 10.0-RELEASE.  I rebuilt all the ports as instructed by freebsd-update.  Everything seemed to be going well until I started the MythTV backend service (mythbackend).  It crashed immediately with a seg fault.

Anyhow, it seems to only have a problem when it's built with GCC.  It works fine when I build it with Clang.  I've attached a patch for the multimedia/mythtv port that removes the dependency on GCC.  I'd try harder to figure out why it fails when built with GCC, but the goal I've heard is to use Clang for everything.

Fix: Apply attached patch to build with Clang instead.

Patch attached with submission follows:
How-To-Repeat: * Build multimedia/mythtv port with default GCC (gcc46) on 10.0-RELEASE
* Enable and start mythbackend service
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-01-22 16:10:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->decke

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2014-01-25 19:44:30 UTC
Author: decke
Date: Sat Jan 25 19:44:21 2014
New Revision: 341083
URL: http://svnweb.freebsd.org/changeset/ports/341083
QAT: https://qat.redports.org/buildarchive/r341083/

Log:
  - Update to latest 0.27 stable branch from github
  - Add patches to build with clang [1]
  - Use OPTIONS_SUB
  
  PR:		ports/186005 [1]
  Submitted by:	John Clark <clarkjc@runbox.com> [1]

Added:
  head/multimedia/mythtv/files/patch-libs__libmyth__remoteutil.h   (contents, props changed)
  head/multimedia/mythtv/files/patch-libs__libmythui__mythgesture.cpp   (contents, props changed)
  head/multimedia/mythtv/files/patch-libs__libmythui__mythpainter.cpp   (contents, props changed)
  head/multimedia/mythtv/files/patch-libs__libmythupnp__mmulticastsocketdevice.h   (contents, props changed)
Modified:
  head/multimedia/mythtv/Makefile
  head/multimedia/mythtv/distinfo
  head/multimedia/mythtv/files/patch-libs__libmythtv__recorders__dvbdev__dvbci.cpp
  head/multimedia/mythtv/pkg-plist

Modified: head/multimedia/mythtv/Makefile
==============================================================================
--- head/multimedia/mythtv/Makefile	Sat Jan 25 19:43:35 2014	(r341082)
+++ head/multimedia/mythtv/Makefile	Sat Jan 25 19:44:21 2014	(r341083)
@@ -2,8 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	mythtv
-PORTVERSION=	0.27
+PORTVERSION=	0.27.0.20140121
 CATEGORIES=	multimedia
+MASTER_SITES=	http://people.freebsd.org/~decke/distfiles/
 
 MAINTAINER=	decke@FreeBSD.org
 COMMENT=	MythTV is a homebrew PVR project
@@ -21,11 +22,11 @@ CONFLICTS=	mythtv-frontend-[0-9]*
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	MythTV
-GH_TAGNAME=	v${PORTVERSION}
+GH_TAGNAME=	${GH_COMMIT}
+GH_COMMIT=	5a5e1cd
 
-WRKSRC=		${WRKDIR}/${GH_ACCOUNT}-${GH_PROJECT}-e9545c0/${GH_PROJECT}
+WRKSRC=		${WRKDIR}/${GH_ACCOUNT}-${GH_PROJECT}-${GH_COMMIT}/${GH_PROJECT}
 
-USE_GCC=	any
 ONLY_FOR_ARCHS=	i386 amd64
 USES=		gmake pkgconfig perl5
 USE_QT4=	gui sql network script linguist_build l10n sql-mysql_run \
@@ -56,7 +57,8 @@ CONFIGURE_ARGS=	--prefix="${PREFIX}" --c
 QMAKESPEC?=	${LOCALBASE}/share/qt4/mkspecs/freebsd-g++
 
 OPTIONS_DEFINE=	BINDINGS LIRC MYSQL OPENGL VDPAU
-OPTIONS_DEFAULT=	BINDINGS OPENGL
+OPTIONS_DEFAULT=	BINDINGS OPENGL VDPAU
+OPTIONS_SUB=	BINDINGS
 BINDINGS_DESC=	Perl and Python bindings
 
 LIRC_LIB_DEPENDS=	liblirc_client.so:${PORTSDIR}/comms/lirc
@@ -103,10 +105,8 @@ RUN_DEPENDS+=	py*-lxml>=0:${PORTSDIR}/de
 		p5-IO-Socket-INET6>=2.51:${PORTSDIR}/net/p5-IO-Socket-INET6 \
 		p5-DBI>=0:${PORTSDIR}/databases/p5-DBI \
 		p5-DBD-mysql>0:${PORTSDIR}/databases/p5-DBD-mysql
-PLIST_SUB+=	BINDINGS=""
 .else
 CONFIGURE_ARGS+=--without-bindings=perl,python
-PLIST_SUB+=	BINDINGS="@comment "
 .endif
 
 .if ${PORT_OPTIONS:MOPENGL}

Modified: head/multimedia/mythtv/distinfo
==============================================================================
--- head/multimedia/mythtv/distinfo	Sat Jan 25 19:43:35 2014	(r341082)
+++ head/multimedia/mythtv/distinfo	Sat Jan 25 19:44:21 2014	(r341083)
@@ -1,2 +1,2 @@
-SHA256 (mythtv-0.27.tar.gz) = e8d77c48f487bd057b2f887c27416d502b79c78c4e1cfb05d87ec70d690f8d0d
-SIZE (mythtv-0.27.tar.gz) = 85915149
+SHA256 (mythtv-0.27.0.20140121.tar.gz) = dcc6c2401110111793999faf8f317c9036378e2a90cbb55b990f138e76a39dad
+SIZE (mythtv-0.27.0.20140121.tar.gz) = 85938811

Added: head/multimedia/mythtv/files/patch-libs__libmyth__remoteutil.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv/files/patch-libs__libmyth__remoteutil.h	Sat Jan 25 19:44:21 2014	(r341083)
@@ -0,0 +1,11 @@
+--- libs/libmyth/remoteutil.h.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmyth/remoteutil.h	2014-01-22 08:26:34.000000000 -0500
+@@ -8,6 +8,7 @@
+ using namespace std;
+ 
+ #include "mythexp.h"
++#include <sys/types.h>
+ 
+ class ProgramInfo;
+ class MythEvent;
+

Modified: head/multimedia/mythtv/files/patch-libs__libmythtv__recorders__dvbdev__dvbci.cpp
==============================================================================
--- head/multimedia/mythtv/files/patch-libs__libmythtv__recorders__dvbdev__dvbci.cpp	Sat Jan 25 19:43:35 2014	(r341082)
+++ head/multimedia/mythtv/files/patch-libs__libmythtv__recorders__dvbdev__dvbci.cpp	Sat Jan 25 19:44:21 2014	(r341083)
@@ -1,11 +1,13 @@
---- libs/libmythtv/recorders/dvbdev/dvbci.cpp.orig	2010-03-07 04:11:52.000000000 +0100
-+++ libs/libmythtv/recorders/dvbdev/dvbci.cpp	2010-04-26 23:30:52.000000000 +0200
-@@ -28,7 +28,9 @@
+--- libs/libmythtv/recorders/dvbdev/dvbci.cpp.orig	2010-04-26 23:30:52.000000000 +0200
++++ libs/libmythtv/recorders/dvbdev/dvbci.cpp	2014-01-22 09:13:22.000000000 -0500
+@@ -28,7 +28,11 @@
  #include <errno.h>
  #include <ctype.h>
  #include <linux/dvb/ca.h>
 +#ifndef __FreeBSD__
  #include <malloc.h>
++#else
++#include <stdlib.h>
 +#endif
  #include <netinet/in.h>
  #include <poll.h>

Added: head/multimedia/mythtv/files/patch-libs__libmythui__mythgesture.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv/files/patch-libs__libmythui__mythgesture.cpp	Sat Jan 25 19:44:21 2014	(r341083)
@@ -0,0 +1,19 @@
+--- libs/libmythui/mythgesture.cpp.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmythui/mythgesture.cpp	2014-01-22 08:20:33.000000000 -0500
+@@ -28,6 +28,7 @@
+ 
+ #include "mythgesture.h"
+ 
++#include <cstdlib>
+ #include <cmath>
+ #include <algorithm>
+ 
+@@ -283,7 +284,7 @@
+     int dely = p.y() - points.back().y();
+ 
+     /* step by the greatest delta direction */
+-    if (abs(delx) > abs(dely))
++    if (std::abs(delx) > std::abs(dely))
+     {
+         float iy = points.back().y();
+ 

Added: head/multimedia/mythtv/files/patch-libs__libmythui__mythpainter.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv/files/patch-libs__libmythui__mythpainter.cpp	Sat Jan 25 19:44:21 2014	(r341083)
@@ -0,0 +1,9 @@
+--- libs/libmythui/mythpainter.cpp.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmythui/mythpainter.cpp	2014-01-22 08:18:40.000000000 -0500
+@@ -1,5 +1,6 @@
+ #include <stdint.h>
+ #include <algorithm>
++#include <cstdlib>
+ 
+ // QT headers
+ #include <QRect>

Added: head/multimedia/mythtv/files/patch-libs__libmythupnp__mmulticastsocketdevice.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv/files/patch-libs__libmythupnp__mmulticastsocketdevice.h	Sat Jan 25 19:44:21 2014	(r341083)
@@ -0,0 +1,11 @@
+--- libs/libmythupnp/mmulticastsocketdevice.h.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmythupnp/mmulticastsocketdevice.h	2014-01-22 08:24:26.000000000 -0500
+@@ -18,6 +18,7 @@
+ #  include <ws2tcpip.h>
+ # endif
+ #else
++# include <sys/types.h>
+ # include <sys/socket.h>
+ # include <netinet/in.h>
+ # include <netinet/ip.h>
+

Modified: head/multimedia/mythtv/pkg-plist
==============================================================================
--- head/multimedia/mythtv/pkg-plist	Sat Jan 25 19:43:35 2014	(r341082)
+++ head/multimedia/mythtv/pkg-plist	Sat Jan 25 19:44:21 2014	(r341083)
@@ -525,16 +525,6 @@ include/mythtv/zeromq/zmq_utils.h
 %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/static.pyc
 %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/system.py
 %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/system.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/XSLT/tmdbQuery.xsl
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/XSLT/tmdbVideo.xsl
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/__init__.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/__init__.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/tmdb_api.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/tmdb_api.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/tmdb_exceptions.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/tmdb_exceptions.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/tmdb_ui.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb/tmdb_ui.pyc
 %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__init__.py
 %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__init__.pyc
 %%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/cache.py
@@ -1112,7 +1102,6 @@ lib/pkgconfig/libmythzmq.pc
 %%DATADIR%%/locales/ru_ru.xml
 %%DATADIR%%/locales/zh_hk.xml
 %%DATADIR%%/locales/zh_tw.xml
-%%DATADIR%%/metadata/Movie/tmdb.py
 %%DATADIR%%/metadata/Movie/tmdb3.py
 %%DATADIR%%/metadata/Television/ttvdb.py
 %%DATADIR%%/mythconverg_backup.pl
@@ -2334,8 +2323,6 @@ lib/pkgconfig/libmythzmq.pc
 %%BINDINGS%%@dirrm %%PYTHON_SITELIBDIR%%/MythTV/ttvdb/XSLT
 %%BINDINGS%%@dirrm %%PYTHON_SITELIBDIR%%/MythTV/ttvdb
 %%BINDINGS%%@dirrm %%PYTHON_SITELIBDIR%%/MythTV/tmdb3
-%%BINDINGS%%@dirrm %%PYTHON_SITELIBDIR%%/MythTV/tmdb/XSLT
-%%BINDINGS%%@dirrm %%PYTHON_SITELIBDIR%%/MythTV/tmdb
 %%BINDINGS%%@dirrm %%PYTHON_SITELIBDIR%%/MythTV
 %%BINDINGS%%@dirrmtry %%SITE_PERL%%/IO/Socket/INET
 %%BINDINGS%%@dirrmtry %%SITE_PERL%%/IO/Socket
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 dfilter service freebsd_committer freebsd_triage 2014-01-25 19:45:56 UTC
Author: decke
Date: Sat Jan 25 19:45:46 2014
New Revision: 341084
URL: http://svnweb.freebsd.org/changeset/ports/341084
QAT: https://qat.redports.org/buildarchive/r341084/

Log:
  - Update to latest 0.27 stable branch from github
  - Add patches to build with clang [1]
  - Use OPTIONS_SUB
  
  PR:		ports/186005 [1]
  Submitted by:	John Clark <clarkjc@runbox.com> [1]

Added:
  head/multimedia/mythtv-frontend/files/patch-libs__libmyth__remoteutil.h   (contents, props changed)
  head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__recorders__dvbdev__dvbci.cpp   (contents, props changed)
  head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythgesture.cpp   (contents, props changed)
  head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythpainter.cpp   (contents, props changed)
  head/multimedia/mythtv-frontend/files/patch-libs__libmythupnp__mmulticastsocketdevice.h   (contents, props changed)
Modified:
  head/multimedia/mythtv-frontend/Makefile
  head/multimedia/mythtv-frontend/distinfo

Modified: head/multimedia/mythtv-frontend/Makefile
==============================================================================
--- head/multimedia/mythtv-frontend/Makefile	Sat Jan 25 19:44:21 2014	(r341083)
+++ head/multimedia/mythtv-frontend/Makefile	Sat Jan 25 19:45:46 2014	(r341084)
@@ -2,8 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	mythtv-frontend
-PORTVERSION=	0.27
+PORTVERSION=	0.27.0.20140121
 CATEGORIES=	multimedia
+MASTER_SITES=	http://people.freebsd.org/~decke/distfiles/
 DISTNAME=	mythtv-${PORTVERSION}
 
 MAINTAINER=	decke@FreeBSD.org
@@ -21,11 +22,11 @@ CONFLICTS=	mythtv-[0-9]*
 USE_GITHUB=	yes
 GH_ACCOUNT=	MythTV
 GH_PROJECT=	mythtv
-GH_TAGNAME=	v${PORTVERSION}
+GH_TAGNAME=	${GH_COMMIT}
+GH_COMMIT=	5a5e1cd
 
-WRKSRC=		${WRKDIR}/${GH_ACCOUNT}-${GH_PROJECT}-e9545c0/${GH_PROJECT}
+WRKSRC=		${WRKDIR}/${GH_ACCOUNT}-${GH_PROJECT}-${GH_COMMIT}/${GH_PROJECT}
 
-USE_GCC=	any
 ONLY_FOR_ARCHS=	i386 amd64
 USES=		gmake pkgconfig
 USE_QT4=	gui sql network script linguist_build l10n sql-mysql_run \

Modified: head/multimedia/mythtv-frontend/distinfo
==============================================================================
--- head/multimedia/mythtv-frontend/distinfo	Sat Jan 25 19:44:21 2014	(r341083)
+++ head/multimedia/mythtv-frontend/distinfo	Sat Jan 25 19:45:46 2014	(r341084)
@@ -1,2 +1,2 @@
-SHA256 (mythtv-0.27.tar.gz) = e8d77c48f487bd057b2f887c27416d502b79c78c4e1cfb05d87ec70d690f8d0d
-SIZE (mythtv-0.27.tar.gz) = 85915149
+SHA256 (mythtv-0.27.0.20140121.tar.gz) = dcc6c2401110111793999faf8f317c9036378e2a90cbb55b990f138e76a39dad
+SIZE (mythtv-0.27.0.20140121.tar.gz) = 85938811

Added: head/multimedia/mythtv-frontend/files/patch-libs__libmyth__remoteutil.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv-frontend/files/patch-libs__libmyth__remoteutil.h	Sat Jan 25 19:45:46 2014	(r341084)
@@ -0,0 +1,11 @@
+--- libs/libmyth/remoteutil.h.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmyth/remoteutil.h	2014-01-22 08:26:34.000000000 -0500
+@@ -8,6 +8,7 @@
+ using namespace std;
+ 
+ #include "mythexp.h"
++#include <sys/types.h>
+ 
+ class ProgramInfo;
+ class MythEvent;
+

Added: head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__recorders__dvbdev__dvbci.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv-frontend/files/patch-libs__libmythtv__recorders__dvbdev__dvbci.cpp	Sat Jan 25 19:45:46 2014	(r341084)
@@ -0,0 +1,14 @@
+--- libs/libmythtv/recorders/dvbdev/dvbci.cpp.orig	2010-04-26 23:30:52.000000000 +0200
++++ libs/libmythtv/recorders/dvbdev/dvbci.cpp	2014-01-22 09:13:22.000000000 -0500
+@@ -28,7 +28,11 @@
+ #include <errno.h>
+ #include <ctype.h>
+ #include <linux/dvb/ca.h>
++#ifndef __FreeBSD__
+ #include <malloc.h>
++#else
++#include <stdlib.h>
++#endif
+ #include <netinet/in.h>
+ #include <poll.h>
+ #include <string.h>

Added: head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythgesture.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythgesture.cpp	Sat Jan 25 19:45:46 2014	(r341084)
@@ -0,0 +1,19 @@
+--- libs/libmythui/mythgesture.cpp.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmythui/mythgesture.cpp	2014-01-22 08:20:33.000000000 -0500
+@@ -28,6 +28,7 @@
+ 
+ #include "mythgesture.h"
+ 
++#include <cstdlib>
+ #include <cmath>
+ #include <algorithm>
+ 
+@@ -283,7 +284,7 @@
+     int dely = p.y() - points.back().y();
+ 
+     /* step by the greatest delta direction */
+-    if (abs(delx) > abs(dely))
++    if (std::abs(delx) > std::abs(dely))
+     {
+         float iy = points.back().y();
+ 

Added: head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythpainter.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv-frontend/files/patch-libs__libmythui__mythpainter.cpp	Sat Jan 25 19:45:46 2014	(r341084)
@@ -0,0 +1,9 @@
+--- libs/libmythui/mythpainter.cpp.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmythui/mythpainter.cpp	2014-01-22 08:18:40.000000000 -0500
+@@ -1,5 +1,6 @@
+ #include <stdint.h>
+ #include <algorithm>
++#include <cstdlib>
+ 
+ // QT headers
+ #include <QRect>

Added: head/multimedia/mythtv-frontend/files/patch-libs__libmythupnp__mmulticastsocketdevice.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/mythtv-frontend/files/patch-libs__libmythupnp__mmulticastsocketdevice.h	Sat Jan 25 19:45:46 2014	(r341084)
@@ -0,0 +1,11 @@
+--- libs/libmythupnp/mmulticastsocketdevice.h.orig	2013-09-18 16:06:08.000000000 -0400
++++ libs/libmythupnp/mmulticastsocketdevice.h	2014-01-22 08:24:26.000000000 -0500
+@@ -18,6 +18,7 @@
+ #  include <ws2tcpip.h>
+ # endif
+ #else
++# include <sys/types.h>
+ # include <sys/socket.h>
+ # include <netinet/in.h>
+ # include <netinet/ip.h>
+
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 Bernhard Froehlich freebsd_committer freebsd_triage 2014-01-25 19:47:43 UTC
State Changed
From-To: open->closed

Committed. Thanks!