bucanero / pkgi-ps3

A PlayStation 3 package download tool

Home Page:http://www.bucanero.com.ar/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compilation Errors

ErikPshat opened this issue · comments

Hello! I installed "Mini18n" and updated other libraries (PolarSSL library (v1.3.9), libcurl library (v7.64.1)).
Can't you tell me why I get such errors when compiling a program?

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 missing SYSUTIL_LANG_ values were added to psl1ght in this PR: ps3dev/PSL1GHT#130

Just 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.