Shop OBEX P1 Docs P2 Docs Learn Events
The WireWorld Computer - Page 5 — Parallax Forums

The WireWorld Computer

12357

Comments

  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 05:23
    Baggers wrote: »
    Cheers, no worries, enjoy :D
    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.
  • BaggersBaggers Posts: 3,019
    edited 2013-05-17 05:34
    I unzipped the zip and copied the files to the opt directory
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 06:00
    Baggers wrote: »
    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.
  • BaggersBaggers Posts: 3,019
    edited 2013-05-17 07:19
    Ok cheers,

    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 08:32
    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.

    http://code.google.com/p/propgcc/downloads/detail?name=prop2gcc_v0_3_5-x86_64-macosx.tar.bz2&can=2&q=
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-17 10:56
    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 10:59
    potatohead wrote: »
    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 13:29
    David Betz wrote: »
    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.

    http://code.google.com/p/propgcc/downloads/detail?name=prop2gcc_v0_3_5-x86_64-macosx.tar.bz2&can=2&q=
    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...
  • jazzedjazzed Posts: 11,803
    edited 2013-05-17 13:33
    David Betz wrote: »
    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?
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 13:42
    jazzed wrote: »
    Perhaps you have run into Google's insistence that all file names be unique?
    I thought about that and renamed the file but I still got an upload failure. Good suggestion though!
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 13:45
    Ah, interesting. Even though I got an error the last time I tried to upload, the file still seems to have been posted correctly.

    Here's the link:

    http://code.google.com/p/propgcc/downloads/detail?name=prop2gcc-mac-2013-05-17.tar.bz2&can=2&q=
  • BaggersBaggers Posts: 3,019
    edited 2013-05-17 13:56
    Still no joy :(
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-17 14:19
    Baggers wrote: »
    Still no joy :(
    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.

    $ PATH=/opt/parallax/bin:$PATH
    $ PATH=${HOME}/parallax/bin:$PATH
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-19 12:08
    Ok, I got a chance to do this.

    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.
  • BaggersBaggers Posts: 3,019
    edited 2013-05-19 12:16
    I'm getting Illegal instruction 4 now! :(

    I've read when building it, if you add -mmacosx-version-min=10.6 then it should work on Lion also!
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-19 12:28
    Oh lets hope! :). I haven't been prop 2 propping for way too many days.

    (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.
  • BaggersBaggers Posts: 3,019
    edited 2013-05-19 13:24
    I've just noticed, the sad face :( looks more like an angry face than a sad one lol

    Just so you know those :(s aren't me angry in any way :)
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-19 18:48
    Baggers wrote: »
    I'm getting Illegal instruction 4 now! :(

    I've read when building it, if you add -mmacosx-version-min=10.6 then it should work on Lion also!
    Thanks! I'll try adding that to the build. I guess that will pickup Snow Leopard too since it is 10.6.
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-19 19:49
    http://stackoverflow.com/questions/14268887/what-is-the-illegal-instruction-4-error-and-why-does-mmacosx-version-min-10

    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.
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-21 08:54
    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-21 09:04
    potatohead wrote: »
    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.
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-21 09:09
    Ok, thanks!

    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. :)
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-21 09:11
    potatohead wrote: »
    Ok, thanks!

    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".
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-21 09:25
    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-21 09:29
    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!
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-21 09:33
    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-21 09:37
    potatohead wrote: »
    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.
  • SapiehaSapieha Posts: 2,964
    edited 2013-05-21 09:48
    Hi David.

    Not only FPGA -- BUT to all that will program P2 straight in ASSEMBLY.

    Thanks
    David Betz wrote: »
    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.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-21 10:11
    Sapieha wrote: »
    Hi David.

    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.
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-21 10:14
    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. :)

    From there I can test!
Sign In or Register to comment.