DevkitPro-Update macht alles kaputt ...

      DevkitPro-Update macht alles kaputt ...

      Hallo,

      ich habe gestern mein DevkitPro / DevkitPPC / libogc auf den neuesten Stand gebracht, um WiiU-Homebrew kompilieren zu können.
      Das hat auch funktioniert mit ein bisschen Hilfe von @Maschell.

      Jetzt kann ich nur leider die ältere Wii-Homebrew nicht mehr kompilieren, was vorher problemlos funktioniert hat:

      Quellcode

      1. $ make
      2. clean ...
      3. building console wii
      4. diskio.cpp
      5. wc24mail.cpp
      6. networkops.cpp
      7. http.cpp
      8. ff.cpp
      9. kd.cpp
      10. title.cpp
      11. vff.cpp
      12. /home/florian/amibu/source/vff.cpp:96:2: warning: invalid conversion from 'int (*)(_reent*, int)' to 'int (*)(_reent*, void*)' [-fpermissive]
      13. &_VFF_close_r,
      14. ^~~~~~~~~~~~~
      15. /home/florian/amibu/source/vff.cpp:97:2: warning: invalid conversion from 'ssize_t (*)(_reent*, int, const char*, size_t) {aka int (*)(_reent*, int, const char*, unsigned int)}' to 'ssize_t (*)(_reent*, void*, const char*, size_t) {aka int (*)(_reent*, void*, const char*, unsigned int)}' [-fpermissive]
      16. &_VFF_write_r,
      17. ^~~~~~~~~~~~~
      18. /home/florian/amibu/source/vff.cpp:98:2: warning: invalid conversion from 'ssize_t (*)(_reent*, int, char*, size_t) {aka int (*)(_reent*, int, char*, unsigned int)}' to 'ssize_t (*)(_reent*, void*, char*, size_t) {aka int (*)(_reent*, void*, char*, unsigned int)}' [-fpermissive]
      19. &_VFF_read_r,
      20. ^~~~~~~~~~~~
      21. /home/florian/amibu/source/vff.cpp:99:2: warning: invalid conversion from 'off_t (*)(_reent*, int, off_t, int) {aka long long int (*)(_reent*, int, long long int, int)}' to 'off_t (*)(_reent*, void*, off_t, int) {aka long long int (*)(_reent*, void*, long long int, int)}' [-fpermissive]
      22. &_VFF_seek_r,
      23. ^~~~~~~~~~~~
      24. /home/florian/amibu/source/vff.cpp:100:2: warning: invalid conversion from 'int (*)(_reent*, int, stat*)' to 'int (*)(_reent*, void*, stat*)' [-fpermissive]
      25. &_VFF_fstat_r,
      26. ^~~~~~~~~~~~~
      27. /home/florian/amibu/source/vff.cpp:113:2: warning: invalid conversion from 'int (*)(_reent*, int, off_t) {aka int (*)(_reent*, int, long long int)}' to 'int (*)(_reent*, void*, off_t) {aka int (*)(_reent*, void*, long long int)}' [-fpermissive]
      28. &_VFF_ftruncate_r,
      29. ^~~~~~~~~~~~~~~~~
      30. /home/florian/amibu/source/vff.cpp:114:2: warning: invalid conversion from 'int (*)(_reent*, int)' to 'int (*)(_reent*, void*)' [-fpermissive]
      31. &_VFF_fsync_r,
      32. ^~~~~~~~~~~~~
      33. actual_main.cpp
      34. /home/florian/amibu/source/actual_main.cpp: In function 'int main(int, char**)':
      35. /home/florian/amibu/source/actual_main.cpp:1117:40: warning: format '%d' expects argument of type 'int', but argument 2 has type 'u32 {aka long unsigned int}' [-Wformat=]
      36. printf("done, %d bytes\n", maindl.size);
      37. ^
      38. dns.cpp
      39. wc24.cpp
      40. /home/florian/amibu/source/wc24.cpp: In function 's32 WC24_Init()':
      41. /home/florian/amibu/source/wc24.cpp:114:39: warning: format '%d' expects argument of type 'int', but argument 2 has type 's32 {aka long int}' [-Wformat=]
      42. printf("KD_Open failed %d\n", retval);
      43. ^
      44. /home/florian/amibu/source/wc24.cpp: In function 's32 WC24_Shutdown()':
      45. /home/florian/amibu/source/wc24.cpp:149:41: warning: format '%d' expects argument of type 'int', but argument 2 has type 's32 {aka long int}' [-Wformat=]
      46. printf("KD_Close failed: %d\n", retval);
      47. ^
      48. sysconf.cpp
      49. /home/florian/amibu/source/sysconf.cpp: In function 'u8* __SYSCONF_Find(const char*)':
      50. /home/florian/amibu/source/sysconf.cpp:395:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
      51. count = *((u16*)(&__sysconf_buffer[4]));
      52. ^
      53. vff_leseratte.cpp
      54. linking ... wii-tool.elf
      55. actual_main.o: In function `do_init(char*)':
      56. /home/florian/amibu/source/actual_main.cpp:214: undefined reference to `send_message(unsigned int, char*)'
      57. actual_main.o: In function `do_file(long, char*)':
      58. /home/florian/amibu/source/actual_main.cpp:244: undefined reference to `send_message(unsigned int, char*)'
      59. actual_main.o: In function `do_file_sd(char*, char*, int, int)':
      60. /home/florian/amibu/source/actual_main.cpp:267: undefined reference to `send_message(unsigned int, char*)'
      61. actual_main.o: In function `main':
      62. /home/florian/amibu/source/actual_main.cpp:403: undefined reference to `server_connect(unsigned int, unsigned int)'
      63. /home/florian/devkitPro/libogc/lib/wii/libfat.a(directory.o): In function `_FAT_directory_entryGetAlias':
      64. /home/dima/Desktop/libfat/libogc/../source/directory.c:227: undefined reference to `__ctype_ptr__'
      65. /home/dima/Desktop/libfat/libogc/../source/directory.c:227: undefined reference to `__ctype_ptr__'
      66. /home/dima/Desktop/libfat/libogc/../source/directory.c:235: undefined reference to `__ctype_ptr__'
      67. /home/dima/Desktop/libfat/libogc/../source/directory.c:235: undefined reference to `__ctype_ptr__'
      68. /home/florian/devkitPro/libogc/lib/wii/libogc.a(ipc.o): In function `__ios_ioctlvformat_parse':
      69. /media/harddisk1/libogc/libogc/ipc.c:487: undefined reference to `__ctype_ptr__'
      70. /home/florian/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld: /media/harddisk1/libogc/libogc/ipc.c:487:(.text.__ios_ioctlvformat_parse+0xfc): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
      71. /home/florian/devkitPro/libogc/lib/wii/libogc.a(ipc.o):/media/harddisk1/libogc/libogc/ipc.c:589: more undefined references to `__ctype_ptr__' follow
      72. /home/florian/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld: /home/florian/devkitPro/libogc/lib/wii/libogc.a(ipc.o): In function `__ios_ioctlvformat_parse':
      73. /media/harddisk1/libogc/libogc/ipc.c:589:(.text.__ios_ioctlvformat_parse+0x4ac): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
      74. /home/florian/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld: final link failed: Nonrepresentable section on output
      75. collect2: error: ld returned 1 exit status
      76. /home/florian/devkitPro/devkitPPC/wii_rules:24: recipe for target '/home/florian/amibu/wii-tool.elf' failed
      77. make[1]: *** [/home/florian/amibu/wii-tool.elf] Error 1
      78. Makefile:107: recipe for target 'build' failed
      79. make: *** [build] Error 2
      Alles anzeigen

      Auf einmal sind jede Menge vorkommen von "s32" plötzlich "böse" und wollen durch "int" ersetzt werden, und jede Menge von dem Code den ich noch nichtmal selber geschrieben habe (irgendwelche fertigen Libraries) kompilieren nicht mehr ...

      Wie kriege ich das wieder hin, ohne einfach ein altes DevkitPro zu installieren womit dann wieder neuere Homebrew nicht funktioniert?
      Warum muss bei DevkitPro / Wii homebrew / WiiU homebrew eigentlich ständig irgend ein dämliches Compiler-Update wieder *alles* durcheinanderwürfen?

      Leseratte

      EDIT: Selbst ein leeres programm wird nicht kompiliert ...

      Quellcode

      1. int main(int argc, char* argv[])
      2. {
      3. return 0;
      4. }

      Quellcode

      1. $ make
      2. clean ...
      3. linking ... wii-tool.elf
      4. /home/florian/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/lib/crtmain.o: In function `__crtmain':
      5. crtmain.c:(.text.__crtmain+0x3c): undefined reference to `main'
      6. /home/florian/devkitPro/libogc/lib/wii/libogc.a(ipc.o): In function `__ios_ioctlvformat_parse':
      7. /media/harddisk1/libogc/libogc/ipc.c:487: undefined reference to `__ctype_ptr__'
      8. /home/florian/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld: /media/harddisk1/libogc/libogc/ipc.c:487:(.text.__ios_ioctlvformat_parse+0xfc): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
      9. /media/harddisk1/libogc/libogc/ipc.c:589: undefined reference to `__ctype_ptr__'
      10. /home/florian/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld: /media/harddisk1/libogc/libogc/ipc.c:589:(.text.__ios_ioctlvformat_parse+0x4ac): unresolvable R_PPC_EMB_SDA21 relocation against symbol `__ctype_ptr__'
      11. /home/florian/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/6.3.0/../../../../powerpc-eabi/bin/ld: final link failed: Nonrepresentable section on output
      12. collect2: error: ld returned 1 exit status
      13. /home/florian/devkitPro/devkitPPC/wii_rules:24: recipe for target '/home/florian/amibu/test/wii-tool.elf' failed
      14. make[1]: *** [/home/florian/amibu/test/wii-tool.elf] Error 1
      15. Makefile:107: recipe for target 'build' failed
      16. make: *** [build] Error 2
      Alles anzeigen

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Bist du sicher, dass du beim Update auch nichts vergessen hast? Z.B. die aktuellen Build Includes mit den Regeln für Wii?


      EigenschaftWert
      Modell:PlayStation Vita Slim, WiFi, schwarz, PCH-2016
      System-Software:3.63
      Modell:PlayStation TV
      System-Software:3.63, Whitelist Database modified
      Software:7 Vita Cartridges, 9 Titel als PSN-Download (Stand: 10. November 2016)
      Currently playing:Akiba's Trip 2: Undead & Undressed (+ DLC)


      EigenschaftWert
      Modell:PlayStation 4 Slim, 1 TB, CUH-2016B
      System-Software:4.06
      Software:1 PS4-Disk, 3 PSN-Downloads (Stand: 22. Dezember 2016)
      Currently playing:Megadimension Neptunia VII (+ DLC)
      Backlog:Deponia, Fairy Fencer F: Advent Dark Force, Sword Art Online: Hollow Realization

      EigenschaftWert
      Modell:Nintendo 3DS XL Yoshi Special Edition (grün-weiß)
      System-Software:10.1.0-27E
      Software:5 Titel als 3DS-Cartridge, 8 3DS-Titel als Download, 4 Virtual-Console-Titel (Stand: 18. Oktober 2015)
      Flashkarten:SuperCard DSTWO (wird nicht im 3DS benutzt)
      Currently playing:Hatsune Miku: Project Mirai DX / Pokémon: Omega Rubin / Cave Story + (3DSWare)

      EigenschaftWert
      Modell:Nintendo GameCube PAL Silber
      Revision:DOL-001
      Zubehör:2 Controller (Purple + Silber, kabelgeb.), 1 MemoryCard (128 MB, BigBen Interactive), 1 Game Boy Player, Nintendo MultiAV-Kabel, RGB-Kabel
      Spiele:12
      Sonstiges:SD Media Launcher

      EigenschaftWert
      Modell:Nintendo Wii Weiß
      Systemmenü:4.1E
      Boot Loader:Fixed Boot Loader (boot1c) / Standard Boot Loader boot2 v4
      BootMii:IOS
      Priiloader:v0.4 rev80 DE
      HBC:1.1.2
      cIOS + MIOS:IOS222 (hermes v4), IOS249[38] rev19 / cMIOS v10 with integrated GameCube Backup Launcher v0.2
      USB Loader + Storage:USB Loader GX (1.0.x), uLoader 5.1, cfg USB Loader, Neogamma / ohne



      Die ersten Fehler sind ja alle der Natur "int" ist nicht kompatibel zu einem Zeiger (void*). Die INT-Typen intptr_t und uintptr_t sind dagegen immer Kompatibel zu Pointern.

      Daher meine Fragen:
      * Hast Du es für eine 64-Bit-Machine übersetzt?
      * Was ist sizeof(int) und sizeof(void*)?

      Poste bitte mal den Kode zu den ersten beiden Fehlern (+10 Zeilen Umgebung)

      Dann mutmaße ich auch, dass hier ne Standard-Lib fehlt.

      WIT: Wiimms ISO Tools
      Verwaltet Plain ISO, WDF, WIA, CISO, WBFS, FST: kann Extrahieren, Erstellen, Patchen, Mischen und Überprüfen

      SZS: Wiimms SZS Tools
      Verwaltet SZS-, BRRES-, U8-, BMG-, BREFT-Dateien uvm.



      PN ohne persönlichen Charakter werden ignoriert. Support-Anfragen gehören ins Forum.
      @StarWolf3000 ich wüsste nicht, was. Ich bin folgender Anleitung gefolgt: devkitpro.org/wiki/Getting_Started/devkitPPC

      @Wiimm was heißt "für" eine 64-bit-Maschine? Mein Rechner hat 64 bit, ja. Übersetzt werden soll natürlich für die Wii.
      Die vff.cpp ist im Anhang.
      Dateien
      • vff.cpp.txt

        (19,79 kB, 155 mal heruntergeladen, zuletzt: )

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      u.a. im TS gelöst:

      Das neue DevKit nutzt andere Prototypen, z.B.:

      Quellcode

      1. int (*close_r)(struct _reent *r, int fd);
      2. int (*close_r)(struct _reent *r, void *fd);
      Vorher wurde ein Filedescriptor "fd" übergeben, nachher ein Zeiger auf diesen. Damit muss sämtlicher Code umgeschrieben werden, der diesen Teil der API nutzt.

      WIT: Wiimms ISO Tools
      Verwaltet Plain ISO, WDF, WIA, CISO, WBFS, FST: kann Extrahieren, Erstellen, Patchen, Mischen und Überprüfen

      SZS: Wiimms SZS Tools
      Verwaltet SZS-, BRRES-, U8-, BMG-, BREFT-Dateien uvm.



      PN ohne persönlichen Charakter werden ignoriert. Support-Anfragen gehören ins Forum.

      Wiimm schrieb:

      Damit muss sämtlicher Code umgeschrieben werden, der diesen Teil der API nutzt.
      Oder wieder aufs alte DevkitPro umgestiegen werden.

      Danke für die alte Version, hab ich halt einmal das alte Devkit für die Wii, und einmal das neue für die WiiU in getrennten Ordnern.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()