Unable to compile 1.6.4 on Ubuntu server 10.04

The place to discuss linux version of MakeMKV
Post Reply
robolsen
Posts: 2
Joined: Sat Feb 05, 2011 12:23 pm

Unable to compile 1.6.4 on Ubuntu server 10.04

Post by robolsen » Sat Feb 05, 2011 12:30 pm

Hi,

I just downloaded the new 1.6.4 version, but when I try to compile the oss package I receive this an error. The complete output is listed below:

Code: Select all

mkdir -p out
gcc -O3 -D_linux_ -oout/makemkv.full -Imakemkvgui/inc -Ilibmakemkv/inc -Isstring/inc -Ilibdriveio/inc \
	makemkvgui/src/aboutbox.cpp makemkvgui/src/client.cpp makemkvgui/src/dirselectbox.cpp makemkvgui/src/logic.cpp makemkvgui/src/logtext.cpp makemkvgui/src/main.cpp makemkvgui/src/nativefiledialog.cpp makemkvgui/src/mainwnd.cpp makemkvgui/src/marshall.cpp makemkvgui/src/progress.cpp makemkvgui/src/scsiinfo.cpp makemkvgui/src/settingdlg.cpp makemkvgui/src/uisync.cpp makemkvgui/src/viteminfo.cpp makemkvgui/src/backupdlg.cpp makemkvgui/src/lstring.cpp makemkvgui/src/notify.cpp makemkvgui/src/str/en_utf16.cpp makemkvgui/src/api_posix.cpp makemkvgui/src/api_linux.cpp makemkvgui/src/logic_posix.cpp makemkvgui/src/notify_linux.cpp tmp/qt_rsrc.cpp tmp/moc_mainwnd.cpp tmp/moc_logtext.cpp tmp/moc_dirselectbox.cpp tmp/moc_aboutbox.cpp tmp/moc_settingdlg.cpp tmp/moc_backupdlg.cpp sstring/src/sstring.cpp libdriveio/src/srlist.cpp \
	-DHAVE_BUILDINFO_H -Itmp \
	-I/usr/include/qt4 -I/usr/lib/qt4/include -L/usr/lib/qt4 -L/usr/lib/qt4/lib -lc -lstdc++ -lQtGui -lQtCore \
	-lpthread -lz -lrt
/tmp/ccpBd3g3.o: In function `notifyEvent(QMainWindow*, unsigned long, char const*, QString const&)':
notify_linux.cpp:(.text+0x1d6): undefined reference to `QDBusAbstractInterface::call(QDBus::CallMode, QString const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&)'
notify_linux.cpp:(.text+0x1e3): undefined reference to `QDBusMessage::~QDBusMessage()'
/tmp/ccpBd3g3.o: In function `notifyInit()':
notify_linux.cpp:(.text+0x53d): undefined reference to `QDBusMessage::QDBusMessage()'
notify_linux.cpp:(.text+0x592): undefined reference to `QDBusConnection::sessionBus()'
notify_linux.cpp:(.text+0x5c5): undefined reference to `QDBusInterface::QDBusInterface(QString const&, QString const&, QString const&, QDBusConnection const&, QObject*)'
notify_linux.cpp:(.text+0x5d4): undefined reference to `QDBusConnection::~QDBusConnection()'
notify_linux.cpp:(.text+0x622): undefined reference to `QDBusAbstractInterface::isValid() const'
notify_linux.cpp:(.text+0x827): undefined reference to `QDBusAbstractInterface::call(QDBus::CallMode, QString const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&)'
notify_linux.cpp:(.text+0x837): undefined reference to `QDBusMessage::operator=(QDBusMessage const&)'
notify_linux.cpp:(.text+0x844): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0x8a8): undefined reference to `QDBusMessage::type() const'
notify_linux.cpp:(.text+0x8d6): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0x95c): undefined reference to `QDBusMessage::arguments() const'
notify_linux.cpp:(.text+0xa03): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0xa73): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0xabd): undefined reference to `QDBusConnection::~QDBusConnection()'
collect2: ld returned 1 exit status
make: *** [out/makemkv.full] Error 1
I have successfully compiled previous versions on the same computer. The computer is up to date with the latest updates.
Am I doing something wrong, or is this package broken?

