Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build errors #385

Open
impeeza opened this issue Apr 14, 2024 · 8 comments
Open

Build errors #385

impeeza opened this issue Apr 14, 2024 · 8 comments

Comments

@impeeza
Copy link

impeeza commented Apr 14, 2024

On latest version of DevKitPro building Wiiflow_Lite you get the next set of errors:

image

I am missing any library or dependency

Even building a old commit which before I was able to build now I get the same set of errors.

@eku
Copy link
Contributor

eku commented Apr 14, 2024

On latest version

Please specify more precisely.

@Fledge68
Copy link
Owner

are you using devkitppc r42-1 and libogc 2.4.0

@impeeza
Copy link
Author

impeeza commented Apr 15, 2024

are you using devkitppc r42-1 and libogc 2.4.0

No sir, I am Using:
MingW64 updated today

and the devkitpro packages:

  • devkitpro-keyring 20180316-1
  • devkitPPC r45-1
  • devkit-env 1.0.1-2
  • libogc 2.6.0-1
  • devkitppc-rules 1.2.1-1
  • gamecube-tools 1.0.4-1
  • general-tools 1.4.4-1

@impeeza
Copy link
Author

impeeza commented Apr 15, 2024

By the way the same errors using Ubuntu 22 with the same packages

@Fledge68
Copy link
Owner

so if you would just use devkitppc r42-1 and libogc 2.4.0 you shouldn't have those errors.

but as far as using the latest devkitppc and libogc im not sure why your libogc includes

netinet/in.h

and

sys/_sockaddr_storage.h

my libogc does not include those. i tried to see where they may have been added to libogc but couldn't find it.

obviously those files are conflicting the wolfssl files in portlibs/include/sys/socket.h

if you still want to use the latest ppc and libogc then goto portlibs/include/sys/socket.h and change all the socklen_t to socklen_t_w and sockaddr_storage to sockaddr_storage_w

and in source/libwolfssl/wolfio.h change the same ones to match socklen_t_w and sockaddr_storage_w

maybe that will work and maybe not.

@impeeza
Copy link
Author

impeeza commented Apr 17, 2024

Excellent, thanks a lot for your help,

Using old version of DevKitPro Packages require manual work, but will take the time, also will try your workaround, after that I will let you to know

@impeeza
Copy link
Author

impeeza commented Apr 17, 2024

OK, first try, I did add this commands before build in order to install old versions of packages:

wget https://wii.leseratte10.de/devkitPro/devkitPPC/r42%20%282023-04-19%29/devkitPPC-r42.1-1-windows_x86_64.pkg.tar.zst
pacman -U --noconfirm "./devkitPPC-r42.1-1-windows_x86_64.pkg.tar.zst"

wget https://wii.leseratte10.de/devkitPro/libogc/libogc_2.4.0%20%282023-04-06%29/libogc-2.4.0-1-any.pkg.tar.zst
pacman -U --noconfirm "./libogc-2.4.0-1-any.pkg.tar.zst"

And then the process end fine, the boot.dol file was build without problem, only few warnnings:

{standard input}: Assembler messages:
{standard input}: Warning: end of file in comment; newline inserted
linking ... boot.elf

bur are cosmetic no functional.

Will try the tweaking of files now.

@impeeza
Copy link
Author

impeeza commented Apr 17, 2024

Well after changing the files, using

the next set of warnings appears to several files:
image

and at end the next error interrupt the building:
image

      |
T:/msys64/home/Impeeza/WiiFlow_Lite/source/network/https.c:306:5: error: conflicting types for 'connect'; have 'int(char *, u16)' {aka 'int(char *, short unsigned int)'}
  306 | int connect(char *host, u16 port)
      |     ^~~~~~~
T:/msys64/home/Impeeza/WiiFlow_Lite/portlibs/include/sys/socket.h:178:9: note: previous declaration of 'connect' with type 'int(int,  const struct sockaddr *, socklen_t_w)' {aka 'int(int,  const struct sockaddr *, unsigned char)'}
  178 | int     connect(int, const struct sockaddr *, socklen_t_w);
      |         ^~~~~~~
T:/msys64/home/Impeeza/WiiFlow_Lite/source/network/https.c: In function 'downloadfile':
T:/msys64/home/Impeeza/WiiFlow_Lite/source/network/https.c:374:25: warning: implicit declaration of function 'connect_W'; did you mean 'connect'? [-Wimplicit-function-declaration]
  374 |         httpinfo.sock = connect_W(getProxyAddress(), getProxyPort());
      |                         ^~~~~~~~~
      |                         connect
make[2]: *** [/opt/devkitpro/devkitPPC/base_rules:21: https.o] Error 1
make[1]: *** [/home/Impeeza/WiiFlow_Lite/Makefile.main:147: build] Error 2
make: *** [Makefile:12: all] Error 2

My C knowledge is very precarious so I can not help on this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants