Skip to contentSkip to conversation

Error building Qt5Multimedia

Buildroot Marco Trapanese 3 participants 15 messages Mar 17, 2014 – Mar 20, 2014

lore
Share & tools
lore
#0 lore raw

Hello,
I ran into another error building Qt5:

cp: impossibile eseguire stat di "/home/marco/dev/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libqgsttools*.so.*":
File o directory non esistente

It says it doesn't find libqgsttools*.so.*, I searched in the nconfig (using F8) and using find -name in the package directory without chance.

Which package is required?

Attached the .config file.
Thanks
Marco

-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/xml
Size: 52186 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140317/28960e03/attachment-0001.wsdl>

#1 lore raw

Hi Marco,

Quoted 12 lines · Marco Trapanese

Hello,
I ran into another error building Qt5:

cp: impossibile eseguire stat di "/home/marco/dev/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libqgsttools*.so.*":
File o directory non esistente

It says it doesn't find libqgsttools*.so.*, I searched in the nconfig (using F8) and using find -name in the package directory without chance.

Which package is required?

I created a build with your .config file, and did not have any error. libqgsttools is present in qt5multimedia itself:

output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.prl

Did you do something special in your buildroot directory/repo ? Try starting from a clean environment:
make clean all

Best regards,
Thomas

#2 lore raw

Il 17/03/2014 13:24, Thomas De Schampheleire ha scritto:

Quoted 9 lines

I created a build with your .config file, and did not have any error. libqgsttools is present in qt5multimedia itself:
output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.prl Did you do something special in your buildroot directory/repo ? Try starting from a clean environment: make clean all Best regards, Thomas

Hi Thomas,
I tried to:

1) git clone again buildroot, in order to have a clean environment
2) copy my .config file
3) check it with make nconfig (without change anything)
4) make

It fails in the same way and under output/build/qt5multimedia-5.2.1/lib there are no libqgsttools* files...
I can't understand why it fails only on my pc!

Thanks!
Marco

#3 lore raw

Hi Marco,

Quoted 16 lines · Marco Trapanese

Il 17/03/2014 13:24, Thomas De Schampheleire ha scritto:

Quoted 9 lines

I created a build with your .config file, and did not have any error. libqgsttools is present in qt5multimedia itself:
output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.prl Did you do something special in your buildroot directory/repo ? Try starting from a clean
environment: make clean all Best regards, Thomas

Hi Thomas,
I tried to:

Quoted 9 lines

1) git clone again buildroot, in order to have a clean environment
2) copy my .config file
3) check it with make nconfig (without change anything)
4) make

It fails in the same way and under output/build/qt5multimedia-5.2.1/lib there are no libqgsttools* files...
I can't understand why it fails only on my pc!

I have executed 'make qt5multimedia-dirclean qt5multimedia' now and pasted the output here:
http://code.bulix.org/eei5jl-85857

maybe it can be useful for you to analyze the problem on your machine.

Best regards,
Thomas

#4 lore raw

Hi Thomas,
here my output:

http://pastebin.com/4QkcJ97t

it seems it doesn't find gstreamer:

Checking for openal... no
Checking for alsa... yes
Checking for pulseaudio... no
Checking for gstreamer... no
Checking for resourcepolicy... no

It's strange because it's already built.
What might lead to different behaviors among different machines with the same buildroot clone and .config file?

Best regards
Marco

--

Il 18/03/2014 13:08, Thomas De Schampheleire ha scritto:

Quoted 37 lines

Hi Marco,

Quoted 15 lines · Marco Trapanese

Il 17/03/2014 13:24, Thomas De Schampheleire ha scritto:

Quoted 9 lines

I created a build with your .config file, and did not have any error. libqgsttools is present in qt5multimedia itself:
output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1.0 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so.1 output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.so output/build/qt5multimedia-5.2.1/lib/libqgsttools_p.prl Did you do something special in your buildroot directory/repo ? Try starting from a clean
environment: make clean all Best regards, Thomas

