Opened 10 years ago

Closed 9 years ago

#9627 closed Bug Report - General (Fixed)

MythTV fails to build on armel

Reported by: superm1@… Owned by: markk
Priority: minor Milestone: 0.25
Component: MythTV - General Version: 0.24-fixes
Severity: medium Keywords:
Cc: Ticket locked: no


git hash: 0d3d3a4

MythTV is failing to compile on the armel architecture.

ccache gcc -c -pipe -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -g -O2 -marm -fPIC -DPIC -std=c99 -fPIC -marm -pthread -g -Wall -Wno-parentheses -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -w -D_REENTRANT -D_GNU_SOURCE -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include -I/usr -I../../external/FFmpeg -o idct.o idct.c
rm -f libmythmpeg2-0.24.a
ar cqs libmythmpeg2-0.24.a cpu_accel.o cpu_state.o alloc.o header.o decode.o slice.o motion_comp.o idct.o
make[4]: Leaving directory `/build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4/mythtv/libs/libmythmpeg2'
cd libmythui/ && /usr/bin/qmake /build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4/mythtv/libs/libmythui/ QMAKE=qmake -o Makefile
WARNING: /build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4/mythtv/libs/libmythui/ Variable TARGETDEPS is deprecated; use POST_TARGETDEPS instead.
cd libmythui/ && /usr/bin/make -f Makefile 
make[4]: Entering directory `/build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4/mythtv/libs/libmythui'
ccache g++ -c -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -fPIC -pthread -g -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -funit-at-a-time -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Wmissing-declarations -D_REENTRANT -fPIC -D_GNU_SOURCE -DUSING_VDPAU -DUSING_X11 -DUSE_JOYSTICK_MENU -DUSE_LIRC -DUSING_XRANDR -DUSE_OPENGL_PAINTER -DUSING_QTWEBKIT -DQT_WEBKIT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I/usr/include -I/usr -I../libmythdb -I../.. -I.. -I../../external/FFmpeg -I/usr/X11R6/include -I. -o mythmainwindow.o mythmainwindow.cpp
In file included from mythmainwindow_internal.h:11:0,
                 from mythmainwindow.cpp:2:
mythrender_opengl.h:93:41: error: 'GL_BGRA' was not declared in this scope
mythrender_opengl.h:93:70: error: 'GL_RGBA8' was not declared in this scope
make[4]: *** [mythmainwindow.o] Error 1
make[4]: Leaving directory `/build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4/mythtv/libs/libmythui'
make[3]: *** [sub-libmythui-make_default] Error 2
make[3]: Leaving directory `/build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4/mythtv/libs'
make[2]: *** [libs] Error 2
make[2]: Leaving directory `/build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4/mythtv'
make[1]: *** [override_dh_auto_install] Error 2
make[1]: Leaving directory `/build/buildd/mythtv-0.24.0+fixes.20110302.0d3d3a4'
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: /usr/bin/fakeroot debian/rules binary-arch gave error exit status 2

The full build log is available here:

Change History (8)

comment:1 Changed 10 years ago by beirdo

I'm not sure that the ARMEL architecture has ever been on the list of supported or even desired platforms. Which device in particular is this that we are trying to compile for? I doubt any of us have a platform to test with, so some user-end help will likely be necessary.

comment:2 Changed 10 years ago by superm1@…

It's one of the supported architectures for Ubuntu natty. I don't think there is a particular device in question yet that is needing the support, but they are evaluating different media solutions for ARM devices and MythTV was excluded from the list for this (as well as a few other reasons).

I think a majority of people who have been helping debug these types of issues on other platforms have been doing it from kqemu and similar tools if they don't have the hardware.

comment:3 Changed 10 years ago by markk

I successfully built a version of master on my beagleboard a couple of weeks ago to test native (rather than emulated) OpenGL ES 2.0 support. This doesn't look like an ARM issue per se but rather an OpenGL version/define problem.

In mythrender_opengl.h @ line 24 there is a section that reads:-

#ifdef GL_ES_VERSION_2_0
#define GL_BGRA  GL_RGBA
#define GL_RGBA8 GL_RGBA
#define GL_TEXTURE_1D 0x0
static inline const char* gluErrorString(int ) { return NULL; }
static inline void glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint,
                                GLenum, GLenum, const GLvoid*) { };

This probably just needs tweaking to cover more situations (maybe GL_ES_VERSION_1_0 and/or GL_ES_VERSION_1_1 as well).

There is an additional fix that needs to go into configure around GLU dependency checking when using GL ES 2.0 - but it looks like libglu is being picked up in your build.

comment:4 Changed 10 years ago by rsalveti@…

Seems the problem is that current Natty's package isn't aware of GLESv2, and now that we got libqt4-opengl with the GLESv2 backend by default at ARM, this problem appeared.

comment:5 Changed 10 years ago by beirdo

Owner: set to markk
Status: newassigned

comment:6 Changed 9 years ago by markk

Milestone: unknown0.25

see 98989682b46349

Can someone with a current master, armel environment test this?

comment:7 Changed 9 years ago by markk

Status: assignedaccepted

comment:8 Changed 9 years ago by markk

Resolution: Fixed
Status: acceptedclosed

If this is still a problem, please re-open.

Note: See TracTickets for help on using tickets.