Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Phonon Plugin: Cound not load phonon backend plugin (undefined symbol: ffi_type_uint32)

    Mobile and Embedded
    2
    17
    6963
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TRudolph last edited by

      Hey,

      I ve compield Qt for embedded with -glib -phonon -phonon-backend. My intention was to test the functionality with a small video application. But it dosn't work. With QT_DEBUG_PLUGINS it shows that there are maybe some problems with libffi - undefined symbol: Cannot load library ffi_type_uint32

      @QLibraryPrivate::loadPlugin failed on [...]/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so" : "Cannot load library /mnt/usb/D21/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: ([...]/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: undefined symbol: ffi_type_uint32)"
      WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded@

      For the phonon-plugin I crosscompiled:

      • zlib.1.2.6
      • libxml2-2.9.1
      • liboil-0.3.17
      • libffi-3.3.11
      • glib-2.37.5
      • check-0.9.10
      • gstreamer-0.10.36
      • gst-plugin-base-0.10.36

      I also changed ther libffi version but with no better result.

      The links of the libphonon_gstreamer.so (ldd) seems to be fine.

      It would be gread if someone has an idee.
      Thank you

      1 Reply Last reply Reply Quote 0
      • T
        TRudolph last edited by

        Hey does anyone has any idea or hint?
        I don't know what I could do...

        Thanks again
        TRudolph

        1 Reply Last reply Reply Quote 0
        • SGaist
          SGaist Lifetime Qt Champion last edited by

          Hi,

          Did you check that your target has the same library version as the one you cross-compiled ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply Reply Quote 0
          • T
            TRudolph last edited by

            Hey, thank you,

            But sadly, I'm pretty sure they are the same library versions - cross compiled and on target.

            Tanks and Regards
            TRudolph

            1 Reply Last reply Reply Quote 0
            • SGaist
              SGaist Lifetime Qt Champion last edited by

              You can try replacing the one on the target with the one you used to cross-compile Qt

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply Reply Quote 0
              • T
                TRudolph last edited by

                Sorry for answering late, I had an exam yesterday....

                But sadly that didn't solved it. After following your advice ( same error), I also compiled Qt and my project agiain, copied librarys and Qt on my target, but that doesn't solved my problem either.

                Thanks again

                1 Reply Last reply Reply Quote 0
                • T
                  TRudolph last edited by

                  For the crosscompilation of gstreamer/phonon I compield the libs I mention in the first post (zlib, gstreamer etc) in the folder /opt/phonon/
                  I also copied this folder to my target. But if i delete that folder the same error appears.

                  Do I need that folder on my target? (I think so)

                  If so the error could be a wrong linking between the plugin and the gstream/phonon libs.
                  Any idea how to fix that or how to analyse the linking?

                  Thanks and regards
                  TRudolph

                  1 Reply Last reply Reply Quote 0
                  • T
                    TRudolph last edited by

                    sorry for the soliloquy.
                    If I execute the plugin manual ./libphonon_gstreamer.so: Segmentation fault
                    That shouldn't be right or?

                    Thanks and regards
                    TRudolph
                    .

                    1 Reply Last reply Reply Quote 0
                    • SGaist
                      SGaist Lifetime Qt Champion last edited by

                      Run ldd on your target on all your Qt libs/applications to see if there's something unusual

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply Reply Quote 0
                      • T
                        TRudolph last edited by

                        everything seems fine - nothing is unusual.
                        Question, is the plugin (libphonon_gstreamer.so) executable? is the error Segmentation fault normal when I try to run the plugin ?

                        Thanks again
                        TRudolph

                        1 Reply Last reply Reply Quote 0
                        • SGaist
                          SGaist Lifetime Qt Champion last edited by

                          A plugin is a library not an executable

                          What does ldd return on your target ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply Reply Quote 0
                          • T
                            TRudolph last edited by

                            ok thank you.

                            To get an better overview I changed some directory, the error says now: @QLibraryPrivate::loadPlugin failed on "/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so" : "Cannot load library /usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so:@

                            ldd example program
                            @ libphonon.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libphonon.so.4 (0x40029000)
                            libQtGui.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtGui.so.4 (0x40078000)
                            libQtNetwork.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtNetwork.so.4 (0x409c2000)
                            libQtCore.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtCore.so.4 (0x40ab8000)
                            libpthread.so.0 => /lib/libpthread.so.0 (0x40e0d000)
                            libstdc++.so.6 => /lib/libstdc++.so.6 (0x40e2e000)
                            libm.so.6 => /lib/libm.so.6 (0x40f00000)
                            libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40fa3000)
                            libc.so.6 => /lib/libc.so.6 (0x40fcc000)
                            libdl.so.2 => /lib/libdl.so.2 (0x41109000)
                            librt.so.1 => /lib/librt.so.1 (0x41116000)
                            /lib/ld-linux.so.3 (0x40000000)@

                            ldd libphonon.so.4
                            @ libQtGui.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtGui.so.4 (0x40050000)
                            libQtNetwork.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtNetwork.so.4 (0x4099a000)
                            libQtCore.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtCore.so.4 (0x40a90000)
                            libpthread.so.0 => /lib/libpthread.so.0 (0x40de6000)
                            libstdc++.so.6 => /lib/libstdc++.so.6 (0x40e07000)
                            libm.so.6 => /lib/libm.so.6 (0x40eda000)
                            libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40f7d000)
                            libc.so.6 => /lib/libc.so.6 (0x40fa6000)
                            libdl.so.2 => /lib/libdl.so.2 (0x410e3000)
                            librt.so.1 => /lib/librt.so.1 (0x410f0000)
                            /lib/ld-linux.so.3 (0x2a000000)@

                            The other Qt libs are similar
                            Plugin:
                            ldd libphonon_gstreamer.so
                            @ libphonon.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libphonon.so.4 (0x4036c000)
                            libQtGui.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtGui.so.4 (0x403bb000)
                            libQtNetwork.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtNetwork.so.4 (0x40d05000)
                            libQtCore.so.4 => /usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib/libQtCore.so.4 (0x40dfb000)
                            libpthread.so.0 => /lib/libpthread.so.0 (0x41151000)
                            libstdc++.so.6 => /lib/libstdc++.so.6 (0x41173000)
                            libm.so.6 => /lib/libm.so.6 (0x41245000)
                            libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x412e8000)
                            libc.so.6 => /lib/libc.so.6 (0x41311000)
                            libdl.so.2 => /lib/libdl.so.2 (0x4144e000)
                            librt.so.1 => /lib/librt.so.1 (0x4145c000)
                            /lib/ld-linux.so.3 (0x2a000000)@

                            Sorry for the long answer,
                            Thanks and Regards
                            TRudolph

                            1 Reply Last reply Reply Quote 0
                            • SGaist
                              SGaist Lifetime Qt Champion last edited by

                              No problem, that's what I asked you :)

                              Looks like all libraries can be found, can you run your application with the QT_DEBUG_PLUGINS environment variable set to 1 ?

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply Reply Quote 0
                              • T
                                TRudolph last edited by

                                The error I posted is already with the enviroment variable set to 1. The hole errors are below . But they are all the same.
                                phon is the name of my program.

                                @# export QT_DEBUG_PLUGINS=1
                                QLibraryPrivate::loadPlugin failed on "/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so" : "Cannot load library /usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: (/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: undefined symbol: ffi_type_uint32)"
                                WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
                                QLibraryPrivate::loadPlugin failed on "/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so" : "Cannot load library /usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: (/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: undefined symbol: ffi_type_uint32)"
                                WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
                                QLibraryPrivate::loadPlugin failed on "/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so" : "Cannot load library /usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: (/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: undefined symbol: ffi_type_uint32)"
                                WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
                                WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::VideoWidget ( VideoWidget ).
                                QLibraryPrivate::loadPlugin failed on "/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so" : "Cannot load library /usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: (/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/libphonon_gstreamer.so: undefined symbol: ffi_type_uint32)"
                                WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
                                @

                                Thanks !!

                                TRudolph

                                1 Reply Last reply Reply Quote 0
                                • SGaist
                                  SGaist Lifetime Qt Champion last edited by

                                  Strange, let's take it the other way around: use your target's original libffi to cross-compile Qt with

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    TRudolph last edited by

                                    i tried a lot of diffrents libs... but nothing became any better :(

                                    After that I changed the cross compiler, the porgram abort with Segmentation error , the fist time phonon is needed ... don't know if that is any better.
                                    I think that the phonon plugin is loaded but can not be executed?

                                    ( During the anyoing testing of different libs, I tried to run the movie example of the qt creator on my target ( no Phonon is needed). But sadly after the gif file is loaded there is a segmentation error, then the movie should start as well. Probably not related with the prolem above.....)

                                    Thanks and Regards
                                    TRudolph

                                    1 Reply Last reply Reply Quote 0
                                    • SGaist
                                      SGaist Lifetime Qt Champion last edited by

                                      Segfault ? Did you run your program with the debugger to see where it's crashing ?

                                      Interested in AI ? www.idiap.ch
                                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post