Enable Gstreamer in Qt5 configuration
-
Are you doing an out of source build ?
-
I'm doing in qt-everywhere-opensource where I run command configuration.
It got error result, but when I try this command in qtbase it run successfully.
I run configuration again and nothing change.
Gstreamer is not enabled, and no information about it >"< -
If you are using a source package I would say, delete your current sources and start from new.
Also, use the shadow build possibility, this way you can play with the configuration without cluttering your sources
-
Dear SGalst,
Thanks for a lot of support you give to me.
Do you mean that I should delete the current qt-everywhere-opensource...
uncompress file and configuration again ?
I will try it .
I have one more question.
In my Qt configuration information, GLIB is disable,
If I want to enable Gstreamer, I need to enable GLIB, is it right ? or they don't have any relation ?Again, thank you so much!
-
Yes, that's what I mean.
Disabled or not detected ?
-
Dear SGalst,
About Glib, when i run configuration, this information is displayed.
@
Glib auto-detection... ()
...
lib/arm-linux-gnueabi/librt.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [glib] Error 1
Glib disabled.
@And in configuration table
@
...
Glib support ........... no
GStreamer support ...... no
PulseAudio support ..... no
Large File support ..... yes
GIF support ............ plugin
JPEG support ........... plugin (system)
PNG support ............ yes (qt)
...
@ -
Are you cross-compiling Qt ?
-
That's the kind of detail you should have mention earlier...
First thing, did you install a cross-compiling environment ? Did you pass the correct parameters to configure to enable cross-compilation ? Did you get the cross-compiled version of the dependencies you need ?
-
Dear SGalt,
Sorry about mention cross-compiling lately.
The cross-compiling is installed in my system, it is linaro-arm-linux-
About parameters to configure, I think Qt can autodetect Gstreamer so I don't pass any option for Gstreamer in command.
When configuration, nomally it will display information why option is disable, which errors occurs... so I can fix errors and option is enable . With Gstreamer, nothing to display, it makes me confusion.
Thank for your support. -
You're configuration process fails while testing glib, do you have it for ARM ? Also can you post your complete configure command ?
-
Dear SGalt,
I have just installed glib2.0, libglib2.0, libglib2.0-dev, libqtglib2.0 before.
@
../gcc-linaro-arm-linux-gnueabi-2012.03-20120326_linux/bin/arm-linux-gnueabi-g++ --sysroot=[TARGET_ROOTFS] -o glib glib.o -L[TARGET_ROOTFS]/usr/lib -L[TARGET_ROOTFS]/usr/lib/arm-linux-gnueabi -L[TARGET_ROOTFS/lib/arm-linux-gnueabi -lpthread -ldl -lGLESv2 -lEGL -lIMGegl -lsrv_um -lgmodule-2.0 -lgobject-2.0 -lffi -ldbus-1 -lpcre --sysroot=[TARGET_ROOTFS] -pthread -lgthread-2.0 -lrt -lglib-2.0/arm-linux-gnueabi/bin/ld: note: 'clock_gettime@@GLIBC_2.4' is defined in DSO ../lib/arm-linux-gnueabi/librt.so.1 so try adding it to the linker command line
/lib/arm-linux-gnueabi/librt.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [glib] Error 1
Glib disabled.
@
librt.so.1 exist in /lib/arm-linux-gnueabi
I try to search solution in Google and many answer is add " -lrt" but you can see that it exist in my command.This is my complete configure command
@
./configure -confirm-license -opensource -v -arch arm -device linux-xxx-g++ -prefix /opt/share/qt5 -device-option CROSS_COMPILE=/home/gcc-linaro-arm-linux-gnueabi-2012.03-20120326_linux/bin/arm-linux-gnueabi- -sysroot /home/rootfs_br -debug -continue -opengl es2 -pkg-config -dbus -icu
@Note : linux-xxx-g++ exist in qt-everywhere.../qtbase/mkspecs/devices/
-
Since you are cross-compiling, you also need to either get the ARM version of these libraries or cross-compile them.
-
Where did you install them ?
-
Then how can the configure script find the libraries ?
One way to do that is to copy the libraries and headers from your target rootfs in your toolchain directories
-
Hello, I know this thread is quite old but I'm running into the same issues. I mounted the target's rootfs in a local folder and I set the sysroot parameter to that path.
In that folder there is the complete arm filesystem with these packages installed:
@
libgstreamer0.10-dev
libgstreamer-plugins-base0.10-dev
gstreamer-tools
gstreamer0.10-plugins-bad
gstreamer0.10-plugins-good
gstreamer0.10-plugins-ugly
libglib2.0-dev
libglib2.0-0
libqtglib-2.0-0
@Here the configure command:
@
./configure -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/dev/rpi/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-relocations -reduce-exports -release -developer-build -make libs -prefix /usr/local/qt5pi -no-pch -nomake examples -nomake tests -silent
@Anyway both GLib and GStreamer supports are disabled. Here the related errors:
@
Glib auto-detection... ()
compiling glib.cpp
glib.cpp: In function ‘int main(int, char**)’:
glib.cpp:48:19: warning: variable ‘context’ set but not used [-Wunused-but-set-variable]
glib.cpp:55:38: warning: ‘pollfd’ is used uninitialized in this function [-Wuninitialized]
linking glib
/home/femtotech/dev/rpi/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: /mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf/libglib-2.0.a(gmain.o): undefined reference to symbol 'clock_gettime@@GLIBC_2.4'
/home/femtotech/dev/rpi/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/bin/ld: note: 'clock_gettime@@GLIBC_2.4' is defined in DSO /mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf/librt.so.1 so try adding it to the linker command line
/mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf/librt.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make: *** [glib] Error 1
Glib disabled.
@But the /mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf/librt.so.1 is there, actually.
Any ideas?