Best regards,
Robert

Xoratk
Posts: 2
Joined: Sat Feb 05, 2011 4:03 pm

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by Xoratk » Sat Feb 05, 2011 4:06 pm

Hello

I have the same problem on XBMClive 10.0 (i think Ubuntu 10.04 32-bit).

I have the problem on an Updated System and also on a fresh XBMClive install.

Dependencies are installed successfully and 1.6.2 works.


Greeting from Switzerland

Xoratk

Bling2Ming
Posts: 24
Joined: Mon Aug 03, 2009 7:20 pm

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by Bling2Ming » Sat Feb 05, 2011 9:34 pm

Yes same problem here Ubuntu 32bit Lucid 10.04 Desktop edition.

Code: Select all

tmp/ccpBd3g3.o: In function `notifyEvent(QMainWindow*, unsigned long, char const*, QString const&)':
notify_linux.cpp:(.text+0x1d6): undefined reference to `QDBusAbstractInterface::call(QDBus::CallMode, QString const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&)'
notify_linux.cpp:(.text+0x1e3): undefined reference to `QDBusMessage::~QDBusMessage()'
/tmp/ccpBd3g3.o: In function `notifyInit()':
notify_linux.cpp:(.text+0x53d): undefined reference to `QDBusMessage::QDBusMessage()'
notify_linux.cpp:(.text+0x592): undefined reference to `QDBusConnection::sessionBus()'
notify_linux.cpp:(.text+0x5c5): undefined reference to `QDBusInterface::QDBusInterface(QString const&, QString const&, QString const&, QDBusConnection const&, QObject*)'
notify_linux.cpp:(.text+0x5d4): undefined reference to `QDBusConnection::~QDBusConnection()'
notify_linux.cpp:(.text+0x622): undefined reference to `QDBusAbstractInterface::isValid() const'
notify_linux.cpp:(.text+0x827): undefined reference to `QDBusAbstractInterface::call(QDBus::CallMode, QString const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVariant const&, QVaria]nt const&, QVariant const&, QVariant const&)'
notify_linux.cpp:(.text+0x837): undefined reference to `QDBusMessage::operator=(QDBusMessage const&)'
notify_linux.cpp:(.text+0x844): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0x8a8): undefined reference to `QDBusMessage::type() const'
notify_linux.cpp:(.text+0x8d6): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0x95c): undefined reference to `QDBusMessage::arguments() const'
notify_linux.cpp:(.text+0xa03): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0xa73): undefined reference to `QDBusMessage::~QDBusMessage()'
notify_linux.cpp:(.text+0xabd): undefined reference to `QDBusConnection::~QDBusConnection()'
collect2: ld returned 1 exit status
make: *** [out/makemkv.full] Error 1

Just for information, I don't seem to be getting any major problems running the 1.6.4 binary with the 1.6.3 GUI (oss).

z-factor
Posts: 3
Joined: Sat Feb 05, 2011 11:45 pm

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by z-factor » Sat Feb 05, 2011 11:51 pm

From what I can tell, additional code was added that makes use of the libQTDBus, but the library was not added to the compile line. The following works for me. Go into makefile.linux and change the line indicated with the '>'. I've included a few lines of context. Basically, you need to add -lQtDBus to the compile line.

out/makemkv.full: $(MAKEMKVGUI_GEN) tmp/gen_buildinfo.h
mkdir -p out
$(GCC) -D_linux_ -o$@ $(MAKEMKVGUI_INC) $(LIBMAKEMKV_INC) $(SSTRING_INC) $(LIBDRIVEIO_INC) \
$(MAKEMKVGUI_SRC) $(MAKEMKVGUI_SRC_LINUX) $(MAKEMKVGUI_GEN) $(SSTRING_SRC) $(LIBDRIVEIO_SRC_PUB) \
-DHAVE_BUILDINFO_H -Itmp \
-I/usr/include/qt4 -I/usr/lib/qt4/include -L/usr/lib/qt4 -L/usr/lib/qt4/lib -lc -lstdc++ -lQtGui -lQtCore \
> -lQtDBus -lpthread -lz -lrt

That makes it happy for me.

-GZ

robolsen
Posts: 2
Joined: Sat Feb 05, 2011 12:23 pm

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by robolsen » Sun Feb 06, 2011 7:35 am

That worked like a charm :) Thanks!

Bling2Ming
Posts: 24
Joined: Mon Aug 03, 2009 7:20 pm

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by Bling2Ming » Sun Feb 06, 2011 10:26 am

Thanks z-factor, works fine for me too.

Just to re-cap for anyone struggling to follow the instructions, open makefile.linux in the editor of your choice.

Change line 57 from:

Code: Select all

-lpthread -lz -lrt
To:

Code: Select all

-lQtDBus -lpthread -lz -lrt
save the file, and retry to compile and everything builds as it should.

Thanks again z-factor your help is much appreciated.

Xoratk
Posts: 2
Joined: Sat Feb 05, 2011 4:03 pm

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by Xoratk » Sun Feb 06, 2011 12:15 pm

Hello,

This worked for me too, thank you z-factor and Bling2Ming


Xoratk

BitJam2
Posts: 53
Joined: Wed Sep 01, 2010 7:04 am

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by BitJam2 » Sat Feb 12, 2011 9:10 am

It worked here on Gentoo. Thanks.

Here is the patch file. I called it makemkv-1.6.4.patch. I put it in a "files" subdirectory as per usual:

Code: Select all

diff -u -r makemkv_v1.6.4_oss.orig/makefile.linux makemkv_v1.6.4_oss/makefile.linux
--- makemkv_v1.6.4_oss.orig/makefile.linux	2011-02-03 02:18:14.000000000 -0700
+++ makemkv_v1.6.4_oss/makefile.linux	2011-02-12 02:00:54.000000000 -0700
@@ -54,7 +54,7 @@
 	$(MAKEMKVGUI_SRC) $(MAKEMKVGUI_SRC_LINUX) $(MAKEMKVGUI_GEN) $(SSTRING_SRC) $(LIBDRIVEIO_SRC_PUB) \
 	-DHAVE_BUILDINFO_H -Itmp \
 	-I/usr/include/qt4 -I/usr/lib/qt4/include -L/usr/lib/qt4 -L/usr/lib/qt4/lib -lc -lstdc++ -lQtGui -lQtCore \
-	-lpthread -lz -lrt
+	-lQtDBus -lpthread -lz -lrt
 
 tmp/gen_buildinfo.h:
 	mkdir -p tmp

And then I added the following section to the ebuild file:

Code: Select all

src_unpack() {
	unpack ${A}
	cd ${S}

	epatch "${FILESDIR}"/makemkv-1.6.4.patch
}

HollowMac
Posts: 6
Joined: Sun Nov 21, 2010 6:41 pm

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by HollowMac » Sun Feb 13, 2011 1:57 pm

Bling2Ming wrote:Thanks z-factor, works fine for me too.

Just to re-cap for anyone struggling to follow the instructions, open makefile.linux in the editor of your choice.

Change line 57 from:

Code: Select all

-lpthread -lz -lrt
To:

Code: Select all

-lQtDBus -lpthread -lz -lrt
save the file, and retry to compile and everything builds as it should.

Thanks again z-factor your help is much appreciated.
Thanks a lot : it works for me ! :) ;)

richip
Posts: 3
Joined: Sun Oct 24, 2010 1:51 am

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Post by richip » Tue Feb 15, 2011 6:45 am

Solution is non-distribution dependent, but I thought I may as well mention that it worked on Fedora 14 x86_64

Post Reply