Cannot compile Redox under macOS Sierra


#1

Hello,

i tried to compile the successful build (made with the curl command described in the documentation section 3.1 ) under macOS Sierra but it exits with “phase error detected at end of assembly”(command make qemu). Please check if some setting are incorrect, thanks.


#2

I can answer this one. You’re using the stock nasm , and that’s a problem. The bootstrap script did a brew install of the version Redox wants you to run. You can switch to it with a “source ~/.profile”


#3

Hello ocschwar,
thanks for the reply, where do i have to put the switch ? I used the process written in the FAQ…

Cheers,
sapublic


#4

Hi.

You probably have multiple version of nasm installed. Run this to check which version you have :
$ which -a nasm
/opt/local/bin/nasm
/usr/bin/nasm

You can check the versions on each one using the -v flag:
$ /usr/bin/nasm -v
NASM version 0.98.40 (Apple Computer, Inc. build 11) compiled on Nov 15 2016
$ /opt/local/bin/nasm -v
NASM version 2.12.02 compiled on Apr 4 2017

Now edit your ~/.profile, and make sure that “export PATH=…” contains the path of the newer version before the path of the apple version. Alternatively, you may add this at the end of your ~/.profile :
export PATH=/opt/local/bin:${PATH}

Then reload the profile and you’re done:
$ source ~/.profile
$ nasm -v
NASM version 2.12.02 compiled on Apr 4 2017

JB.


#5

Hi Jblezoray,
thanks for the commands, it turns out that i have only one nasm installed:
$ which -a nasm
/usr/bin/nasm

Probably a awkward question: How can i get the newer one ?

All the best,
sapublic


#6

Homebrewq will install a new nasm for you in /usr/local/

“brew install nasm”


#7

Hello ocschwar, folks,
thanks :slight_smile: but now (with the latest OSX Sierra) i get new errors… Starting with the curl command (as mentioned in the book chapter 3.1. Preparing Redox) wich results in an error: missing key: ‘url’. Then switching to the redox subdir, a “make all” produces an error[E0522]: definition of an unknown language item: drop_in_place

Still not giving up… any hints ?

Thank you,
saopublic


#8