Hi Thomas,
I tried to:

Quoted 9 lines

1) git clone again buildroot, in order to have a clean environment
2) copy my .config file
3) check it with make nconfig (without change anything)
4) make

It fails in the same way and under output/build/qt5multimedia-5.2.1/lib there are no libqgsttools* files...
I can't understand why it fails only on my pc!

I have executed 'make qt5multimedia-dirclean qt5multimedia' now and pasted the output here:
http://code.bulix.org/eei5jl-85857

maybe it can be useful for you to analyze the problem on your machine.

Best regards,
Thomas

#5 lore raw

Il 18/03/2014 14:17, Marco Trapanese ha scritto:

Quoted 2 lines

it seems it doesn't find gstreamer:

I confirm that:

executing config test gstreamer
+ cd /home/marco/dev/buildroot/output/build/qt5multimedia-5.2.1/config.tests/gstreamer && /home/marco/dev/buildroot/output/h$
Project ERROR: gstreamer-0.10 development package not found
test gstreamer FAILED

What's the name of the gstreamer-0.10 development package in buildroot? I can't find anything in nconfig or in the package dir.

Marco

#6 lore raw

Hi Marco,

Quoted 7 lines · Marco Trapanese

Il 18/03/2014 14:17, Marco Trapanese ha scritto:

Quoted 2 lines

it seems it doesn't find gstreamer:

Quoted 9 lines

I confirm that:

executing config test gstreamer
+ cd /home/marco/dev/buildroot/output/build/qt5multimedia-5.2.1/config.tests/gstreamer && /home/marco/dev/buildroot/output/h$
Project ERROR: gstreamer-0.10 development package not found
test gstreamer FAILED

Here is my output for this test:
http://code.bulix.org/tb1xf1-85860

(note: please use the above pastebin; I cannot access pastebin.com from work...)

Quoted 3 lines

What's the name of the gstreamer-0.10 development package in buildroot? I can't find anything in nconfig or in the package dir.

The package is built in output/build/gstreamer-0.10.36 and the .mk file is in package/gstreamer/gstreamer/gstreamer.mk

This package is pulled in by qt5multimedia as follows:

qt5multimedia:
ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE),y)
QT5MULTIMEDIA_DEPENDENCIES += gst-plugins-base
endif

gst-plugins-base:
GST_PLUGINS_BASE_DEPENDENCIES = gstreamer

As your config sets BR2_PACKAGE_GST_PLUGINS_BASE, the gstreamer package should be built.

If it's not the case: how are you building exactly, simply 'make' ?

Best regards,
Thomas

#7 lore raw

Thomas,

Il 18/03/2014 14:50, Thomas De Schampheleire ha scritto:

Quoted 10 lines

The package is built in output/build/gstreamer-0.10.36 and the .mk file is in package/gstreamer/gstreamer/gstreamer.mk

This package is pulled in by qt5multimedia as follows:

qt5multimedia:
ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE),y)
QT5MULTIMEDIA_DEPENDENCIES += gst-plugins-base
endif

Quoted 5 lines

gst-plugins-base:
GST_PLUGINS_BASE_DEPENDENCIES = gstreamer

As your config sets BR2_PACKAGE_GST_PLUGINS_BASE, the gstreamer package should be built.

It seems all correct here. The gstreamer package is built, actually. I don't know if I might check something in details to be sure there were no problems here.

Quoted 1 line

If it's not the case: how are you building exactly, simply 'make' ?

Yes. As said before I just did:

1) git clone git://git.buildroot.net/buildroot
2) cd buildroot
3) cp /path/to/.config .
4) make nconfig, without any changes, F9
5) make

That's it.
Best regards
Marco

#8 lore raw
Quoted 17 lines · Marco Trapanese

Thomas,

Il 18/03/2014 14:50, Thomas De Schampheleire ha scritto:

Quoted 13 lines

The package is built in output/build/gstreamer-0.10.36 and the .mk file is in package/gstreamer/gstreamer/gstreamer.mk

