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

Failing to build for Switch on macOS #55

Open
Kurtjwest opened this issue Dec 31, 2023 · 1 comment
Open

Failing to build for Switch on macOS #55

Kurtjwest opened this issue Dec 31, 2023 · 1 comment
Labels
compile issue Code doesn't compile properly switch Issue concers Switch target

Comments

@Kurtjwest
Copy link

Describe the bug
I am attempting to build sm64-alo for the switch on my m1 mac, but each time i run make or gmake i receive errors.

To Reproduce
Steps to reproduce the behavior:

  1. build sm64ex-alo for mac

  2. attempt to build for switch using "source $DEVKITPRO/switchvars.sh 2 ↵
    gmake TARGET_SWITCH=1 QOL_FIXES=1 QOL_FEATURES=1 NODRAWINGDISTANCE=1 EXT_OPTIONS_MENU=1 TEXTURE_FIX=1 VERBOSE=1 HIGH_FPS_PC=1"

  3. Get error:

source $DEVKITPRO/switchvars.sh 2 ↵
gmake TARGET_SWITCH=1 QOL_FIXES=1 QOL_FEATURES=1 NODRAWINGDISTANCE=1 EXT_OPTIONS_MENU=1 TEXTURE_FIX=1 VERBOSE=1 HIGH_FPS_PC=1
Building tools...
Building game...
Compiling: src/pc/controller/controller_switch.c -> build/us_nx/src/pc/controller/controller_switch.o
aarch64-none-elf-gcc -c -march=armv8-a+crc+crypto -mtune=cortex-a57 -mtp=soft -fPIE -DRAPI_GL=1 -DWAPI_SDL2=1 -DAAPI_SDL2=1 -DCAPI_SWITCH=1 -DHAVE_SDL2=1 -I/opt/devkitpro/portlibs/switch/include -I/opt/devkitpro/portlibs/switch/include/SDL2 -D__SWITCH__ -march=armv8-a -mtune=cortex-a57 -mtp=soft -ftls-model=local-exec -isystem /opt/devkitpro/libnx/include -I/opt/devkitpro/portlibs/switch/include -D_REENTRANT -I include -I build/us_nx -I build/us_nx/include -I src -I . -I /opt/devkitpro/libnx/include -I /opt/devkitpro/portlibs/switch/include -DVERSION_US=1 -DF3DEX_GBI_2E=1 -DOSX_BUILD=1 -DLIBULTRA_VERSION=9 -DLIBULTRA_REVISION=0 -DLIBULTRA_STR_VER="L" -DNON_MATCHING=1 -DAVOID_UB=1 -fno-strict-aliasing -ftls-model=local-exec -fPIC -fwrapv -D__SWITCH__=1 -DNO_SEGMENTED_MEMORY -DWIDESCREEN -DUSE_SYSTEM_MALLOC -DTARGET_PORT_CONSOLE -DHIGH_FPS_PC -DBETTERCAMERA -DCHEATS_ACTIONS -DEXT_OPTIONS_MENU -DRUMBLE_FEEDBACK -DNODRAWINGDISTANCE -DGODDARD_MFACE -DVANILLA_CHECKS -DQOL_FIXES -DQOL_FEATURES -DQOL_REDONE -D_LANGUAGE_C=1 -O2 -MMD -MF build/us_nx/src/pc/controller/controller_switch.d -o build/us_nx/src/pc/controller/controller_switch.o src/pc/controller/controller_switch.c
In file included from include/ultra64.h:28,
from src/pc/controller/controller_switch.c:4:
include/PR/ultratypes.h:21:32: error: conflicting types for 's64'; have 'long long int'
21 | typedef signed long long int s64;
| ^~~
In file included from /opt/devkitpro/libnx/include/switch.h:12,
from src/pc/controller/controller_switch.c:3:
/opt/devkitpro/libnx/include/switch/types.h:28:17: note: previous declaration of 's64' with type 's64' {aka 'long int'}
28 | typedef int64_t s64; ///< 64-bit signed integer.
| ^~~
include/PR/ultratypes.h:22:32: error: conflicting types for 'u64'; have 'long long unsigned int'
22 | typedef unsigned long long int u64;
| ^~~
/opt/devkitpro/libnx/include/switch/types.h:22:18: note: previous declaration of 'u64' with type 'u64' {aka 'long unsigned int'}
22 | typedef uint64_t u64; ///< 64-bit unsigned integer.
| ^~~
include/PR/ultratypes.h:27:22: error: conflicting types for 'vu64'; have 'u64' {aka 'volatile long long unsigned int'}
27 | typedef volatile u64 vu64;
| ^~~~
/opt/devkitpro/libnx/include/switch/types.h:34:22: note: previous declaration of 'vu64' with type 'vu64' {aka 'volatile long unsigned int'}
34 | typedef volatile u64 vu64; ///< 64-bit volatile unsigned integer.
| ^~~~
include/PR/ultratypes.h:31:22: error: conflicting types for 'vs64'; have 's64' {aka 'volatile long long int'}
31 | typedef volatile s64 vs64;
| ^~~~
/opt/devkitpro/libnx/include/switch/types.h:40:22: note: previous declaration of 'vs64' with type 'vs64' {aka 'volatile long int'}
40 | typedef volatile s64 vs64; ///< 64-bit volatile signed integer.
| ^~~~
src/pc/controller/controller_switch.c: In function 'controller_switch_nx_read':
src/pc/controller/controller_switch.c:93:21: warning: implicit declaration of function 'abs' [-Wimplicit-function-declaration]
93 | if(isSixAxis && abs(leftX) < 20 && abs(leftY) < 20) {
| ^~~
src/pc/controller/controller_switch.c:10:1: note: include '<stdlib.h>' or provide a declaration of 'abs'
9 | #include "controller_api.h"
+++ |+#include <stdlib.h>
10 |
gmake: *** [Makefile:1621: build/us_nx/src/pc/controller/controller_switch.o] Error 1

Expected behavior
I expected it to build

Desktop (please complete the following information):

  • OS: macOS 14.2.1
@AloXado320 AloXado320 added switch Issue concers Switch target compile issue Code doesn't compile properly labels Nov 15, 2024
@AloXado320
Copy link
Member

Should be fixed on 215aab6, let me know if it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compile issue Code doesn't compile properly switch Issue concers Switch target
Projects
None yet
Development

No branches or pull requests

2 participants