[SailfishDevel] mediagallery won't work

christopher.lamb at thurweb.ch christopher.lamb at thurweb.ch
Mon Apr 29 20:20:42 UTC 2013


HI wim

I now have a native Lubuntu 13.04 installation, and once again I don't  
get your error with the mediagallery out-of-the-box. But with a little  
bit of sabotage, I have managed to do so, as you will see below.

The installation I did on Sunday morning (in a VM) started as a 10.04,  
and was gradually upgraded to 13.04 (and I also had a brief struggle  
with VirtualBox, but an errorbox told me which script to run to fix it).

Looking more closely at your error:

file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0:

This is the "entry" qml for the project. (Think "main" in the world of  
c++) It is the one called by the mediagallery.cpp, and serves as the  
gateway to the rest of the qmls.

Normally a qml error is followed by a line number which points to the  
line in he file causing the error. In this case we have 0:0.

Can you open this file in QtCreator? You should find in the Projects  
view under mediagallery/QML/mediagallery.qml

If I empty the contents of this file (having completely removed any  
trace of it from the Emulator, then I too get:

file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0: Expected  
token `numeric literal'
file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0: Expected a  
qualified name id

So I suspect something is wrong with your copy of mediagallery.qml. It  
is probably either empty as in my "crime reconstruction", or otherwise  
corrupt / unreadable.

The content of mine (minus the standard copyright header for brevity here is

   import QtQuick 1.1
    import Sailfish.Silica 1.0
    import "pages"

    ApplicationWindow
    {
       id: window
        initialPage: PreviewGrid { }
        cover: Qt.resolvedUrl("cover/CoverPage.qml")
    }

I suggest you replace the contents of yours with mine. I have also  
attached the original mediagallery.qm below.

I hope this helps ..

Chris




Display on requested
Qml debugging is enabled. Only use this in a safe environment!
Using the meego graphics system
libEGL warning: DRI2: failed to authenticate
Warning: specifying an object instance for initialPage is sub-optimal  
- prefer to use a Component
loaded the Generic plugin
Loaded the MeeGo sensor plugin
Requested sensor id ' "orientationsensor" ' interface not granted
Requested sensor id ' "orientationsensor" ' interface not granted
hijackWindow() context created for QDeclarativeView(0x6fc31358) 1
QGLWindowSurface: Using plain widget as window surface  
QGLWindowSurface(0x6ff73c80)
Successfully resolved MeeGo graphics system:  
/usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so


Zitat von "Wim de Vries" <wsvries at xs4all.nl>:

> Hi Chris,
> Thanks for the help.
> I had some delay caused by the upgrade from Ubuntu 12.10 to 13.4,  
> which screwed up the vbox set up (again).
> I folowed your instrctions and the "org.nemomobile.thumbnailer 1.0"  
> problem was solved.
> The app only shows a black tile or broken tile. Need several ctrl-h  
> 's to get screen back.
>
> The output is:
>
>
> Display on requested
>
> Qml debugging is enabled. Only use this in a safe environment!
>
> Using the meego graphics system
>
> libEGL warning: DRI2: failed to authenticate
>
> file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0: Expected  
> token `numeric literal'
>
> file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0: Expected a  
> qualified name id
>
> hijackWindow() context created for QDeclarativeView(0x711a9cf0) 1
>
> QGLWindowSurface: Using plain widget as window surface  
> QGLWindowSurface(0x712aa878)
>
> XISlaveSwitch
>
> XISlaveSwitch
>
> Meego graphics system destroyed
>
> ..
>
> Using the meego graphics system
>
> libEGL warning: DRI2: failed to authenticate
>
> hijackWindow() context created for QDeclarativeView(0x711a9cf0) 1
>
> QGLWindowSurface: Using plain widget as window surface  
> QGLWindowSurface(0x7145eab8)
>
> XISlaveSwitch
>
> XISlaveSwitch
>
> Using the meego graphics system
>
> libEGL warning: DRI2: failed to authenticate
>
> hijackWindow() context created for QDeclarativeView(0x711a9cf0) 1
>
> QGLWindowSurface: Using plain widget as window surface  
> QGLWindowSurface(0x711aa158)
>
> XISlaveSwitch..
>
>
>
>
> On 04/28/2013 07:48 PM, christopher.lamb at thurweb.ch wrote:
>> Hi Wim
>>
>> Do you still get your original error that you posted at the start  
>> of this thread?
>>
>>
>>   file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0: Expected  
>> token `numeric literal'
>>
>>   file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0: Expected  
>> a qualified name id
>>
>>
>> I assume from earlier posts that this was on Ubuntu (version not  
>> specified), but as always assumptions are dangerous ...
>>
>> In the meantime I have been able to build and run (Debug / Copy  
>> Files to Device) (and thus failed to replicate your error) on OSX,  
>> Windows 7, and Lubuntu 13.04
>>
>> Grüsse
>>
>> Chris
>>
>>
>> Zitat von christopher.lamb at thurweb.ch:
>>
>>> Wim
>>>
>>> A minor correction to my text below:
>>>
>>> 3) Open the project via the src.pro file and setup the project via  
>>> the thumbnailer.pro (not the src.pro as stated below).
>>>
>>> Chris
>>>
>>> Zitat von christopher.lamb at thurweb.ch:
>>>
>>>> Hi Wim
>>>>
>>>> Here is how to do it (the hard way):
>>>>
>>>> 1) In QtCreator/Sailfish/Manage Targets install the package  
>>>> gst-plugins-base-devel.
>>>> This will also add the package gstreamer-devel
>>>>
>>>> (These dependencies are mentioned in the src.pro file).
>>>>
>>>> 2) Download and unzip the sources from  
>>>> https://github.com/nemomobile/nemo-qml-plugin-thumbnailer
>>>>
>>>> 3) Open the project via the src.pro file and setup the project
>>>>
>>>> 4) Hit the green Run button (fingers in ears at this point).
>>>>
>>>> 5) If you get an error like ":-1: error: Failed to upload file  
>>>> '/Users/christopherlamb/SailfishProjects/nemo-qml-plugin-thumbnailer-master/src/libnemothumbnailer.so'." don't panic, we can work around  
>>>> that.
>>>>
>>>> 6) In your equivalent of  
>>>> /Users/christopherlamb/SailfishOS/mersdk/targets/SailfishOS-i486-x86/usr/lib/qt4/imports
>>>> add the subdirectories org/nemomobile/thumbnailer
>>>>
>>>> 7) In your project directory (under src) you will find a  
>>>> libnemothumbnailer.so
>>>> library and a qmldir file
>>>>
>>>> Copy these into your n your equivalent of  
>>>> /Users/christopherlamb/SailfishOS/mersdk/targets/SailfishOS-i486-x86/usr/lib/qt4/imports/org/nemomobile/thumbnailer
>>>>
>>>> 8) Now in your MediaGallery / PreviwGrid.qml the import import  
>>>> org.nemomobile.thumbnailer 1.0 should no longer be underlined in  
>>>> red. (If it is try Tools/QML JS/Reset Code Model)
>>>>
>>>> This is of course the "brew your own" route. Maybe the  
>>>> Thumbnailer Package can be directly installed.
>>>>
>>>>
>>>> I hope this helps
>>>>
>>>> Chris
>>>>
>>>>
>>>>
>>>> Zitat von christopher.lamb at thurweb.ch:
>>>>
>>>>> Hi Wim
>>>>>
>>>>> I can confirm that on OSX I am also missing the plugin /  
>>>>> components package org.nemomobile.thumbnailer, as shown by the  
>>>>> red line in QtCreator under the import statement.
>>>>>
>>>>> The error means that in your equivalent of:
>>>>>
>>>>> /Users/christopherlamb/SailfishOS/mersdk/targets/SailfishOS-i486-x86/usr/lib/qt4/imports there should be a subdirectory org/nemomobile/thumbnailer containing the qmls and lib files for this  
>>>>> plugin.
>>>>>
>>>>> There probably is an easy way to install this (e.g. via  
>>>>> QtCreator/Sailfish/Manage Targets), but I have not found it.
>>>>>
>>>>>
>>>>> In the meantime you can find the sources here ( I downloaded the zip)
>>>>>
>>>>> https://github.com/nemomobile/nemo-qml-plugin-thumbnailer
>>>>>
>>>>> Assuming these compile, then it should be possible to scp  
>>>>> (secure copy) the results into the directory structure above. I  
>>>>> will give this a go later this evening, and let you know how /  
>>>>> if it works. (This is how I have installed my own custom plugin).
>>>>>
>>>>> b.t.w I have been trying to get Sailfish up and running on  
>>>>> Lubuntu / Ubuntu to see if I can replicate your original error,  
>>>>> but am having problems with the Emulator which I will post in  
>>>>> the next few minutes in a separate thread ...
>>>>>
>>>>> Chris
>>>>>
>>>>>
>>>>>
>>>>> Zitat von "Wim de Vries" <wsvries at xs4all.nl>:
>>>>>
>>>>>> Thanks for the reply.
>>>>>> QtMobility.gallery 1.1 is imported indeed.
>>>>>>
>>>>>> But it seems that org.nemomobile.thumbnailer is missing.
>>>>>> It is not in the mediagallery example set.
>>>>>> I am not very knowledgeble on QML.
>>>>>> Any hint how to get/install this?
>>>>>> Thanks.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 04/24/2013 05:28 PM, christopher.lamb at thurweb.ch wrote:
>>>>>>> Hi Wim
>>>>>>>
>>>>>>> I have just done a quick test on Apple-pip my OSX host.
>>>>>>>
>>>>>>> In my case the application opens successfully: I get pretty  
>>>>>>> pictures on the SailfishOS Emulator.
>>>>>>>
>>>>>>> My output is the following:
>>>>>>>
>>>>>>> Display on requested
>>>>>>> Qml debugging is enabled. Only use this in a safe environment!
>>>>>>> Using the meego graphics system
>>>>>>> libEGL warning: DRI2: failed to authenticate
>>>>>>> Warning: specifying an object instance for initialPage is  
>>>>>>> sub-optimal - prefer to use a Component
>>>>>>> loaded the Generic plugin
>>>>>>> Loaded the MeeGo sensor plugin
>>>>>>> Requested sensor id ' "orientationsensor" ' interface not granted
>>>>>>> Requested sensor id ' "orientationsensor" ' interface not granted
>>>>>>> hijackWindow() context created for QDeclarativeView(0x70dd3108) 1
>>>>>>> QGLWindowSurface: Using plain widget as window surface  
>>>>>>> QGLWindowSurface(0x711193c8)
>>>>>>> Successfully resolved MeeGo graphics system:  
>>>>>>> /usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so
>>>>>>>
>>>>>>> XISlaveSwitch
>>>>>>>
>>>>>>>
>>>>>>> Do you have the QtMultimediaKit installed? The PreviewGrid.qml  
>>>>>>> imports it
>>>>>>> import QtMobility.gallery 1.1
>>>>>>>
>>>>>>> See one of my earlier threads on the issue of installing  
>>>>>>> QtMultimedia / Mobility
>>>>>>>
>>>>>>> Ciao
>>>>>>>
>>>>>>> Chris
>>>>>>>
>>>>>>> Zitat von "Wim de Vries" <wsvries at xs4all.nl>:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>> I am trying the mediagallery example (run).
>>>>>>>> No build errors, but the Sailfish VM turns to black (CTRL H  
>>>>>>>> won't help) and I get this message:
>>>>>>>>
>>>>>>>> Display on requested
>>>>>>>>
>>>>>>>> Using the meego graphics system
>>>>>>>>
>>>>>>>> libEGL warning: DRI2: failed to authenticate
>>>>>>>>
>>>>>>>> file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0:  
>>>>>>>> Expected token `numeric literal'
>>>>>>>>
>>>>>>>> file:///opt/sdk/share/mediagallery/mediagallery.qml:0:0:  
>>>>>>>> Expected a qualified name id
>>>>>>>>
>>>>>>>> hijackWindow() context created for QDeclarativeView(0x71326128) 1
>>>>>>>>
>>>>>>>> QGLWindowSurface: Using plain widget as window surface  
>>>>>>>> QGLWindowSurface(0x7141e488)
>>>>>>>>
>>>>>>>> XISlaveSwitch
>>>>>>>>
>>>>>>>> XISlaveSwitch
>>>>>>>>
>>>>>>>> XISlaveSwitch
>>>>>>>>
>>>>>>>> XISlaveSwitch
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> SailfishOS.org Devel mailing list
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> SailfishOS.org Devel mailing list
>>>>
>>>
>>>
>>> _______________________________________________
>>> SailfishOS.org Devel mailing list
>>>
>>
>>
>>
>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mediagallery.qml
Type: text/x-qml
Size: 1755 bytes
Desc: not available
URL: <http://lists.sailfishos.org/pipermail/devel/attachments/20130429/64f29c6a/attachment.bin>


More information about the Devel mailing list