Shop OBEX P1 Docs P2 Docs Learn Events
PropGCC 1.0.0 binaries? - Page 2 — Parallax Forums

PropGCC 1.0.0 binaries?

2»

Comments

  • potatoheadpotatohead Posts: 10,261
    edited 2014-09-10 00:33
    About setting the path... I just remembered! (this needs to go in the docs too)

    So, the Mac uses a set of files and an /etc directory to setup your path. Here is mine:
    spanky:ddingus$ cd /etc/paths.d
    spanky:paths.d ddingus$ ls
    PropGCC    X11
    spanky:paths.d ddingus$ cat PropGCC
    /opt/parallax/bin/
    spanky:paths.d ddingus$ 
    

    Notice the file PropGCC only contains the line containing the path. That's how it's done on a Mac. You can, of course use a start or logon script, and do it the UNIX way, but that won't necessarily be supported by Apple. YMMV.

    If you do it the way shown above; namely, just create a file in /etc/paths.d called PropGCC, then the Mac will set your path where it needs to be set, no worries.

    Something like sudo echo "/opt/parallax/bin" > /etc/paths.d/PropGCC should do the trick. Don't forget xattr, if it won't run or you see an @ sign in the permissions shown by ls -l...
  • DavidZemonDavidZemon Posts: 2,973
    edited 2014-09-10 09:16
    Thanks for all the above posts! I've been worrying for months how I was going to do this on a Mac and you seem to have answered nearly all my questions. Now, by adding the file under /etc/paths.d, will that work for GUI applications as well or just command line?
  • potatoheadpotatohead Posts: 10,261
    edited 2014-09-10 09:40
    It should just work. I've not tried a GUI however.

    Ask the others about the demos and other associated files. My older package in my signature contains a lot of that stuff. Maybe it's still the same. Either way, these are the binaries. You should be able to get the other files from a Linux or Windows package. This one is a simple archive of /opt/parallax, plain vanilla.
  • DavidZemonDavidZemon Posts: 2,973
    edited 2014-09-10 09:49
    potatohead wrote: »
    It should just work. I've not tried a GUI however.

    Ask the others about the demos and other associated files. My older package in my signature contains a lot of that stuff. Maybe it's still the same. Either way, these are the binaries. You should be able to get the other files from a Linux or Windows package. This one is a simple archive of /opt/parallax, plain vanilla.

    Yep - the demos won't be a problem. I'll do a diff of the directories and get them to match up nicely.

    Is Make easy to package with it? That's the last complicated piece needs to be done for Mac users that want to try PropWare (it requires Make). My instructions currently just point them to a stackoverflow thread talking about installing it via xcode... but I'd love to find another option. I know the windows binaries package the make executable right in there with PropGCC.
  • potatoheadpotatohead Posts: 10,261
    edited 2014-09-10 09:54
    I used Xcode. Seems to me, either they get that, or you will need to build or find Make for Mac. I would target 10.6.8, as that's common to nearly all Intel machines out there at this point.

    Of course, packaging a make with prop-gcc may well name clash with a make they have via Xcode, or something else. Might want to name it something else, and alias it, or package it separately...

    Xcode is free, and very highly recommended, FYI.

    It's expected to package it up for Windows. Windows typically has nothing, and there are any number of ways to do Unixey things on it. No worries. It's kind of a mess.

    But the Mac does have official tools, etc...

    Either way, I'm sure you can get a binary and make a "just works" package.
  • MikeW50MikeW50 Posts: 15
    edited 2014-09-30 14:11
    potatohead wrote: »
    I used Xcode.

    ...

    Xcode is free, and very highly recommended, FYI.

    Did you actually compile gcc under XCode, or do yo mean you are using the propgcc compiler form XCode?
  • MikeW50MikeW50 Posts: 15
    edited 2014-09-30 14:19
    I'm trying to compile a newer version of PropGCC and running into some issues. I'm wondering if anyone can shed some light.

    The parts:
    PropGCC is the 1.0 version from https://code.google.com/p/propgcc/source/browse/?name=release_1_0
    I'm compiling from OS X 10.9.5

    I've downloaded the repository and placed in in a folder.

    I've had the most success following the instructions in README.txt from the root of the install. The read me file gives linux install instructions and fails at this step while building binutils:
    (6) cd propgcc/loader; source setenv.linux; make clean; make; make install
    

    The failure is during make, when a c file is being compiled. That's no doubt because I'mon OS X and not linux, so I tried
    source setenv.macosx
    

    This still fails during the make step with this output:
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]CFLAGS: -Wno-string-plus-int -Wno-deprecated-declarations -Wno-empty-body -Wno-self-assign -Wno-sometimes-uninitialized -DMACOSX -Wall -Isrc/common -Isrc/runtime -Isrc/loader[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]LDFLAGS: -Wno-string-plus-int -Wno-deprecated-declarations -Wno-empty-body -Wno-self-assign -Wno-sometimes-uninitialized -DMACOSX -Wall -Isrc/common -Isrc/runtime -Isrc/loader[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]SPINFLAGS:[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]mkdir -p bin/macosx[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]mkdir -p obj/macosx[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]bin/macosx/bin2c[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/propeller-load.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/loader.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/lmm-image.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/xmm-image.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/pex-image.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/loadelf.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/packet.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/PLoadLib.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/config.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/expr.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/system.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]obj/macosx/port.o[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]make: openspin: No such file or directory[/FONT]
    [/FONT][/COLOR]
    [COLOR=#000000][FONT=Helvetica][FONT=Menlo]make: *** [obj/macosx/serial_helper.binary] Error 1[/FONT][/FONT][/COLOR]
    


    Any thoughts?
  • potatoheadpotatohead Posts: 10,261
    edited 2014-09-30 18:43
    I compiled GCC with Xcode. And I'm building on an older OS X
  • ersmithersmith Posts: 6,053
    edited 2014-10-03 06:25
    Looks like you need to install the Open Spin compiler to build PropGCC (or at least, to build the loader). Some of the memory drivers are written in Spin (well, actually PASM).
  • ersmithersmith Posts: 6,053
    edited 2014-10-03 06:31
    ersmith wrote: »
    Looks like you need to install the Open Spin compiler to build PropGCC (or at least, to build the loader). Some of the memory drivers are written in Spin (well, actually PASM).

    Hmmm, looking further it appears that a binary of openspin is included in the PropGCC repository, so all you should have to do is "make install-spin-compiler" in the PropGCC folder to get Open Spin installed.

    At some point we should get rid of the openspin dependency; obviously PropGCC itself is capable of building all the drivers ("gas -pasm" is now a pretty good PASM assembler). To be honest though I think it's been seen as a low priority because usually anyone who builds PropGCC from source will have access to a Spin compiler of some sort (even spin2cpp will work, I think).

    Eric
  • David BetzDavid Betz Posts: 14,516
    edited 2014-10-03 06:39
    ersmith wrote: »
    Hmmm, looking further it appears that a binary of openspin is included in the PropGCC repository, so all you should have to do is "make install-spin-compiler" in the PropGCC folder to get Open Spin installed.

    At some point we should get rid of the openspin dependency; obviously PropGCC itself is capable of building all the drivers ("gas -pasm" is now a pretty good PASM assembler). To be honest though I think it's been seen as a low priority because usually anyone who builds PropGCC from source will have access to a Spin compiler of some sort (even spin2cpp will work, I think).

    Eric
    I've actually been thinking about removing both openspin and spin2cpp from the propgcc repository and just having the makefile pull those from their official repositories. Also, I think the plan is to use OpenSpin to build all of the Spin/PASM code in the propgcc tree. That is what is currently done on the release_1_0 branch according to Steve.
  • ersmithersmith Posts: 6,053
    edited 2014-10-03 12:24
    David Betz wrote: »
    I've actually been thinking about removing both openspin and spin2cpp from the propgcc repository and just having the makefile pull those from their official repositories. Also, I think the plan is to use OpenSpin to build all of the Spin/PASM code in the propgcc tree. That is what is currently done on the release_1_0 branch according to Steve.

    Do we actually need Spin code? I'm wondering if we could convert it to C/C++ and be done with it. I got the impression that most of the Spin code is thin interface to PASM, but it's been a while since I looked at it so perhaps I'm forgetting something.
  • David BetzDavid Betz Posts: 14,516
    edited 2014-10-03 12:34
    ersmith wrote: »
    Do we actually need Spin code? I'm wondering if we could convert it to C/C++ and be done with it. I got the impression that most of the Spin code is thin interface to PASM, but it's been a while since I looked at it so perhaps I'm forgetting something.
    There is some Spin code in the loader that needs to be able to read/write files to an SD card. I'm not sure if our filesystem support is small enough to fit in LMM or CMM along with the rest of the loader helper code. I could take a look though.
  • DavidZemonDavidZemon Posts: 2,973
    edited 2015-03-13 20:34
    Anyone compiled new binaries? the latest I have are:

    Windows: 1.9.0 (unknown build number, probably b2408)
    Linux: 1.9.0 b2408
    Mac: 1.0.0

    I'd like to update my hosted binaries, as I know there have been numerous updates/fixes/changes.
  • msrobotsmsrobots Posts: 3,709
    edited 2015-03-13 21:06
    @SwimDude0614,

    JetBrains has a solution for you!

    It is called TeamCity. Just look for yourself. Web based Interface and nice scriptable actions what to do after the source in the repository has changed. Run tests, Do duplicate reports, Run builds and even deploy to servers.

    I love it since years. Its not just Java. I use it mostly with C#, but C/C++ will work as well.

    Enjoy!

    Mike
  • DavidZemonDavidZemon Posts: 2,973
    edited 2015-03-13 21:12
    That's a really good idea. Odd I didn't think of that myself... I'm actually the guy in charge of my team's Jenkins server :P
  • potatoheadpotatohead Posts: 10,261
    edited 2015-03-13 22:47
    I'm about to upgrade my Mac. I can do one more build of PropGCC for MacOS 10.6.8.

    Revision 2439, Default Branch.

    After this one, I'll be on Longhorn

    tip
    Branch Head: default
    Parent: 2438
    Author: Eric Smith <ersmith@totalspectrum.ca>
    Branch: default
    Date: 13 days ago (February 28, 2015 7:45 AM)
    Description: fixed OMP code, and made it possible to change the openmp stack size
  • potatoheadpotatohead Posts: 10,261
    edited 2015-03-13 23:12
    Here's the dropbox. spinsim and spin2cpp binaries done as well

    https://www.dropbox.com/sh/i25rjhur201gf79/AACvhIhgld6X8a2m4Xoqn4Rba?dl=0

    Have we fixed being able to build old MacOS binaries yet? I was going to dual boot this machine just to leave this option open, but that's not going to work out for a few reasons...

    Maybe it's time for people to really, really upgrade their Macs!

    Edit: Please check that one. I'll not upgrade this machine tomorrow. If another build is needed, let me know.
  • DavidZemonDavidZemon Posts: 2,973
    edited 2015-03-14 07:19
    potatohead wrote: »
    Here's the dropbox. spinsim and spin2cpp binaries done as well

    https://www.dropbox.com/sh/i25rjhur201gf79/AACvhIhgld6X8a2m4Xoqn4Rba?dl=0

    Have we fixed being able to build old MacOS binaries yet? I was going to dual boot this machine just to leave this option open, but that's not going to work out for a few reasons...

    Maybe it's time for people to really, really upgrade their Macs!

    Edit: Please check that one. I'll not upgrade this machine tomorrow. If another build is needed, let me know.

    There are few enough users using Mac in general, I'm not too concerned about the 0.0001% of this forum using old versions of Mac. (should I be?)

    Also - that folder appears empty :(

    In other news, I have TeamCity up and running on my server! I'm using it to build PropWare first, since that is easier and faster than PropGCC. Once fully configured for PropWare, auto-deploying the zips and everything, I'll configure it for PropGCC for windows, linux and RPis too.
  • potatoheadpotatohead Posts: 10,261
    edited 2015-03-14 08:53
    https://www.dropbox.com/s/539urmnpemdhxra/parallax.zip?dl=0

    You may have caught it before it was updated. I just shared it again.

    I was also supporting some specific software on this one. It finally got a refresh to newer Mac OS.

    Anyway, I was not sure. Professionally, people move to newer OSes regularly. On a hobby / non pro bases? I have no idea.
Sign In or Register to comment.