Shop OBEX P1 Docs P2 Docs Learn Events
propgcc now in the Parallax github - Page 10 — Parallax Forums

propgcc now in the Parallax github

1567810

Comments

  • DavidZemon wrote: »
    ersmith wrote: »
    David Betz wrote: »
    What relies on libexpat? Is it spin2cpp? Maybe Eric can answer that.

    This is still an issue :(

    spin2cpp certainly doesn't need libexpat. I think gdb is the only part of the propgcc system that needs it -- gdb uses xml for some configuration files for embedded systems. If you skip building gdb then you can probably avoid expat.

    Good to know, but we don't want to skip building GDB do we?

    I'll second that opinion -- I sure use GDB! I'd prefer that it at least build....


  • DavidZemon wrote: »
    Builds from my build server don't include the tweak/patch version in the version string. For instance, the --version output gives:
    dzweb@davidzemonname:~$ propgcc4-bin/bin/propeller-elf-gcc --version
    propeller-elf-gcc (propellergcc-alpha_v1_9_0_) 4.6.1
    Copyright (C) 2011 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

    That's no good! :(
    Anyone mind pointing me in the right direction for getting that added to the build?
    (yeti@aurora:6)/opt/parallax.src/propgcc$ /opt/parallax/bin/propeller-elf-gcc -v
    Using built-in specs.
    COLLECT_GCC=/opt/parallax/bin/propeller-elf-gcc
    COLLECT_LTO_WRAPPER=/opt/parallax/libexec/gcc/propeller-elf/4.6.1/lto-wrapper
    Target: propeller-elf
    Configured with: /home/yeti/wrk/propeller/propgcc/propgcc/gcc/configure --target=propeller-elf --prefix=/opt/parallax --disable-nls --disable-shared --with-pkgversion=propellergcc-alpha_v1_9_0_move-to-github-7-g6468fbf --with-bugurl=http://code.google.com/p/propgcc/issues
    Thread model: single
    gcc version 4.6.1 (propellergcc-alpha_v1_9_0_move-to-github-7-g6468fbf) 
    (yeti@aurora:6)/opt/parallax.src/propgcc$ /opt/parallax/bin/propeller-elf-gcc --version
    propeller-elf-gcc (propellergcc-alpha_v1_9_0_move-to-github-7-g6468fbf) 4.6.1
    Copyright (C) 2011 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

    Your output shows "propellergcc-alpha_v1_9_0_" and the trailing underscore makes me think the substitition of $GITVERSION failed...

    The Makefile should set some hints about the sources version:
    96 GITVERSION=$(shell git describe --tags --long 2>/dev/null)
    97
    98 PROPGCC_VERSION=$(VERSION)_$(GITVERSION)
    

    That stuff is used later:
       107  #
       108  # configure options for propgcc
       109  #
       110  CONFIG_OPTIONS=--with-pkgversion=$(PROPGCC_VERSION) --with-bugurl=$(BUGURL) $(CFGCROSS)
    
  • yeti wrote: »
    The Makefile should set some hints about the sources version:
    96 GITVERSION=$(shell git describe --tags --long 2>/dev/null)
    97
    98 PROPGCC_VERSION=$(VERSION)_$(GITVERSION)
    

    I see that I have the same problem, however, git describe returns this on my system (from the git repository root):
    marco@bridge:~/git/propeller-gcc$ git describe --tags --long
    fatal: No names found, cannot describe anything.
    

    Needs to be run from a specific subdirectory ?

    I'm using git version 1.9.1 on Ubuntu 14.04LTS.
  • macca wrote: »
    yeti wrote: »
    The Makefile should set some hints about the sources version:
    96 GITVERSION=$(shell git describe --tags --long 2>/dev/null)
    97
    98 PROPGCC_VERSION=$(VERSION)_$(GITVERSION)
    

    I see that I have the same problem, however, git describe returns this on my system (from the git repository root):
    marco@bridge:~/git/propeller-gcc$ git describe --tags --long
    fatal: No names found, cannot describe anything.
    

    Needs to be run from a specific subdirectory ?

    I'm using git version 1.9.1 on Ubuntu 14.04LTS.

    I have git 1.8.4, on a slackware linux system.
    I got the repository with: git clone https://github.com/parallaxinc/propgcc/commit/589af82f48724ec5f5a3ebc88ebb75f71c2b9c1c gitPropGCC
    When I run the same command as you did; in the gitPropGCC top directory as of last night, Nov 8th,2015.
    git describe --tags --long
    propellergcc-alpha_v1_9_1-4-g589af82

    I get the git clone commit hash with two extra characters -4-g ; I don't know what the 4 is about, but the g is obviously a non-hexadecimal character and perhaps a clue that it's supposed to unambigously identify the leading characters from a git commit hash number.

    So, your problem is going to be either from the repository you cloned (only if different from above), the version of Git that you are running, or the way ubuntu installed it.

    DavidZemon's problem appears to be that his machine was set up to clone from an older repository that was out of sync with parallax's official one. The other repository from David Betz doesn't report the version number correctly.

    Hope that helps.
    Cheers.
  • I'm using David Betz's repository https://github.com/dbetz/propeller-gcc

    With the Parallax official repository https://github.com/parallaxinc/propgcc.git the output is correct:
    marco@bridge:~/git/propgcc-parallax$ git describe --tags --long
    propellergcc-alpha_v1_9_1-4-g589af82
    

    So I guess something wasn't cloned properly.

    I start to get lost with all this clones... I'm using David Betz's repository because I tought it was the most up-to date and includes few fixes to the pasm cog mode that are needed to properly port source code from spin. Fixes that, as far as I know, were not ported to Parallax's repository.
  • The propgcc repositories are a bit fragmented now. The propgcc that is in the Parallax github is basically the same as the code that was in Google Code before they shut that down. The "propeller-gcc" repository in my github account is really just a wrapper project that pulls code from Eric's compiler, binutils, and library projects. This was an attempt to make sure that we could get the latest fixes in those projects rather than a checkpoint at a certain point in time. We never moved that wrapper project to the Parallax github because it hasn't been sufficiently tested yet.
  • David Betz wrote: »
    The propgcc repositories are a bit fragmented now. The propgcc that is in the Parallax github is basically the same as the code that was in Google Code before they shut that down. The "propeller-gcc" repository in my github account is really just a wrapper project that pulls code from Eric's compiler, binutils, and library projects. This was an attempt to make sure that we could get the latest fixes in those projects rather than a checkpoint at a certain point in time. We never moved that wrapper project to the Parallax github because it hasn't been sufficiently tested yet.

    Oh... this is quite confusing. So what works needs to be done to clean it up (aka, merge the repos)? Is it development, testing, or acceptance testing by Parallax? Or something else?
  • Heater.Heater. Posts: 21,230
    Would the real propeller-gcc please stand up?

    Or is it "propgcc"?

    What is going on here ?

    I notice parallaxinc has a ton of repos. I can't fathom what most of them do :(

    https://github.com/parallaxinc
  • Heater. wrote: »
    Would the real propeller-gcc please stand up?

    Or is it "propgcc"?

    What is going on here ?

    I notice parallaxinc has a ton of repos. I can't fathom what most of them do :(

    https://github.com/parallaxinc
    I think I just explained the difference between parallaxinc/propgcc and dbetz/propeller-gcc. Is that what you're asking?

  • DavidZemon wrote: »
    David Betz wrote: »
    The propgcc repositories are a bit fragmented now. The propgcc that is in the Parallax github is basically the same as the code that was in Google Code before they shut that down. The "propeller-gcc" repository in my github account is really just a wrapper project that pulls code from Eric's compiler, binutils, and library projects. This was an attempt to make sure that we could get the latest fixes in those projects rather than a checkpoint at a certain point in time. We never moved that wrapper project to the Parallax github because it hasn't been sufficiently tested yet.

    Oh... this is quite confusing. So what works needs to be done to clean it up (aka, merge the repos)? Is it development, testing, or acceptance testing by Parallax? Or something else?
    Mostly, acceptance testing by Parallax needs to be done.

  • DavidZemonDavidZemon Posts: 2,973
    edited 2015-11-10 14:58
    David Betz wrote: »
    Mostly, acceptance testing by Parallax needs to be done.

    Is there anything we can do to help or encourage them?
  • DavidZemon wrote: »
    David Betz wrote: »
    Mostly, acceptance testing by Parallax needs to be done.

    Is there anything we can do to help or encourage them?
    I think the first thing that is needed is a SimpleIDE release containing the new PropGCC or at a minimum a command line tools release. Unfortunately, I don't think Parallax has ever made a command line tools release so it will have to be SimpleIDE.

  • Heater.Heater. Posts: 21,230
    David Betz,

    Looking back I think you did explain it. Not sure I understand the explanation though :(
  • Heater. wrote: »
    David Betz,

    Looking back I think you did explain it. Not sure I understand the explanation though :(
    To simplify, propeller-gcc has more recent code. Neither has been tested enough to replace the older version of propgcc that is currently included in SimpleIDE.

  • DavidZemonDavidZemon Posts: 2,973
    edited 2015-11-10 15:34
    David Betz wrote: »
    DavidZemon wrote: »
    David Betz wrote: »
    Mostly, acceptance testing by Parallax needs to be done.

    Is there anything we can do to help or encourage them?
    I think the first thing that is needed is a SimpleIDE release containing the new PropGCC

    Okay, and as seen in the other thread, Jazzed is back in the game and working on it, so that's very good.
    David Betz wrote: »
    or at a minimum a command line tools release. Unfortunately, I don't think Parallax has ever made a command line tools release so it will have to be SimpleIDE.

    How would you define command line tools release? I hoped the binaries produced by my build server would fit that bill, and could be used by both Parallax and the community for such testing.
  • DavidZemon wrote: »
    David Betz wrote: »
    DavidZemon wrote: »
    David Betz wrote: »
    Mostly, acceptance testing by Parallax needs to be done.

    Is there anything we can do to help or encourage them?
    I think the first thing that is needed is a SimpleIDE release containing the new PropGCC

    Okay, and as seen in the other thread, Jazzed is back in the game and working on it, so that's very good.
    David Betz wrote: »
    or at a minimum a command line tools release. Unfortunately, I don't think Parallax has ever made a command line tools release so it will have to be SimpleIDE.

    How would you define command line tools release? I hoped the binaries produced by my build server would fit that bill, and could be used by both Parallax and the community for such testing.
    Good point. Those should be fine for anyone who is willing to deal with a zip file or tarball or whatever you provide. I guess I was thinking some might want a GUI installer like is provided with SimpleIDE.

  • David Betz wrote: »
    Good point. Those should be fine for anyone who is willing to deal with a zip file or tarball or whatever you provide. I guess I was thinking some might want a GUI installer like is provided with SimpleIDE.

    An executable installer that adds the bin directory to PATH would be great. And also has a default path without spaces or parenthesis. But I'm a strong proponent of putting that in the source code, not the build server. If it helps Parallax with their adoption of newer versions of PropGCC, I would be willing to help write the necessary packaging scripts for NSIS, deb and rpm.
  • DavidZemon wrote: »
    David Betz wrote: »
    Good point. Those should be fine for anyone who is willing to deal with a zip file or tarball or whatever you provide. I guess I was thinking some might want a GUI installer like is provided with SimpleIDE.

    An executable installer that adds the bin directory to PATH would be great. And also has a default path without spaces or parenthesis. But I'm a strong proponent of putting that in the source code, not the build server. If it helps Parallax with their adoption of newer versions of PropGCC, I would be willing to help write the necessary packaging scripts for NSIS, deb and rpm.

    Ask Jeff Martin what sort of help he needs.

  • BTW, I opened two issues on GitHub sometime ago:

    https://github.com/dbetz/propeller-gcc/issues/3
    https://github.com/dbetz/propeller-load/issues/4

    Maybe it isn't the right place.
  • David BetzDavid Betz Posts: 14,511
    edited 2015-11-11 11:55
    macca wrote: »
    BTW, I opened two issues on GitHub sometime ago:

    https://github.com/dbetz/propeller-gcc/issues/3
    https://github.com/dbetz/propeller-load/issues/4

    Maybe it isn't the right place.
    Sorry for the delay on these. I just haven't had time to work on them.

  • David Betz wrote: »
    DavidZemon wrote: »
    David Betz wrote: »
    Good point. Those should be fine for anyone who is willing to deal with a zip file or tarball or whatever you provide. I guess I was thinking some might want a GUI installer like is provided with SimpleIDE.

    An executable installer that adds the bin directory to PATH would be great. And also has a default path without spaces or parenthesis. But I'm a strong proponent of putting that in the source code, not the build server. If it helps Parallax with their adoption of newer versions of PropGCC, I would be willing to help write the necessary packaging scripts for NSIS, deb and rpm.

    Ask Jeff Martin what sort of help he needs.

    I guess the implied answer is "nothing at the moment." I messaged him on the 10th and have not received a reply.
  • I was a little worried seeing David Betz's recent commits that all of the builds labeled as "GCC4" on the build server would now be GCC5, since the default has changed, but having looked in detail at both his commit and the server configuration, all should be good still. Both the GCC 4 and GCC 5 configurations explicitly set the "GCCDIR" environment variable to the correct value for that build.

    Also, one of the recent commits he made disabled GDB for Raspberry Pi, which has fixed the build!!! Now, all six lights are green once again!
  • With the default switching to GCC 5, I'll start using GCC 5 for PropWare development and make an effort to report any bugs/issues that I find.
  • Well, PropWare is working great with GCC5. I had to apply a few workarounds to the lack of C++ headers (https://github.com/dbetz/propeller-gcc/issues/4) - mostly just using headers like stdlib.h instead of cstdlib - one of which was particularly interesting. I'm using the type_traits header to provide access to static_assert and is_base_of for a certain class, and if that header is included after any of the C-style headers, i get a compilation error. So, I had to move that include to the top of runnable.h and then ensure any file which includes runnable.h has it as the first include. I'm guessing this problem will go away when I can start using C++ headers again, but can't confirm whether its a bug in GCC or not until then.

    Anyway, good job to everyone involved! So far, it has passed all of PropWare's unit tests.
  • jazzedjazzed Posts: 11,803
    edited 2015-12-30 20:08
    I've been using https://github.com/dbetz/propeller-gcc GCC5 builds for testing (Linux and win32 cross). It seems to be working fine for my simple purposes.
  • I tried PropGCC 5 on Windows for the first time today. propeller-elf-gcc.exe throws the following error dialogue box:
    The program can't start because libwinpthread-1.dll is missing from your computer. Try reinstalling the program to fix this problem.

    Downloaded from build #45 of GCC 5 for windows: http://david.zemon.name:8111/viewLog.html?buildId=725&tab=buildResultsDiv&buildTypeId=PropGCC5_Gcc5win32
  • DavidZemon wrote: »
    I tried PropGCC 5 on Windows for the first time today. propeller-elf-gcc.exe throws the following error dialogue box:
    The program can't start because libwinpthread-1.dll is missing from your computer. Try reinstalling the program to fix this problem.

    Downloaded from build #45 of GCC 5 for windows: http://david.zemon.name:8111/viewLog.html?buildId=725&tab=buildResultsDiv&buildTypeId=PropGCC5_Gcc5win32
    Looks like I need to check the dependencies again now that we've switched to a different version of MinGW. Thanks for reporting this.

  • David Betz wrote: »
    now that we've switched to a different version of MinGW.

    What do you mean by this? Is this something I should update on the build server?
  • Looks like cross compilation could be broken again: http://david.zemon.name:8111/project.html?projectId=PropGCC&tab=projectOverview&guest=1.

    Status is:

    GCC 4
    Linux x64 - pass
    Pi - fail
    Win32 - fail

    GCC 6
    Linux x64 - pass
    Pi - pass
    Win32 - fail

    Sorry that the builds are named "gcc5" not "gcc6". I'll see about fixing that soon.
Sign In or Register to comment.