[mythtv] [PATCH] Disable screen aspect ratiodetectionwithXinerama active

Geoffrey Hausheer ou401cru02 at sneakemail.com
Fri Dec 19 22:26:43 EST 2003


On Fri, 19 Dec 2003 19:06:57 -0800, "Matt Zimmerman" said:
> On Fri, Dec 19, 2003 at 07:22:13PM -0600, Geoffrey Hausheer wrote:
> 
> > On Fri, 19 Dec 2003 17:59:35 -0500, "Isaac Richards" said:
> > > On Friday 19 December 2003 05:33 pm, Doug Larrick wrote:
> > > > On 12/19/03 16:52:25, Bruce Markey wrote:
> > > > > What silly thing am I missing? This is after a distclean.
> > > > >
> > > > > ...
> > > > > qmake -o Makefile mythepg.pro
> > > > > g++  -o mythepg main.o   -L/usr/share/qt3/lib -L/usr/X11R6/lib -
> > > > > L../../libs/libmyth -L../../libs/libmythtv -L../../libs/libavcodec -
> > > > > L../../libs/libvbitext -L../../libs/libavformat -lmythtv -lavformat
> > > > > -
> > > > > lavcodec -lvbitext -lmyth-0.13 -L/usr/X11R6/lib -lXinerama -lXv -
> > > > > lXxf86vm -lfreetype -lmp3lame -lqt-mt -lXext -lX11 -lm -lpthread
> > > > > ../../libs/libmythtv/libmythtv.a(videoout_xv.o)(.text+0x8f8): In
> > > > > function `VideoOutputXv::Init(int, int, float, unsigned, int, int,
> > > > >
> > > > > int, int, unsigned)':
> > > > > : undefined reference to `XineramaQueryExtension(_XDisplay*, int*,
> > > > >
> > > > > int*)'
> > > > > ../../libs/libmythtv/libmythtv.a(videoout_xv.o)(.text+0x10bd): In
> > > > > function `VideoOutputXv::Init(int, int, float, unsigned, int, int,
> > > > >
> > > > > int, int, unsigned)':
> > > > > : undefined reference to `XineramaIsActive(_XDisplay*)'
> > > > >
> > > > > collect2: ld returned 1 exit status
> > > > > make: *** [mythepg] Error 1
> > > >
> > > > The user who originally requested this change had this problem too.
> > > > You're missing a '-lXinerama' in your Makefile, whereas I have it (and
> > > > didn't put it there)... no idea why.
> > > 
> > > But it's there..  Order looks right, too, as it's after the -lmythtv.
> > > 
> 
> > I am seeing this too with Debian unstable.
> > 
> > Even weirder:
> > $ nm /usr/X11R6/lib/libXinerama.a | grep XineramaQueryExtension
> > 00000630 T XineramaQueryExtension
> > 
> > So the function is in the library, the '-lXinerama' is after '-lmythtv',
> > yet I still can't compile.
> > 
> > I'm confused.
> 
> It sounds like there's a missing 'extern "C"' around the declarations in
> the
> Xinerama headers.  So the linker is looking for a C++ function, not a C
> function.

Just to validate, wrapping the Xinerama #include in an extern "C" in
videoout_xv*.cpp fixes the problem 

.Geoff


More information about the mythtv-dev mailing list