Hi,

trying to build 5.9.1 (from downloaded 
qt-everywhere-opensource-src-5.9.1.tar.xz)
on openSuse 42.2, I get linker errors in the qtmultimedia module, e.g.

.obj/qgstreameraudiodecodersession.o: In function 
`WinCC_OA::QGstreamerAudioDecoderSession::configureAppSrcElement(_GObject*, 
_GObject*, _GParamSpec*, WinCC_OA::QGstreamerAudioDecoderSession*)':
/home/PACKAGES/qt/5.9.1/qt-everywhere-opensource-src-5.9.1/qtmultimedia/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp:154:
 undefined reference to `WinCC_OA::QGstAppSrc::setup(_GstElement*)'

I found this symbol to be in the qgsttools_p lib but I fear the linker takes 
the lib from a wrong path.

Looking into the qtmultimedia/src/plugins/gstreamer/audiodecoder/Makefile,
I find the LIBS definition which I don't understand (Note that I'm building Qt 
with a namespace/libinfix):

LIBS          = $(SUBLIBS) -lqgsttools_p -L/usr/lib64 
-L/home/abuild/rpmbuild/BUILD/qtmultimedia-opensource-src-5.9.1/lib 
-lQt5MultimediaWidgets -lQt5Multimedia -lQt5Widgets -lQt5Gui -lQt5Network 
-lQt5Core -lasound 
-L/home/PACKAGES/qt/5.9.1/qt-everywhere-opensource-src-5.9.1/qtmultimedia/lib 
-lQt5MultimediaWidgetsWinCC_OA 
-L/home/PACKAGES/qt/5.9.1/qt-everywhere-opensource-src-5.9.1/qtbase/lib 
-lQt5MultimediaWinCC_OA -lQt5WidgetsWinCC_OA -lQt5GuiWinCC_OA 
-lQt5NetworkWinCC_OA -lQt5CoreWinCC_OA -lGL -lpthread -lgstaudio-1.0 
-lgstvideo-1.0 -lgstpbutils-1.0 -lgstapp-1.0 -lgstbase-1.0 -lgstreamer-1.0 
-lgobject-2.0 -lpulse-mainloop-glib -lpulse -lglib-2.0 

A couple of questions:
-) -lqgsttools_p as first argument BEFORE any -L<path> would search for it in 
my system dirs, which is wrong.
-) why is -L/usr/lib64 there (should be a std. path, no?)
-) From where the heck comes this path 
"/home/abuild/rpmbuild/BUILD/qtmultimedia-opensource-src-5.9.1/lib" ?
   I don't have a /home/abuild directory on my system.
   This is the ONLY Makefile in the whole Qt tree which contains this path
-) -lQt5MultimediaWidgets and others: why are they used here instead of the 
namespaced/infixed versions, which are also given
   but later in the line ?

I just removed manually all the wrong entries in that line, being now
LIBS          = $(SUBLIBS) -lasound 
-L/home/PACKAGES/qt/5.9.1/qt-everywhere-opensource-src-5.9.1/qtmultimedia/lib 
-lqgsttools_p -lQt5MultimediaWidgetsWinCC_OA 
-L/home/PACKAGES/qt/5.9.1/qt-everywhere-opensource-src-5.9.1/qtbase/lib 
-lQt5MultimediaWinCC_OA -lQt5WidgetsWinCC_OA -lQt5GuiWinCC_OA 
-lQt5NetworkWinCC_OA -lQt5CoreWinCC_OA -lGL -lpthread -lgstaudio-1.0 
-lgstvideo-1.0 -lgstpbutils-1.0 -lgstapp-1.0 -lgstbase-1.0 -lgstreamer-1.0 
-lgobject-2.0 -lpulse-mainloop-glib -lpulse -lglib-2.0 

and with that line it links without errors.

-- 
Best regards/Schöne Grüße

Martin
A: Because it breaks the logical sequence of discussion
Q: Why is top posting bad?

()  ascii ribbon campaign - against html e-mail 
/\                        - against proprietary attachments

Geschenkideen, Accessoires, Seifen, Kulinarisches: www.lillehus.at
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to