Opened 13 years ago

Closed 13 years ago

#10103 closed Bug Report - General (Invalid)

Trunk Compile Fails on Ubuntu 11.10 due to Include Path Order

Reported by: Ken Mandelberg <km@…> Owned by:
Priority: minor Milestone: unknown
Component: MythTV - General Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

I just tried to compile the trunk on Ubuntu 11.10. The compile fails in a call to MythAVTestCommandLineParser picking up mythcommandlineparser.h from libmyth/mythcommandlineparser.h instead of libmythbase/mythcommandlineparser.h which is later in the Include Path.

I presume this is because of a compiler update on 11.10 (4.6.1 instead of 4.5.2 on Ubuntu 11.04). It appears that either the include order need to be changed or some extra compiler flag is needed.

Here is the g++ output g++ -c -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fomit-frame-pointer -pthread -g -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -funit-at-a-time -DSTDC_CONSTANT_MACROS -DSTDC_LIMIT_MACROS -O3 -fvisibility-inlines-hidden -Wmissing-declarations -D_REENTRANT -DQT_WEBKIT -DMMX -Di386 -D_GNU_SOURCE -DUSING_X11 -DUSING_XV -DUSING_IVTV -DUSING_XRANDR -DUSING_OPENGL_VIDEO -DUSING_PULSE -DQT_NO_DEBUG -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 -I/usr/include -I/usr/local -I/usr/include/libxml2 -I../.. -I../../libs -I../../libs/libmyth -I../../libs/libmyth/audio -I../../libs/libmythtv -I../../external/FFmpeg -I../../libs/libmythupnp -I../../libs/libmythui -I../../libs/libmythmetadata -I../../libs/libmythlivemedia -I../../libs/libmythbase -I../../libs/libmythhdhomerun -I../../libs/libmythdvdnav -I../../libs/libmythbluray -I../../libs/libmythsamplerate -I../../libs/libmythtv/mpeg -I../../libs/libmythtv/vbitext -I../../libs/libmythservicecontracts -I../../libs/libmythprotoserver -I/usr/X11R6/include -I. -o main.o main.cpp main.cpp: In function ‘int main(int, char)’: main.cpp:31:34: error: no matching function for call to ‘MythAVTestCommandLineParser::Parse(int&, char&)’ main.cpp:31:34: note: candidate is: ../../libs/libmyth/mythcommandlineparser.h:56:10: note: bool MythCommandLineParser::Parse(int, const char* const*, int&, bool&) ../../libs/libmyth/mythcommandlineparser.h:56:10: note: candidate expects 4 arguments, 2 provided main.cpp:33:17: error: ‘class MythAVTestCommandLineParser’ has no member named ‘PrintHelp?’ main.cpp:37:17: error: ‘class MythAVTestCommandLineParser’ has no member named ‘toBool’ main.cpp:39:17: error: ‘class MythAVTestCommandLineParser’ has no member named ‘PrintHelp?’ main.cpp:43:17: error: ‘class MythAVTestCommandLineParser’ has no member named ‘toBool’ main.cpp:45:17: error: ‘class MythAVTestCommandLineParser’ has no member named ‘PrintVersion?’ main.cpp:53:27: error: ‘class MythAVTestCommandLineParser’ has no member named ‘ConfigureLogging?’ main.cpp:56:18: error: ‘class MythAVTestCommandLineParser’ has no member named ‘toString’ main.cpp:58:45: error: ‘class MythAVTestCommandLineParser’ has no member named ‘toString’ main.cpp:61:18: error: ‘class MythAVTestCommandLineParser’ has no member named ‘toString’ main.cpp:63:53: error: ‘class MythAVTestCommandLineParser’ has no member named ‘toString’ main.cpp:67:17: error: ‘class MythAVTestCommandLineParser’ has no member named ‘GetArgs?’ main.cpp:68:28: error: ‘class MythAVTestCommandLineParser’ has no member named ‘GetArgs?’ main.cpp:77:13: error: ‘class MythAVTestCommandLineParser’ has no member named ‘ApplySettingsOverride?’ make[2]: * [main.o] Error 1 make[2]: Leaving directory `/home/km/mythgit/mythtv/mythtv/programs/mythavtest'

Change History (2)

comment:1 Changed 13 years ago by Ken Mandelberg <km@…>

As a workaround adding "--extra-cxxflags=-I../../libs/libmythbase" works around the problem.

comment:2 Changed 13 years ago by cpinkham

Resolution: Invalid
Status: newclosed

This is an issue with your checkout. Remove libmyth/mythcommandlineparser.h, that file was moved a while ago to libmythbase.

Note: See TracTickets for help on using tickets.