Baggers: You never answered my question about how you had installed the p2 tools? Are you using the command line zip program that comes with Mac OS X?
Anyway, I'll try creating a compressed tar file later today that you can try. That should preserve any protections that might have gotten messed up with the zip file.
I unzipped the zip and copied the files to the opt directory
I guess I installed it slightly differently. I removed /opt/parallax entirely, created a new /opt/parallax directory with 777 permissions, and then unzipped the zip file directly in /opt/parallax. Something like this:
cd /opt
rm -r parallax
mkdir parallax
chmod 777 parallax
cd /opt/parallax
unzip path-to-zip-file
That may not make any difference for you though since it may have worked for me because I created the zip file in the first place. As I said, I'll try creating a compressed tar file later. Got to take my car to the shop now.
I just uploaded a new Mac build created using the official release script. This uses a compressed tar file rather than a zip file and I believe has been test to make sure it results in a usable install. Let me know if you have any more luck with this one.
Tough week for me. I am eager to test this on the weekend.
I'll be loading fresh on Snow Leopard, 64 bit. When I can, I'll get Xcode and am considering a native build too. If there is time, that is a process I would benefit from.
Tough week for me. I am eager to test this on the weekend.
I'll be loading fresh on Snow Leopard, 64 bit. When I can, I'll get Xcode and am considering a native build too. If there is time, that is a process I would benefit from.
Yes, it is always helpful to be able to build the tree yourself. Then you don't have to wait for a release to get new features.
I just uploaded a new Mac build created using the official release script. This uses a compressed tar file rather than a zip file and I believe has been test to make sure it results in a usable install. Let me know if you have any more luck with this one.
I'm sorry but I realized after I posted this that I might have had a version skew in the file I uploaded. I deleted it and made a new clean build to upload. Unfortunately, Google Code's file upload seems to be broken now so I can't upload the replacement file. I'll try again later...
I'm sorry but I realized after I posted this that I might have had a version skew in the file I uploaded. I deleted it and made a new clean build to upload. Unfortunately, Google Code's file upload seems to be broken now so I can't upload the replacement file. I'll try again later...
Perhaps you have run into Google's insistence that all file names be unique?
Have you tried what I suggested? Don't unarchive the file and then copy it into place. Unarchive it directly in an empty /opt/parallax. This archive was created with Steve's release script which I know has worked for people before. Here are Steve's instructions for installing on the Mac:
1. Propeller GCC Linux (Mac) install:
To install Propeller GCC on linux: unpack the tar file in a suitable location.
For users with root access, copy the main parallax folder to /opt as /opt/parallax.
It is also possible for the main folder to be installed in the user's home directory.
Add /opt/parallax/bin or your other folder as appropriate to ensure propeller-elf-gcc
is in your PATH. It's probably necessary to append a command to the ~/.bashrc file.
I chose user directory installation as that is all I really need. Is that actually true? Assuming it is:
So I extracted everything with the standard archive utility and copied it to ~/parallax which equates to: /users/ddingus/parallax
Did a quick ls -la and found this in the permissions, which were correct otherwise:
drwxr-xr-x@ 17 ddingus staff 578 May 17 12:23 ..
-rw-r--r--@ 1 ddingus staff 299184 May 17 12:23 bstc
-rwxr-xr-x@ 1 ddingus staff 299184 May 17 12:23 bstc.osx
-rwxr-xr-x@ 1 ddingus staff 72140 May 17 12:23 gdbstub
-rwxr-xr-x@ 1 ddingus staff 42656 May 17 12:23 p2load
-rwxr-xr-x@ 1 ddingus staff 736112 May 17 12:23 propeller-elf-addr2line
-rwxr-xr-x@ 1 ddingus staff 778328 May 17 12:23 propeller-elf-ar
-rwxr-xr-x@ 1 ddingus staff 1092248 May 17 12:23 propeller-elf-as
-rwxr-xr-x@ 1 ddingus staff 356644 May 17 12:23 propeller-elf-c++
-rwxr-xr-x@ 1 ddingus staff 735092 May 17 12:23 propeller-elf-c++filt
-rwxr-xr-x@ 1 ddingus staff 356620 May 17 12:23 propeller-elf-cpp
-rwxr-xr-x@ 1 ddingus staff 40460 May 17 12:23 propeller-elf-elfedit
-rwxr-xr-x@ 1 ddingus staff 356644 May 17 12:23 propeller-elf-g++
-rwxr-xr-x@ 1 ddingus staff 356548 May 17 12:23 propeller-elf-gcc
-rwxr-xr-x@ 1 ddingus staff 356548 May 17 12:23 propeller-elf-gcc-4.6.1
-rwxr-xr-x@ 1 ddingus staff 50524 May 17 12:23 propeller-elf-gcov
-rwxr-xr-x@ 1 ddingus staff 4908180 May 17 12:23 propeller-elf-gdb
-rwxr-xr-x@ 1 ddingus staff 815500 May 17 12:23 propeller-elf-gprof
-rwxr-xr-x@ 1 ddingus staff 18548 May 17 12:23 propeller-elf-image-size
-rwxr-xr-x@ 1 ddingus staff 1219100 May 17 12:23 propeller-elf-ld
-rwxr-xr-x@ 1 ddingus staff 1219100 May 17 12:23 propeller-elf-ld.bfd
-rwxr-xr-x@ 1 ddingus staff 748960 May 17 12:23 propeller-elf-nm
-rwxr-xr-x@ 1 ddingus staff 967984 May 17 12:23 propeller-elf-objcopy
-rwxr-xr-x@ 1 ddingus staff 1118488 May 17 12:23 propeller-elf-objdump
-rwxr-xr-x@ 1 ddingus staff 778328 May 17 12:23 propeller-elf-ranlib
-rwxr-xr-x@ 1 ddingus staff 427408 May 17 12:23 propeller-elf-readelf
-rwxr-xr-x@ 1 ddingus staff 742332 May 17 12:23 propeller-elf-size
-rwxr-xr-x@ 1 ddingus staff 736104 May 17 12:23 propeller-elf-strings
-rwxr-xr-x@ 1 ddingus staff 967984 May 17 12:23 propeller-elf-strip
-rwxr-xr-x@ 1 ddingus staff 115036 May 17 12:23 propeller-load
-rwxr-xr-x@ 1 ddingus staff 170380 May 17 12:23 spin2cpp
-rwxr-xr-x@ 1 ddingus staff 140688 May 17 12:23 spinsim
That "@" sign is important! Apple implements an access control list beyond the standard BSD Unix permissions, and that symbol indicates those permissions apply. A simple Linux / UNIX approach to this won't fix it, because the GNU Unix utilities have no idea what that is.
Turns out, this command addresses that: xattrib
If you do ls -le these will be displayed, and the propgcc stuff was being denied because it came from the Internet. An official Apple install script and package would resolve this, but it's no big deal to do it yourself.
I did xattr -r -d com.apple.quarantine ./parallax and it bought the package to the standard Unix permission model.
drwxr-xr-x 17 ddingus staff 578 May 17 12:23 ..
-rw-r--r-- 1 ddingus staff 299184 May 17 12:23 bstc
-rwxr-xr-x 1 ddingus staff 299184 May 17 12:23 bstc.osx
-rwxr-xr-x 1 ddingus staff 72140 May 17 12:23 gdbstub
-rwxr-xr-x 1 ddingus staff 42656 May 17 12:23 p2load
-rwxr-xr-x 1 ddingus staff 736112 May 17 12:23 propeller-elf-addr2line
-rwxr-xr-x 1 ddingus staff 778328 May 17 12:23 propeller-elf-ar
-rwxr-xr-x 1 ddingus staff 1092248 May 17 12:23 propeller-elf-as
-rwxr-xr-x 1 ddingus staff 356644 May 17 12:23 propeller-elf-c++
-rwxr-xr-x 1 ddingus staff 735092 May 17 12:23 propeller-elf-c++filt
-rwxr-xr-x 1 ddingus staff 356620 May 17 12:23 propeller-elf-cpp
-rwxr-xr-x 1 ddingus staff 40460 May 17 12:23 propeller-elf-elfedit
-rwxr-xr-x 1 ddingus staff 356644 May 17 12:23 propeller-elf-g++
-rwxr-xr-x 1 ddingus staff 356548 May 17 12:23 propeller-elf-gcc
-rwxr-xr-x 1 ddingus staff 356548 May 17 12:23 propeller-elf-gcc-4.6.1
-rwxr-xr-x 1 ddingus staff 50524 May 17 12:23 propeller-elf-gcov
-rwxr-xr-x 1 ddingus staff 4908180 May 17 12:23 propeller-elf-gdb
-rwxr-xr-x 1 ddingus staff 815500 May 17 12:23 propeller-elf-gprof
-rwxr-xr-x 1 ddingus staff 18548 May 17 12:23 propeller-elf-image-size
-rwxr-xr-x 1 ddingus staff 1219100 May 17 12:23 propeller-elf-ld
-rwxr-xr-x 1 ddingus staff 1219100 May 17 12:23 propeller-elf-ld.bfd
-rwxr-xr-x 1 ddingus staff 748960 May 17 12:23 propeller-elf-nm
-rwxr-xr-x 1 ddingus staff 967984 May 17 12:23 propeller-elf-objcopy
-rwxr-xr-x 1 ddingus staff 1118488 May 17 12:23 propeller-elf-objdump
-rwxr-xr-x 1 ddingus staff 778328 May 17 12:23 propeller-elf-ranlib
-rwxr-xr-x 1 ddingus staff 427408 May 17 12:23 propeller-elf-readelf
-rwxr-xr-x 1 ddingus staff 742332 May 17 12:23 propeller-elf-size
-rwxr-xr-x 1 ddingus staff 736104 May 17 12:23 propeller-elf-strings
-rwxr-xr-x 1 ddingus staff 967984 May 17 12:23 propeller-elf-strip
-rwxr-xr-x 1 ddingus staff 115036 May 17 12:23 propeller-load
-rwxr-xr-x 1 ddingus staff 170380 May 17 12:23 spin2cpp
-rwxr-xr-x 1 ddingus staff 140688 May 17 12:23 spinsim
After all of that, I run it and get "illegal instruction"
I look at this and my OS X might be too old...
Darwin spanky.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64
/rant mode on
Ok, I get needing to keep things current, but dang it! We've got machines and operating systems moving a bit too fast right now. I haven't had this machine but for a coupla years, and frankly, upgrading to Lion breaks another rather expensive application that I need to support.
/rant mode off
I'm hoping I am wrong. If not, I'll have to get xcode and build this thing on the OS I have. But, maybe the permissions adventure will help somebody. No joy here yet either.
*pretty please build one that is Snow Leopard compatable.
Ok, I have xcode for my OS and have PropGCC building right now. Looks like it will take a while. I did a straight pull from the main page, and I see a merge of p2test with the main branch. When my pull completed last night, it fetched what appears to be the main branch as I could not see P2load in there, where I do when browsing that branch in google code. I used a program called MacHG, which displays the history, etc... Admittedly, this was quick and shallow. I wanted to just vet the toolchain, then go and learn stuff.
In any case, I'm pretty sure it's building a P1 PropGCC. If successful, I'll want to get setup on the P2 branch and build that one and P2load. Might have a few questions.
So far, xcode is loaded, and I ran the rebuild.sh to just build it all from scratch. I'll check in on it this evening.
Ok, I have xcode for my OS and have PropGCC building right now. Looks like it will take a while. I did a straight pull from the main page, and I see a merge of p2test with the main branch. When my pull completed last night, it fetched what appears to be the main branch as I could not see P2load in there, where I do when browsing that branch in google code. I used a program called MacHG, which displays the history, etc... Admittedly, this was quick and shallow. I wanted to just vet the toolchain, then go and learn stuff.
In any case, I'm pretty sure it's building a P1 PropGCC. If successful, I'll want to get setup on the P2 branch and build that one and P2load. Might have a few questions.
So far, xcode is loaded, and I ran the rebuild.sh to just build it all from scratch. I'll check in on it this evening.
You'll have to do the equivilent of 'hg checkout p2test' to switch to the p2test branch. As far as I know it has not yet been merged into the default branch.
Hmmm... Well, I can do that on the command line tonight, if need be. The program wants a repository URL. I gave it the one on the front page, which got me the default branch. It's very nice to have all the changes, etc... displayed that way. I'll have to go investigate how to specify that in a URL.
Hmmm... Well, I can do that on the command line tonight, if need be. The program wants a repository URL. I gave it the one on the front page, which got me the default branch. It's very nice to have all the changes, etc... displayed that way. I'll have to go investigate how to specify that in a URL.
Are you sure you got only the default branch? I think it may download everything and just set the current branch to "default".
Is the latest p2test revision 2040? Yes, it has to pull some data. It got only the default. That too will be a while, but at least I have both working while I do.
This is odd. A few minutes ago I did 'hg incoming' and got no incoming updates but I just did it again and notice that Eric *did* merge p2test into the default branch. The odd thing is that it says the change happened 27 hours ago. Not sure why I didn't get that earlier today when I checked for changes. I guess I need to pull the merged version and rebuild myself!
Well, everything completed, so my local tree is on the P2test revision mentioned above and I just fired off a rebuild.sh
Since you know this code base well, let us know what you find! The other build completed, and it appears to be P1 GCC. Probably I need to specify something for P2 when building from the main. In any case, I've updated it all to the revision noted above and I see P2load, so I launched another build with rebuld.sh That's all I have time for right now. Build takes about an hour on this Mac it seems.
Well, everything completed, so my local tree is on the P2test revision mentioned above and I just fired off a rebuild.sh
Since you know this code base well, let us know what you find! The other build completed, and it appears to be P1 GCC. Probably I need to specify something for P2 when building from the main. In any case, I've updated it all to the revision noted above and I see P2load, so I launched another build with rebuld.sh That's all I have time for right now. Build takes about an hour on this Mac it seems.
How are you determining whether it is a p1 or p2 build? It looks to me as though Eric has done the merge and building the default branch should result in a compiler that will work with either p1 or p2. Also, p2load does not get built automatically by rebuild.sh or jbuild.sh. You have to build it separately. Only propeller-load gets built with the main build since that is the real loader. We still have to decide how and if to merge p2load features into propeller-load since some of the p2load features really only apply to the FPGA target which will go away when real chips arrive.
How are you determining whether it is a p1 or p2 build? It looks to me as though Eric has done the merge and building the default branch should result in a compiler that will work with either p1 or p2. Also, p2load does not get built automatically by rebuild.sh or jbuild.sh. You have to build it separately. Only propeller-load gets built with the main build since that is the real loader. We still have to decide how and if to merge p2load features into propeller-load since some of the p2load features really only apply to the FPGA target which will go away when real chips arrive.
Not only FPGA -- BUT to all that will program P2 straight in ASSEMBLY.
Thanks
Once Chip has a loader that will handle more than 2K I don't think we'll need p2load even for programs written in PASM. We never had a multi-file loader for P1 and that wasn't a problem. In any case, if there continues to be a need for p2load we will certainly continue to maintain it. I think we may be able to fold everything into propeller-load eventually though.
Thanks David. Makes sense. While I have things on the branch, I will build P2load. Then I will take it current and repeat that build, which got removed due to my ignorance.
Comments
Anyway, I'll try creating a compressed tar file later today that you can try. That should preserve any protections that might have gotten messed up with the zip file.
That may not make any difference for you though since it may have worked for me because I created the zip file in the first place. As I said, I'll try creating a compressed tar file later. Got to take my car to the shop now.
No rush, as I've got a retro gaming event to prepare for, as it's on tomorrow
So won't be back until late tomorrow night.
http://code.google.com/p/propgcc/downloads/detail?name=prop2gcc_v0_3_5-x86_64-macosx.tar.bz2&can=2&q=
I'll be loading fresh on Snow Leopard, 64 bit. When I can, I'll get Xcode and am considering a native build too. If there is time, that is a process I would benefit from.
Perhaps you have run into Google's insistence that all file names be unique?
Here's the link:
http://code.google.com/p/propgcc/downloads/detail?name=prop2gcc-mac-2013-05-17.tar.bz2&can=2&q=
1. Propeller GCC Linux (Mac) install:
To install Propeller GCC on linux: unpack the tar file in a suitable location.
For users with root access, copy the main parallax folder to /opt as /opt/parallax.
It is also possible for the main folder to be installed in the user's home directory.
Add /opt/parallax/bin or your other folder as appropriate to ensure propeller-elf-gcc
is in your PATH. It's probably necessary to append a command to the ~/.bashrc file.
$ PATH=/opt/parallax/bin:$PATH
$ PATH=${HOME}/parallax/bin:$PATH
I chose user directory installation as that is all I really need. Is that actually true? Assuming it is:
So I extracted everything with the standard archive utility and copied it to ~/parallax which equates to: /users/ddingus/parallax
Did a quick ls -la and found this in the permissions, which were correct otherwise:
That "@" sign is important! Apple implements an access control list beyond the standard BSD Unix permissions, and that symbol indicates those permissions apply. A simple Linux / UNIX approach to this won't fix it, because the GNU Unix utilities have no idea what that is.
Turns out, this command addresses that: xattrib
If you do ls -le these will be displayed, and the propgcc stuff was being denied because it came from the Internet. An official Apple install script and package would resolve this, but it's no big deal to do it yourself.
I did xattr -r -d com.apple.quarantine ./parallax and it bought the package to the standard Unix permission model.
After all of that, I run it and get "illegal instruction"
I look at this and my OS X might be too old...
Darwin spanky.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64
/rant mode on
Ok, I get needing to keep things current, but dang it! We've got machines and operating systems moving a bit too fast right now. I haven't had this machine but for a coupla years, and frankly, upgrading to Lion breaks another rather expensive application that I need to support.
/rant mode off
I'm hoping I am wrong. If not, I'll have to get xcode and build this thing on the OS I have. But, maybe the permissions adventure will help somebody. No joy here yet either.
*pretty please build one that is Snow Leopard compatable.
I've read when building it, if you add -mmacosx-version-min=10.6 then it should work on Lion also!
(Win 7 & XP) dead. I think I will have the XP one up today after disk recovery and replacement... but I kind of want to run the Mac too.
One other thing I can try is to pull all the updates for my OS. The machine was off for quite a while. Will report back.
Just so you know those :(s aren't me angry in any way
I'm glad Jim mentioned it. I forgot to link this page earlier. Yep, 10.6 ropes mine in too, and that's going to cover a ton of Mac computers.
I can update later this year, but not yet.
In any case, I'm pretty sure it's building a P1 PropGCC. If successful, I'll want to get setup on the P2 branch and build that one and P2load. Might have a few questions.
So far, xcode is loaded, and I ran the rebuild.sh to just build it all from scratch. I'll check in on it this evening.
You'll have to do the equivilent of 'hg checkout p2test' to switch to the p2test branch. As far as I know it has not yet been merged into the default branch.
Hmmm... Well, I can do that on the command line tonight, if need be. The program wants a repository URL. I gave it the one on the front page, which got me the default branch. It's very nice to have all the changes, etc... displayed that way. I'll have to go investigate how to specify that in a URL.
Oh never mind... It's here:
http://machghelp.jasonfharris.com/kb/interface/how-do-i-work-with-branches
Nice, so I'll get it all sorted and start a P2test build when I can.
Since you know this code base well, let us know what you find! The other build completed, and it appears to be P1 GCC. Probably I need to specify something for P2 when building from the main. In any case, I've updated it all to the revision noted above and I see P2load, so I launched another build with rebuld.sh That's all I have time for right now. Build takes about an hour on this Mac it seems.
Not only FPGA -- BUT to all that will program P2 straight in ASSEMBLY.
Thanks
From there I can test!