This package is pulled in by qt5multimedia as follows:

qt5multimedia:
ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE),y)
QT5MULTIMEDIA_DEPENDENCIES += gst-plugins-base
endif

gst-plugins-base:
GST_PLUGINS_BASE_DEPENDENCIES = gstreamer

Quoted 7 lines
Quoted 2 lines

As your config sets BR2_PACKAGE_GST_PLUGINS_BASE, the gstreamer package should be built.

It seems all correct here. The gstreamer package is built, actually. I don't know if I might check something in details to be sure there were no problems here.

You can go to output/build/qt5multimedia and try to re-execute the command mentioned in config.log related to the gstreamer test. Maybe you can debug based on that, maybe using 'strace -fo /tmp/out <command>' to check what kind of files it is looking for.

I have no better ideas, sorry...

Best regards,
Thomas

#9 lore raw

Thomas,

Quoted 4 lines

You can go to output/build/qt5multimedia and try to re-execute the command mentioned in config.log related to the gstreamer test. Maybe you can debug based on that, maybe using 'strace -fo /tmp/out <command>' to check what kind of files it is looking for.

I issued:

cd /home/marco/dev/buildroot/output/build/qt5multimedia-5.2.1/config.tests/gstreamer

strace -fo /tmp/out /home/marco/dev/buildroot/output/host/usr/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" /home/marco/dev/buildroot/output/build/qt5multimedia-5.2.1/config.tests/gstreamer Project ERROR: gstreamer-0.10 development package not found

Here the strace output:

http://code.bulix.org/7oi5mj-85862

I'm not so expert to understand what's happening.

Unfortunately this feature is mandatory for my project.

Are we working on the same repo? 2014.05-git-00363-g3749143 Unless buildroot needs something outside it's own directory it's very strange such a behavior.
For you information my host machine is:

Linux devrpi 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 GNU/Linux

Marco

#10 lore raw

Hi Marco,

Quoted 21 lines · Marco Trapanese

Thomas,

Quoted 4 lines

You can go to output/build/qt5multimedia and try to re-execute the command mentioned in config.log related to the gstreamer test. Maybe you can debug based on that, maybe using 'strace -fo /tmp/out <command>' to check what kind of files it is looking for.

I issued:

cd /home/marco/dev/buildroot/output/build/qt5multimedia-5.2.1/config.tests/gstreamer

strace -fo /tmp/out /home/marco/dev/buildroot/output/host/usr/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" /home/marco/dev/buildroot/output/build/qt5multimedia-5.2.1/config.tests/gstreamer

Project ERROR: gstreamer-0.10 development package not found

Quoted 7 lines

Here the strace output:

http://code.bulix.org/7oi5mj-85862

I'm not so expert to understand what's happening.

Unfortunately this feature is mandatory for my project.

The problem is this:

3752 stat64("/usr/local/bin/pkg-config", 0xbf8c2860) = -1 ENOENT (No such file or directory)
3752 stat64("/usr/bin/pkg-config", 0xbf8c2860) = -1 ENOENT (No such file or directory)
3752 stat64("/bin/pkg-config", 0xbf8c2860) = -1 ENOENT (No such file or directory)
3752 stat64("/usr/local/games/pkg-config", 0xbf8c2860) = -1 ENOENT (No such file or directory)
3752 stat64("/usr/games/pkg-config", 0xbf8c2860) = -1 ENOENT (No such file or directory)

3752  write(2, "sh: 1: ", 7)            = 7
3752  write(2, "pkg-config: not found", 21) = 21
3752  write(2, "\n", 1)                 = 1
3752  dup2(10, 2)                       = 2
3752  close(10)                         = 0
3752  exit_group(127)                   = ?
3751  <... waitpid resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 127}], 0) = 3752
3751  rt_sigaction(SIGINT, {SIG_DFL, [], 0}, NULL, 8) = 0
3751  rt_sigaction(SIGQUIT, {SIG_DFL, [], 0}, NULL, 8) = 0
3751  rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
3751  --- SIGCHLD (Child exited) @ 0 (0) ---
3751  write(2, "Project ERROR: gstreamer-0.10 de"..., 60) = 60
3751  exit_group(3)

