Discussion:
[blfs-support] Cannot compile Qt-4.8.6
John Frankish
2015-05-25 12:51:32 UTC
Permalink
Ref Beyond LinuxR From Scratch - Version 2015-05-24
Chapter 25. X Libraries
Qt-4.8.6

I'm unable to compile QtWebKit because gst-plugins-base-0.10.36 is not
detected by the configure script.

pkg-config --cflags/libs correctly detects gst-plugins-base-0.10.36 and, if
I hack the configure script to force the detection of gst-plugins-base and
to enter the results of pkg-config --cflags/libs, QtWebKit compiles but
things fail afterwards as per below.

Any suggestions on how to fix this would be welcome.

Regards
John

----------

g++ -Wl,-rpath-link,/usr/src/qt-everywhere-opensource-src-4.8.6/lib
-fno-exceptions -Wl,-O1 -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/local/lib
-o ../../bin/qtconfig .obj/release-shared/colorbutton.o
.obj/release-shared/main.o .obj/release-shared/previewframe.o
.obj/release-shared/previewwidget.o .obj/release-shared/mainwindow.o
.obj/release-shared/paletteeditoradvanced.o
.obj/release-shared/moc_colorbutton.o .obj/release-shared/moc_previewframe.o
.obj/release-shared/moc_previewwidget.o .obj/release-shared/moc_mainwindow.o
.obj/release-shared/moc_paletteeditoradvanced.o
.obj/release-shared/qrc_qtconfig.o
-L/usr/src/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib
-lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lQtGui
-L/usr/src/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -lQtCore
-lpthread -lXrender -L/usr/local/lib -lfontconfig -lfreetype -lXext -lX11
-lm
/usr/local/bin/ld: .obj/release-shared/mainwindow.o: undefined reference to
symbol 'gst_object_unref'
/usr/local/lib/libgstreamer-0.10.so.0: error adding symbols: DSO missing
from command line
collect2: error: ld returned 1 exit status
Makefile:129: recipe for target '../../bin/qtconfig' failed
make[2]: *** [../../bin/qtconfig] Error 1
make[2]: Leaving directory
'/usr/src/qt-everywhere-opensource-src-4.8.6/tools/qtconfig'
Makefile:266: recipe for target 'sub-qtconfig-make_default-ordered' failed
make[1]: *** [sub-qtconfig-make_default-ordered] Error 2
make[1]: Leaving directory
'/usr/src/qt-everywhere-opensource-src-4.8.6/tools'
Makefile:854: recipe for target 'sub-tools-make_default-ordered' failed
make: *** [sub-tools-make_default-ordered] Error 2
Command exited with non-zero status 2
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
U
Ken Moffat
2015-05-25 17:45:14 UTC
Permalink
Post by John Frankish
Ref Beyond LinuxR From Scratch - Version 2015-05-24
Chapter 25. X Libraries
Qt-4.8.6
I'm unable to compile QtWebKit because gst-plugins-base-0.10.36 is not
detected by the configure script.
Do you have the error message, please ? Also, which version of LFS
are you using ? (for me, it appears to build ok with LFS-7.7 and
everything I've tried up to and including LFS-svn-20150515).
Post by John Frankish
pkg-config --cflags/libs correctly detects gst-plugins-base-0.10.36 and, if
I hack the configure script to force the detection of gst-plugins-base and
to enter the results of pkg-config --cflags/libs, QtWebKit compiles but
things fail afterwards as per below.
Any suggestions on how to fix this would be welcome.
Regards
John
----------
g++ -Wl,-rpath-link,/usr/src/qt-everywhere-opensource-src-4.8.6/lib
-fno-exceptions -Wl,-O1 -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/local/lib
-o ../../bin/qtconfig .obj/release-shared/colorbutton.o
.obj/release-shared/main.o .obj/release-shared/previewframe.o
.obj/release-shared/previewwidget.o .obj/release-shared/mainwindow.o
.obj/release-shared/paletteeditoradvanced.o
.obj/release-shared/moc_colorbutton.o .obj/release-shared/moc_previewframe.o
.obj/release-shared/moc_previewwidget.o .obj/release-shared/moc_mainwindow.o
.obj/release-shared/moc_paletteeditoradvanced.o
.obj/release-shared/qrc_qtconfig.o
-L/usr/src/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib
-lgstinterfaces-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lQtGui
-L/usr/src/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -lQtCore
-lpthread -lXrender -L/usr/local/lib -lfontconfig -lfreetype -lXext -lX11
-lm
In my own log, I cannot see anything which matches that command (the
qt logs are fairly impenetrable). If I look for qrc_qtconfig.o I
only have
.obj/release-shared/qrc_qtconfig.o
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L/usr/X11R6/lib -lQtGui
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L/usr/X11R6/lib -lQtCore -lpthread -lXrender -lfontconfig
-lfreetype -lXext -lX11 -lm

i.e. no references to -lgst*-0.10 in that part of the build.
Post by John Frankish
/usr/local/bin/ld: .obj/release-shared/mainwindow.o: undefined reference to
symbol 'gst_object_unref'
You said you hacked the configure script, I suspect that hack was
not correct and has pulled in some gstreamer libs, perhaps
unnecessarily, but without others on which they depend.

For a comparison, when my log does show gstreamer libs, there are
rather more of them:
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L../../WebCore/release -L../../JavaScriptCore/release
-L/usr/X11R6/lib -lwebcore
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L/usr/X11R6/lib -lfontconfig -lfreetype -lXext -lX11 -lm -ljscore
-lsqlite3 -lXrender -lQtGui -lQtNetwork -lQtCore -lpthread -lgio-2.0
-lgstapp-0.10 -lgstinterfaces-0.10 -lgstpbutils-0.10 -lgstvideo-0.10
-lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0
-lgmodule-2.0 -lgthread-2.0 -pthread -lglib

ĸen
--
Nanny Ogg usually went to bed early. After all, she was an old lady.
Sometimes she went to bed as early as 6 a.m.
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above informa
John Frankish
2015-05-26 06:31:02 UTC
Permalink
Ref Beyond LinuxR From Scratch - Version 2015-05-24 Chapter 25. X Libraries
Qt-4.8.6
I'm unable to compile QtWebKit because gst-plugins-base-0.10.36 is
not detected by the configure script.
Do you have the error message, please ? Also, which version of LFS are you using ? (for me, it appears to build ok with
LFS-7.7 and everything I've tried up to and including LFS-svn-20150515).
I'm using the latest svn, there are no error messages that I could find, all I see is:
...
Iconv support .......... yes
Glib support ........... yes
GStreamer support ...... no
PulseAudio support ..... yes
Large File support ..... yes
...
In my own log, I cannot see anything which matches that command (the qt logs are fairly impenetrable). If I look for
qrc_qtconfig.o I only have .obj/release-shared/qrc_qtconfig.o
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L/usr/X11R6/lib -lQtGui
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L/usr/X11R6/lib -lQtCore -lpthread -lXrender -lfontconfig -lfreetype -lXext -lX11 -lm
i.e. no references to -lgst*-0.10 in that part of the build.
/usr/local/bin/ld: .obj/release-shared/mainwindow.o: undefined
reference to symbol 'gst_object_unref'
You said you hacked the configure script, I suspect that hack was not correct and has pulled in some gstreamer libs,
perhaps unnecessarily, but without others on which they depend.
I went back and tried again, but this time changed the configure script as follows:

QT_CFLAGS_GSTREAMER="-pthread -I/usr/local/include/gstreamer-0.10 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/libxml2"
QT_LIBS_GSTREAMER="-L/usr/local/lib -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -pthread -lgthread-2.0 -pthread -lglib-2.0 -lxml2"

..and for each instance of " CFG_GSTREAMER=no", changed it to:

CFG_GSTREAMER=yes
QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"

..and this time things worked fine. I've still no idea why the configure script doesn't auto detect gstreamer-0.10 as pkg-config detects it without problems.

Thanks for the suggestions.

John
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/bl
Armin K.
2015-05-26 06:34:49 UTC
Permalink
Post by John Frankish
Ref Beyond LinuxR From Scratch - Version 2015-05-24 Chapter 25. X Libraries
Qt-4.8.6
I'm unable to compile QtWebKit because gst-plugins-base-0.10.36 is
not detected by the configure script.
Do you have the error message, please ? Also, which version of LFS are you using ? (for me, it appears to build ok with
LFS-7.7 and everything I've tried up to and including LFS-svn-20150515).
...
Iconv support .......... yes
Glib support ........... yes
GStreamer support ...... no
This is totaly unrelated to webkit. It's related to the phonon module,
which is explicitly disabled in favor of KDE4 Phonon.
Post by John Frankish
PulseAudio support ..... yes
Large File support ..... yes
...
In my own log, I cannot see anything which matches that command (the qt logs are fairly impenetrable). If I look for
qrc_qtconfig.o I only have .obj/release-shared/qrc_qtconfig.o
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L/usr/X11R6/lib -lQtGui
-L/scratch/working/qt-everywhere-opensource-src-4.8.6/lib
-L/usr/X11R6/lib -lQtCore -lpthread -lXrender -lfontconfig -lfreetype -lXext -lX11 -lm
i.e. no references to -lgst*-0.10 in that part of the build.
/usr/local/bin/ld: .obj/release-shared/mainwindow.o: undefined
reference to symbol 'gst_object_unref'
You said you hacked the configure script, I suspect that hack was not correct and has pulled in some gstreamer libs,
perhaps unnecessarily, but without others on which they depend.
QT_CFLAGS_GSTREAMER="-pthread -I/usr/local/include/gstreamer-0.10 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/libxml2"
QT_LIBS_GSTREAMER="-L/usr/local/lib -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -pthread -lgthread-2.0 -pthread -lglib-2.0 -lxml2"
CFG_GSTREAMER=yes
QMakeVar set QT_CFLAGS_GSTREAMER "$QT_CFLAGS_GSTREAMER"
QMakeVar set QT_LIBS_GSTREAMER "$QT_LIBS_GSTREAMER"
..and this time things worked fine. I've still no idea why the configure script doesn't auto detect gstreamer-0.10 as pkg-config detects it without problems.
Not needed. QtWebKit's *.pro files will detect GStreamer-0.10 just fine when
qmake has been ran. configure detection has nothing to do with it, as noted above.
Post by John Frankish
Thanks for the suggestions.
John
--
Note: My last name is not Krejzi.
John Frankish
2015-05-26 06:55:23 UTC
Permalink
Post by John Frankish
Ref Beyond LinuxR From Scratch - Version 2015-05-24 Chapter 25. X Libraries
Qt-4.8.6
I'm unable to compile QtWebKit because gst-plugins-base-0.10.36 is
not detected by the configure script.
...
Iconv support .......... yes
Glib support ........... yes
GStreamer support ...... no
This is totaly unrelated to webkit. It's related to the phonon module, which is explicitly disabled in favor of KDE4 Phonon.
Post by John Frankish
..and this time things worked fine. I've still no idea why the configure script doesn't auto detect gstreamer-0.10
as pkg-config detects it without problems.
Not needed. QtWebKit's *.pro files will detect GStreamer-0.10 just fine when qmake has been ran.
configure detection has nothing to do with it, as noted above.
That would explain why the configure script would mark gstreamer as "no", but not why QtWebKit does not compile for me without the configure script being hacked.

Anyway, it's working now :)

BTW, at least one app, gambas3, requires qt3 support in qt4, which is explicitly disabled by the BLFS configure switches.

John
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above
Armin K.
2015-05-26 13:42:16 UTC
Permalink
Post by John Frankish
Post by John Frankish
Ref Beyond LinuxR From Scratch - Version 2015-05-24 Chapter 25. X Libraries
Qt-4.8.6
I'm unable to compile QtWebKit because gst-plugins-base-0.10.36 is
not detected by the configure script.
...
Iconv support .......... yes
Glib support ........... yes
GStreamer support ...... no
This is totaly unrelated to webkit. It's related to the phonon module, which is explicitly disabled in favor of KDE4 Phonon.
Post by John Frankish
..and this time things worked fine. I've still no idea why the configure script doesn't auto detect gstreamer-0.10
as pkg-config detects it without problems.
Not needed. QtWebKit's *.pro files will detect GStreamer-0.10 just fine when qmake has been ran.
configure detection has nothing to do with it, as noted above.
That would explain why the configure script would mark gstreamer as "no", but not why QtWebKit does not compile for me without the configure script being hacked.
As I said, configure does not detect GStreamer used by WebKit. qmake is ran during the "make"
process, which does the detection.
Post by John Frankish
Anyway, it's working now :)
BTW, at least one app, gambas3, requires qt3 support in qt4, which is explicitly disabled by the BLFS configure switches.
John
Not here:

$ ls /usr/lib/libQt3Support.* -l
-rw-r--r-- 1 root root 669 Maj 2 10:50 /usr/lib/libQt3Support.prl
lrwxrwxrwx 1 root root 22 Maj 2 10:50 /usr/lib/libQt3Support.so -> libQt3Support.so.4.8.6
lrwxrwxrwx 1 root root 22 Maj 2 10:50 /usr/lib/libQt3Support.so.4 -> libQt3Support.so.4.8.6
lrwxrwxrwx 1 root root 22 Maj 2 10:50 /usr/lib/libQt3Support.so.4.8 -> libQt3Support.so.4.8.6
-rwxr-xr-x 1 root root 3227424 Maj 2 10:50 /usr/lib/libQt3Support.so.4.8.6

What switch are you talking about?
--
Note: My last name is not Krejzi.
Continue reading on narkive:
Loading...