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

RIOT cannot compile with the latest version of macOS (10.14) and Xcode 10 #10121

Closed
Zhiyi-Zhang opened this issue Oct 7, 2018 · 12 comments
Closed
Assignees
Labels
Area: toolchain Area: toolchains; everything related to compilation, libc, linking, … OS: Mac OS X Host OS: This PR/issue concerns usage of RIOT with Mac OS X as a host system Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Comments

@Zhiyi-Zhang
Copy link

Zhiyi-Zhang commented Oct 7, 2018

Description

RIOT cannot compile with the latest version of macOS.

Steps to reproduce the issue

Compile the example/hello_world with default configuration (native).

Expected results

No errors.

Actual results

ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libdl.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libdl.tbd
Undefined symbols for architecture i386:
  "_strndup", referenced from:
      _tty_uart_setup in periph.a(uart.o)
  "_sigaltstack$UNIX2003", referenced from:
      _native_interrupt_init in cpu.a(irq_cpu.o)
...
...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Versions

Operating system: Mac OSX
Build environment:
native gcc: Apple LLVM version 10.0.0 (clang-1000.11.45.2)
clang: Apple LLVM version 10.0.0 (clang-1000.11.45.2)

@jnohlgard
Copy link
Member

It looks like you need an older xcode version.
https://forums.developer.apple.com/thread/108704

Future MacOS releases may drop 32 bit support for applications though, so RIOT would have to add support for building as a 64 bit binary to continue supporting MacOS.

@Zhiyi-Zhang
Copy link
Author

It looks like you need an older xcode version.
https://forums.developer.apple.com/thread/108704

A downgrade is always not the best choice :-(
Hope RIOT team can handle this issue as soon as possible since new macOS has been revealed for some time.

@miri64 miri64 added Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) OS: Mac OS X Host OS: This PR/issue concerns usage of RIOT with Mac OS X as a host system Area: toolchain Area: toolchains; everything related to compilation, libc, linking, … labels Oct 8, 2018
@jia200x jia200x added this to the Release 2018.10 milestone Oct 25, 2018
@jia200x
Copy link
Member

jia200x commented Oct 26, 2018

(I added triple ticks to the log so it formats better)

@larseggert
Copy link
Contributor

Before I even get the linker error above, I needed to add

CFLAGS += -isystem /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include

to my Makefile, so the headers are being found.

@smlng
Copy link
Member

smlng commented Sep 9, 2019

MacOS is not supported as RIOT native does not run on 64Bit CPUs (yet)

@smlng
Copy link
Member

smlng commented Sep 9, 2019

Hence, this can be closed

@miri64
Copy link
Member

miri64 commented Oct 29, 2019

Weellll, this could become a problem in Ubuntu as well...

@miri64 miri64 added this to the Release 2020.07 milestone Jul 2, 2020
@jenswet
Copy link
Contributor

jenswet commented Oct 20, 2020

Are there any news about this?

@miri64
Copy link
Member

miri64 commented Oct 20, 2020

There is #13009, but development on that seems to be stalled.

@miri64
Copy link
Member

miri64 commented Jul 12, 2021

Now that Apple made the switch to ARM, there are more problems.

@MrKevinWeiss MrKevinWeiss removed this from the Release 2021.07 milestone Jul 15, 2021
@Teufelchen1
Copy link
Contributor

Since PR #18735 landed, macOS native is officially no longer supported. The problems with macOS go far beyond the 64bit issue. I believe this issue can be closed.

@miri64 miri64 closed this as completed Nov 2, 2022
@miri64
Copy link
Member

miri64 commented Nov 2, 2022

Yepp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: toolchain Area: toolchains; everything related to compilation, libc, linking, … OS: Mac OS X Host OS: This PR/issue concerns usage of RIOT with Mac OS X as a host system Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)
Projects
None yet
Development

No branches or pull requests