Compilation Errors
ErikPshat opened this issue · comments
hello @ErikPshat 👋
You need to update sysutil.h
from your PSL1GHT installation. The missing SYSUTIL_LANG_
values were added to psl1ght in this PR: ps3dev/PSL1GHT#130
Just update your file and it should compile properly.
btw, if pkgi gets a few minor adjustments to use UTF-8 fonts on the message screens, then russian language could be supported as a translation file directly.
Right now is still using the ASCII font so it's limited to characters in the US-ASCII table.
hello @ErikPshat 👋
You need to update
sysutil.h
from your PSL1GHT installation. The missingSYSUTIL_LANG_
values were added to psl1ght in this PR: ps3dev/PSL1GHT#130Just update your file and it should compile properly.
Yeah, I updated sysutil.h, but for some reason nothing changed at all. Everything remained exactly the same. All the same mistakes, one to one.
But then, when I added these "defined" in the header in the file "pkgi_ps3.c", then the errors were gone.
But now there are other errors for incompatibility with the mini18n library, which I just installed fresh yesterday.
Look at the screenshot below, what could this mean?
Interestingly, I reinstalled PSL1GHT
from the source according to the instructions. Now I have sysutil.h
installed in a different path.
Was here before:
/usr/local/ps3dev/PSL1GHT/ppu/include/sysutil/sysutil.h
And now installed here:
/usr/local/ps3dev/PSL1GHT/build/ppu/include/sysutil/sysutil.h
Now the source code works without adding defines
to the header pkgi_ps3.c
, but the last error remained.
I think you shouldn't have declared these variables in the system file sysutil.h
here:
#define SYSUTIL_LANG_JAPANESE 0 // Japanese
#define SYSUTIL_LANG_ENGLISH_US 1 // English (United States)
#define SYSUTIL_LANG_FRENCH 2 // French
#define SYSUTIL_LANG_SPANISH 3 // Spanish
#define SYSUTIL_LANG_GERMAN 4 // German
#define SYSUTIL_LANG_ITALIAN 5 // Italian
#define SYSUTIL_LANG_DUTCH 6 // Dutch
#define SYSUTIL_LANG_PORTUGUESE_PT 7 // Portuguese (Portugal)
#define SYSUTIL_LANG_RUSSIAN 8 // Russian
#define SYSUTIL_LANG_KOREAN 9 // Korean
#define SYSUTIL_LANG_CHINESE_T 10 // Chinese (traditional)
#define SYSUTIL_LANG_CHINESE_S 11 // Chinese (simplified)
#define SYSUTIL_LANG_FINNISH 12 // Finnish
#define SYSUTIL_LANG_SWEDISH 13 // Swedish
#define SYSUTIL_LANG_DANISH 14 // Danish
#define SYSUTIL_LANG_NORWEGIAN 15 // Norwegian
#define SYSUTIL_LANG_POLISH 16 // Polish
#define SYSUTIL_LANG_PORTUGUESE_BR 17 // Portuguese (Brazil)
#define SYSUTIL_LANG_ENGLISH_GB 18 // English (United Kingdom)
#define SYSUTIL_LANG_TURKISH 19 // Turkish
It was better to declare them in the file header pkgi_ps3.c
But now there are other errors for incompatibility with the mini18n library, which I just installed fresh yesterday. Look at the screenshot below, what could this mean?
It looks like your build of mini18n
is not for powerpc64-ppu but for your local computer arch. A proper build for PS3 wouldn't have any .so
files, so that's why pkgi can't be compiled.
I suggest to start with mini18n from scratch:
git clone https://github.com/bucanero/mini18n
cd mini18n
make
make install
Only the libmini18n.a
should be compiled (no .so
files), and that's the only file you need to have on the /lib
folder.
It looks like your build of
mini18n
is not for powerpc64-ppu but for your local computer arch. A proper build for PS3 wouldn't have any.so
files, so that's why pkgi can't be compiled.I suggest to start with mini18n from scratch:
git clone https://github.com/bucanero/mini18n cd mini18n make make install
Only the
libmini18n.a
should be compiled (no.so
files), and that's the only file you need to have on the/lib
folder.
Thanks a lot! Oh damn, I was compiling the mini18n
from the home directory. I didn't even know that it would compile for my computer and processor. Now I re-compiled mini18n
from the root directory /usr/local/src/ and now the program pkgi-ps3
compiles successfully!
Now I am racking my head how I can make support for the characters of the Russian language. Can't find the font matrix yet. In the previous version, I drew it here: https://github.com/nikolaevich23/pkgi/blob/master/ya2d_ps3/libya2d/source/font-16x32.c
Just in case, for comparison, 2 matrices US-ASCII and RU-ASCII tables. All symbols are numbered there. Russian characters are in the range 0xC0 - 0xFF + 0xA8 + 0xB8 (Ё & ё):
if you want to mix the current code 1.2.2 with your russian translation, you could replace the bitmap font with your custom font, and then you need to create a ru.po
translation file
When you add the russian translation text, you use the ASCII char range from your custom file. For example:
msgid "some english message"
msgstr "--your russian translation in the 0xC0 ~ range--"
Just remember to save your ru.po
file as US-ASCII (no utf-8) so it doesn't get altered. Then just put the file inside the LANG
folder of the app. It will load it and combined with your custom font, your russian text should show up.