Pandora Problem compiling to PND (Twitter Client) ! Help!


Just tried the modifications proposed by Caine - did not change the problem.


I guess there must be either something wrong in my PXML file, or with the way I package the PND.


I use the command ./pnd_make.sh -d (directory) -i (my icon file) -p (my pnd name) and it produces the PND without particular errors...


Or should I also make sure my PND is chmod +x in the end?
 
Last edited by a moderator:
PND are not executable, so no +x needed.


You might want to use -c argument to pnd_make.sh so it will produce a compressed PND (but that's not your issue either).


pnd_make -c -p $PND_TARGETDIR/$NAME.pnd -d $PND_BASEDIR/$NAME -i $PND_BASEDIR/$NAME/icon.png -x $PND_BASEDIR/$NAME/PXML.xml


is the command used by pndmakeauto (included in yactfeau). So it seams like your not providing the pxml, but the script doesnt fail. weird.
 
Ok I tried many things:


- reduced the size of the icon to a very small size -> no effect


- included a readme.html file (wasnt there before) -> no effect


- made the PND executable -> no effect


- made main.py executable -> maybe it works for launching the PND later on, but it does not make the PND appear in the list of programs.


I am going to sleep now (late where I am now) but if you have any new ideas in the meantime please let me know. I do not know what to try next.

PND are not executable, so no +x needed.


You might want to use -c argument to pnd_make.sh so it will produce a compressed PND (but that's not your issue either).


pnd_make -c -p $PND_TARGETDIR/$NAME.pnd -d $PND_BASEDIR/$NAME -i $PND_BASEDIR/$NAME/icon.png -x $PND_BASEDIR/$NAME/PXML.xml


is the command used by pndmakeauto (included in yactfeau). So it seams like your not providing the pxml, but the script doesnt fail. weird.

the script finds the xml in the folder of where the executables are, and uses it. but let me try giving the XML directly as an argument. Maybe it will help.


This is the message I get after PND compilation, by the way:

Checking if all required variables were set.
PNDNAME set to 'PTC5.pnd'.


FOLDER set to 'PANDORA/pyTwitterClient'.


PXML set to 'PANDORA/pyTwitterClient/PXML.xml'.


ICON set to 'PANDORA/pyTwitterClient/twitters.png'.


Trying to validate 'PANDORA/pyTwitterClient/PXML.xml' now. Will be using './PXML_schema.xsd' to do so.


WARNING: Could not find './PXML_schema.xsd'. If you want to validate your


PXML file please make sure to provide a schema using the --schema option.


WARNING: Could not successfully validate 'PANDORA/pyTwitterClient/PXML.xml'. Please check the output


above. This does not mean that your pnd will be broken. Either you are not following the strict


syntax required for validation or you don't have all files/programs required for validating.


Creating an iso file based on 'PANDORA/pyTwitterClient'.


I: -input-charset not specified, using utf-8 (detected in locale settings)


Using TEST_000.PY;1 for PANDORA/pyTwitterClient/simplejson/tests/test_pass2.py (test_pass1.py)


Using TEST_001.PY;1 for PANDORA/pyTwitterClient/simplejson/tests/test_pass1.py (test_pass3.py)


Using TEST_002.PY;1 for PANDORA/pyTwitterClient/simplejson/tests/test_encode_for_html.py (test_encode_basestring_ascii.py)


Using TEST_003.PY;1 for PANDORA/pyTwitterClient/simplejson/tests/test_decode.py (test_decimal.py)


Total translation table size: 0


Total rockridge attributes bytes: 11720


Total directory bytes: 33518


Path table size(bytes): 204


Max brk space used 22000


761 extents written (1 MB)

Is the warning regarding validation important?
 
Last edited by a moderator:
Did you try to restart or remount the card after copying the pnd to it?
 
Just to rule out a silly oversight. Did you remember to copy the PND file to /media/<sd-card>/pandora/menu or one of its equivalents?
 
Did you try to restart or remount the card after copying the pnd to it?
Did you try to restart or remount the card after copying the pnd to it?

Yes. Reboot everytime to ensure a clean start.

Just to rule out a silly oversight. Did you remember to copy the PND file to /media/<sd-card>/pandora/menu or one of its equivalents?

Yes. in the "apps" folder, which is where most of my programs are.
 
To make the PXML from post #5 work, you have to:

  • remove dots in package id and application id (in my test I replaced them with underscores)
  • remove both empty description tags (the German ones)
  • change subcategory to a valid subcategory (in my test I used InstantMessaging)
  • remove associations tags


Is the warning regarding validation important?
If you validated the PXML, it would show you most of the errors.
 
To make the PXML from post #5 work, you have to:

  • remove dots in package id and application id (in my test I replaced them with underscores)
  • remove both empty description tags (the German ones)
  • change subcategory to a valid subcategory (in my test I used InstantMessaging)
  • remove associations tags


Is the warning regarding validation important?
If you validated the PXML, it would show you most of the errors.

Thanks a lot for the suggestions. will try again now!
 
Still no luck with the above modifications suggested. M-HT, did you managed to get a PND to show up using the modified PXML file you mentioned ? (since you said "in your test")
 
Still no luck with the above modifications suggested. M-HT, did you managed to get a PND to show up using the modified PXML file you mentioned ? (since you said "in your test")

Yes, I used the following PXML file and the PND showed up in the Network submenu.



Code:
<?xml version="1.0" encoding="UTF-8"?>

<!-- This is a sample PXML.xml file making use of many different things.-->

<PXML xmlns="http://openpandora.org/namespaces/PXML">

  <package id="pytwitterclient_hunziker_ekianjo_1_0_0">

    <version major="1" minor="0" release="1" build="1" type="alpha"/>

    <author name="ekianjo" website="http://www.openpandora.org"/>

    <titles>

		  <title lang="en_US">PyTwitterClient</title>

		  <title lang="de_DE">PyTwitterClient</title>

    </titles>

    <descriptions>

		  <description lang="en_US">This is twitter client (in python) originally written by Manuel Hunziker (available on github). Icon by Arrioch (Creative Commons License).</description>

    </descriptions>

    <icon src="Twitter.png"/>

  </package>

  <application id="pytwitterclient_hunziker_ekianjo_1_0_0" appdata="pytwitterclient">

    <exec background="true" standalone="true" command="python main.py"/>

    <version major="1" minor="1" release="1" build="1" type="release"/> <!--This program's version-->

    <osversion major="1" minor="0" release="0" build="0"/> <!--The minimum OS version required-->

    <author name="Ekianjo" website="http://www.openpandora.org"/> <!--Optional email and website, name required-->

    <titles>

		  <title lang="en_US">PyTwitterClient</title>

		  <title lang="de_DE">PyTwitterClient</title>

    </titles>

    <title lang="en_US">PyTwitterClient</title> <!--Extra <title> block for compatibility with OS versions before HF6-->

    <descriptions>

		  <description lang="en_US">This is twitter client (in python) originally written by Manuel Hunziker (available on github). Icon by Arrioch (Creative Commons License).</description>

    </descriptions>

    <description lang="en_US">This is twitter client (in python) originally written by Manuel Hunziker (available on github). Icon by Arrioch (Creative Commons License).</description> <!--Extra <description> block for compatibility with OS versions before HF6-->

    <icon src="Twitter.png"/>

    <licenses>

		  <license name="GPLv2+" url="http://www.gnu.org/licenses/gpl-2.0.html" sourcecodeurl="http://openpandora.org/sources/package.tar.bz2"/><!--Optional url and sourcecodeurl, mandatory name-->

    </licenses>

    <previewpics>

		  <pic src="./preview/pic1.jpg"/>

		  <pic src="./preview/pic2.jpg"/>

    </previewpics>

    <info name="Readme" type="text/html" src="readme.html"/>

    <!--the categories has to conform to the FDO categories, those will be enforced by the schema and libpnd!-->

    <categories>

		  <category name="Network"><!--Main category: a category like "Game", "Graphics", "Network", etc-->

		    <subcategory name="InstantMessaging"/><!--Subcategory 1: a subcategory, like "BoardGame", "StrategyGame", "ActionGame"-->

		  </category>

    </categories>

    <clockspeed frequency="600"/><!--Frequency in Hz-->

  </application>

</PXML>
 
Yeah !! This works now. Thanks a lot, while I don't really understand why the changes you made were enough to validate the PND... this means the PND documentation on the wiki is incomplete, I guess.
 
Like I said before, validating the PXML against PXML_schema.xsd would show you most errors.


The only exception are the dots in package id and application id. They are allowed in the specification, but don't work on reality. Sometime dots also don't work when they are part of the PND file name.
 
Last edited by a moderator:
I have a feeling it was probably your category and sub category that made it fail as they can't be made up they have to be part of the free desktop standards.
 
SubCategory is recommended but not mandatory. It only serves a purpose in a few categories on the pandora, but it makes sorting on the repo a lot easier.
 
Thanks for the answer slaeshjag!


By the way is there anyone to try out my PND ? I'd like to know if it works. I have put it in the Beta section but I havent received any feedback yet.
 
Back
Top