-
Notifications
You must be signed in to change notification settings - Fork 27
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
MAC OSX install Instructions #34
Comments
To be fair, the previous instructions are for Intel Macs, while the new ones are for ARM ones. I would leave both for users to choose from |
@never00rei Have you succeeded in compiling for Mac with M1 series? I keep getting
I tried the official release as well as cloning the repo, but the linker fails in both cases. |
@realhackcraft I've compiled for M3 Max recently without any issues. Are you using |
@AlKhrulev I'm not sure. ./configure
make
sudo make install Edit: I am using clang++. clang++: error: linker command failed with exit code 1 (use -v to see invocation) I'm on M2 |
@realhackcraft I'm facing the same issue as you. I'm on M2 Pro |
@realhackcraft @kr4t0z to double-check, you have downloaded a different
I've just placed this before |
And I made sure to run those two lines just before running ./configure Perhaps the M2 series has some problems, or maybe because my SIP is disabled. |
Is there a way of enabling verbose mode on clang++ from the make file? I don't know which one to edit. |
@realhackcraft I've looked through the original INSTALL file, and it looks like you can pass customs compiler flags to
I would probably assume that you can try something like |
I added the verbose output flag and tried to compile it, but it still showed Upon inspecting the error closer, it appears that When I removed the Full logMaking all in doc make[1]: Nothing to be done for `all'. Making all in src clang++ -std=gnu++11 -DNCURSES_WIDECHAR -std=c++11 -v -L/opt/homebrew/opt/ncurses/lib -o neo cloud.o droplet.o neo.o -lncursesw Apple clang version 16.0.0 (clang-1600.0.22.7) Target: arm64-apple-darwin24.0.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch arm64 -platform_version macos 15.0.0 15.0 -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mllvm -enable-linkonceodr-outlining -o neo -L/opt/homebrew/opt/ncurses/lib -L/usr/local/lib cloud.o droplet.o neo.o -lncursesw -lc++ -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/16/lib/darwin/libclang_rt.osx.a Undefined symbols for architecture arm64: "_endwin$NCURSES60", referenced from: Cleanup() in neo.o ParseArgs(int, char**, Cloud*, double*, bool*) in neo.o ParseArgs(int, char**, Cloud*, double*, bool*) in neo.o ParseArgs(int, char**, Cloud*, double*, bool*) in neo.o _main in neo.o "_init_color$NCURSES60", referenced from: Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o ... "_init_pair$NCURSES60", referenced from: Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o Cloud::SetColor(Color) in cloud.o ... "_initscr$NCURSES60", referenced from: InitCurses(ColorMode, ColorMode*) in neo.o "_keypad$NCURSES60", referenced from: InitCurses(ColorMode, ColorMode*) in neo.o "_refresh$NCURSES60", referenced from: InitCurses(ColorMode, ColorMode*) in neo.o Profiler(Cloud&) in neo.o MainLoop(Cloud&, double) in neo.o "_start_color$NCURSES60", referenced from: InitCurses(ColorMode, ColorMode*) in neo.o "_use_default_colors$NCURSES60", referenced from: Cloud::SetColor(Color) in cloud.o "_wadd_wch$NCURSES60", referenced from: Cloud::DrawMessage() const in cloud.o Droplet::Draw(std::__1::chrono::time_point>>, bool) in droplet.o Droplet::Draw(std::__1::chrono::time_point>>, bool) in droplet.o "_waddch$NCURSES60", referenced from: Droplet::Draw(std::__1::chrono::time_point>>, bool) in droplet.o "_wattr_off$NCURSES60", referenced from: Cloud::DrawMessage() const in cloud.o Droplet::Draw(std::__1::chrono::time_point>>, bool) in droplet.o "_wattr_on$NCURSES60", referenced from: Cloud::DrawMessage() const in cloud.o Droplet::Draw(std::__1::chrono::time_point>>, bool) in droplet.o "_wbkgd$NCURSES60", referenced from: Cloud::SetColor(Color) in cloud.o "_wgetch$NCURSES60", referenced from: HandleInput(Cloud*) in neo.o "_winnwstr$NCURSES60", referenced from: Cloud::Rain() in cloud.o Cloud::CalcMessage() in cloud.o ld: symbol(s) not found for architecture arm64 clang++: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [neo] Error 1 make: *** [all-recursive] Error 1 |
Did that and just worked!!! Thanks guys, y'all are awesome |
Ok, it worked after I re cloned the repo. I think it was because the compiler puts the compiled binary into src and I didn't remove them. |
Glad to heat it got resolved, it would be sad if no one could compile this anymore on (some?) Macs. |
The OSX Install instructions are incorrect, if you're using brew to install ncurses - you should use the following flags:
Your README is incorrectly stating:
The text was updated successfully, but these errors were encountered: