Unsolved Qt modules, classes, libraries
-
@SGaist @jsulm thanks for your advice. I managed to resolved some gstreamer dependencies and installed into my host Ubuntu PC. I did a clean qt5.7 sources and rebuild the whole source again, with -gstreamer 1.0 but has the following errors:
(...truncated) /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/arm-hisiv400-linux-g++ -mfloat-abi=softfp -Wl,-O1 -o gstreamer gstreamer.o -L/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/lib/a7_softfp_vfpv4 -lgstaudio-1.0 -lgstvideo-1.0 -lgstbase-1.0 -lgstpbutils-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstaudio-1.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstvideo-1.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstbase-1.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstpbutils-1.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgstreamer-1.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgobject-2.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lglib-2.0 collect2: error: ld returned 1 exit status Makefile:92: recipe for target 'gstreamer' failed make: *** [gstreamer] Error 1 GStreamer 1.0 disabled. checking for GStreamer 0.10... Project ERROR: gstreamer-0.10 development package not found GStreamer 0.10 disabled. GStreamer support cannot be enabled due to functionality tests! Turn on verbose messaging (-v) to ./configure to see the final report. aa@aa:~/qt-everywhere-enterprise-src-5.7.0/qtbase$
Seems that gstreamer 1.0 is not enabled. But it's installed in /usr/include
-
IIRC you can set
GST_VERSION=1.0
before trying to build QtMultimedia. -
@embdev Did the configure script check for GStreamer 1.0?
Maybe you need to tell it to use GStreamer 1.0 instead of 0.10Also: "installed into my host Ubuntu PC" - do you mean you installed it for your target device or for your host Ubuntu? You need GStreamer for the target device, not host Ubuntu.
-
This post is deleted! -
@jsulm @SGaist i'm trying to cross-compile gstreamer using the cross-compiler but met the following errors. I think it's got something to do with glib-2.5. I've also tried to cross-compile glib2.5 but it says that i can't run test while cross-compiling (see below). If there a way to disable the tests in glib while cross-compiling? Can't seem to find the parameter to disable the test though.
I know this probably is not directly related to Qt but would greatly appreciate if anyone could share any experience / comments on the errors.
Thank you!Cross-compiling gstreamer:
(...truncated) /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgobject-2.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lgmodule-2.0 /opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/../lib/gcc/arm-hisiv400-linux-gnueabi/4.8.3/../../../../arm-hisiv400-linux-gnueabi/bin/ld: cannot find -lglib-2.0 collect2: error: ld returned 1 exit status make[4]: *** [libgstreamer-1.0.la] Error 1 Makefile:1010: recipe for target 'libgstreamer-1.0.la' failed make[4]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst' make[3]: *** [all-recursive] Error 1 Makefile:1724: recipe for target 'all-recursive' failed make[3]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst' make[2]: *** [all] Error 2 Makefile:936: recipe for target 'all' failed make[2]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0/gst' make[1]: *** [all-recursive] Error 1 Makefile:769: recipe for target 'all-recursive' failed make[1]: Leaving directory '/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/gstreamer-1.10.0' make: *** [all] Error 2 Makefile:675: recipe for target 'all' failed
Cross-compiling glib-2.5 dependency for gstreamer:
(... truncated) checking for growing stack pointer... configure: error: in `/home/aa/Hi3536_SDK_V2.0.4.0/otherFiles/glib-2.50.0': configure: error: cannot run test program while cross compiling See `config.log' for more details
-
@embdev It's not the kind of test you think. configure builds many small test programs to check availability of needed and optional components. It looks like in this case it wants to execute one of that test programs. Since you're building for a different CPU architecture it is not able to execute this program (you should check config.log file as suggested by the error message). You could try to build glib on your target device. Or check glib documentation to find out how to build it.
-
@jsulm i see. However i'm unable to install my cross-compiler on the target device for some reasons i'm trying to find out - when i try to run a bash script (for installing cross-compiler), i'm returned with an error: -sh: ./cross.v400.install: not found. So for now i can't install cross-compiler on my embedded device yet.
Hence i'm using the default linux kernel is supplied by vendor, that is a very scaled down image (4MB) and trying to cross-compile the rest of the files in my host Ubuntu PC.
Would you forsee any issues / would that be the right approach?
-
@embdev Cross compiler is not meant to be installed on the target device! If you do not have a compiler on your target device then you have to cross compile. What Linux is running on your target device? Is it a known distribution or something special?
-
@jsulm the vendor-supplied Linux kernel is 3.10.y version. A very scaled-down kernel (4MB) w/o GUI. That said, i'd have to cross-compile glib-2.5 in my host PC but i'd then need to resolve the error
configure: error: cannot run test program while cross compiling
.Is there any other alternatives to cross-compile gstreamer successfully? As without cross-compiling gstreamer, I won't be able to configure Qt 5 to play multimedia files.
-
@embdev I actually wanted to know whether it is a Linux distribution like Debian
-
@jsulm I see. I tried the command <lsb -a> but this command is not found to show the Linux info. Is there any other way to find out? I don't think it's debian.
-
@embdev Your vendor should know :-)
What does "uname -a" say? -
@jsulm uname -a gives
Linux (none) 3.10.0_hi3536 #1 SMP Fri Dec 25 18:32:56 HKT 2015 armv7l GNU/Linux