It tries to find pkg-config, but fails to do so. pkg-config is used in the test to try and find gstreamer.
Normally, pkg-config should come from buildroot itself (output/host/usr/bin/pkg-config) but it seems this is not happening here.

I did the same on my machine, and it seems /usr/bin/pkg-config is used. This is not supposed to happen.
It explains why building the same configuration on different machines gives different results.

This is actually a bug.
Could you try following patch:

$ hg diff
(quoted diff) +0 -0

b/package/qt5/qt5multimedia/qt5multimedia.mk

package/qt5/qt5multimedia/qt5multimedia.mk +1 -1
@@ -25,7 +25,7 @@ QT5MULTIMEDIA_DEPENDENCIES += gst-plugin
 endif
 
 define QT5MULTIMEDIA_CONFIGURE_CMDS
-       (cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+       (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
 endef
 
 define QT5MULTIMEDIA_BUILD_CMDS

and after applying this patch run:
make qt5multimedia-dirclean qt5multimedia

I believe this should fix the problem. The same solution should be applied to the other qt5 packages.
Or maybe someone else thinks the problem should be fixed in a different way. I'm adding some people to this thread so they can shed their light on it...

Best regards,
Thomas

#11 lore raw

Dear Thomas De Schampheleire,

Quoted 7 lines · Thomas De Schampheleire

define QT5MULTIMEDIA_CONFIGURE_CMDS

package/qt5/qt5multimedia/qt5multimedia.mk +1 -1
-       (cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+       (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
 endef
 
 define QT5MULTIMEDIA_BUILD_CMDS
Quoted 7 lines

and after applying this patch run:
make qt5multimedia-dirclean qt5multimedia

I believe this should fix the problem. The same solution should be applied to the other qt5 packages.
Or maybe someone else thinks the problem should be fixed in a different way. I'm adding some people to this thread so they can shed their light on it...

Your change indeed looks good.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#12 lore raw
In reply to Thomas De Schampheleire

Hi Thomas,

Il 18/03/2014 16:53, Thomas De Schampheleire ha scritto:

Quoted 19 lines

This is actually a bug.
Could you try following patch:

$ hg diff
package/qt5/qt5multimedia/qt5multimedia.mk +1 -1
@@ -25,7 +25,7 @@ QT5MULTIMEDIA_DEPENDENCIES += gst-plugin
  endif
 
  define QT5MULTIMEDIA_CONFIGURE_CMDS
-       (cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+       (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
  endef
 
  define QT5MULTIMEDIA_BUILD_CMDS
Quoted 7 lines

and after applying this patch run:
make qt5multimedia-dirclean qt5multimedia

I believe this should fix the problem. The same solution should be applied to the other qt5 packages.
Or maybe someone else thinks the problem should be fixed in a different way. I'm adding some people to this thread so they can shed their light on it...

I confirm it compiled successfully after applying your patch. I haven't tried yet QtMultimedia on the target, but at least there were no errors at compile-time :-)

Thank you for your support!
Marco

#13 lore raw

Il 19/03/2014 06:31, Marco Trapanese ha scritto:

Quoted 3 lines

I confirm it compiled successfully after applying your patch. I haven't tried yet QtMultimedia on the target, but at least there were no errors at compile-time :-)

I'm glad to say it works!

Thank you
Marco

#14 lore raw

Hi Marco,

Quoted 10 lines · Marco Trapanese

Il 19/03/2014 06:31, Marco Trapanese ha scritto:

Quoted 3 lines

I confirm it compiled successfully after applying your patch. I haven't tried yet QtMultimedia on the target, but at least there were no errors at compile-time :-)

I'm glad to say it works!

That's great, thanks for your feedback!
In the mean time I sent patches to the list to fix this issue for all qt packages.

Best regards,
Thomas