Page 1 of 1

Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sat Feb 05, 2011 12:30 pm
by robolsen
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

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sat Feb 05, 2011 4:06 pm
by Xoratk
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

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sat Feb 05, 2011 9:34 pm
by Bling2Ming
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).

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sat Feb 05, 2011 11:51 pm
by z-factor
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

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sun Feb 06, 2011 7:35 am
by robolsen
That worked like a charm :) Thanks!

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sun Feb 06, 2011 10:26 am
by Bling2Ming
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.

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sun Feb 06, 2011 12:15 pm
by Xoratk
Hello,

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


Xoratk

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sat Feb 12, 2011 9:10 am
by BitJam2
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
}

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Sun Feb 13, 2011 1:57 pm
by HollowMac
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 ! :) ;)

Re: Unable to compile 1.6.4 on Ubuntu server 10.04

Posted: Tue Feb 15, 2011 6:45 am
by richip
Solution is non-distribution dependent, but I thought I may as well mention that it worked on Fedora 14 x86_64