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....
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:
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
Comments
I'll second that opinion -- I sure use GDB! I'd prefer that it at least build....
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:
That stuff is used later:
I see that I have the same problem, however, git describe returns this on my system (from the git repository root):
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.
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.
With the Parallax official repository https://github.com/parallaxinc/propgcc.git the output is correct:
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.
http://xkcd.com/1597/
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?
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
Is there anything we can do to help or encourage them?
Looking back I think you did explain it. Not sure I understand the explanation though
Okay, and as seen in the other thread, Jazzed is back in the game and working on it, so that's very good.
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.
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.
https://github.com/dbetz/propeller-gcc/issues/3
https://github.com/dbetz/propeller-load/issues/4
Maybe it isn't the right place.
I guess the implied answer is "nothing at the moment." I messaged him on the 10th and have not received a reply.
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!
Anyway, good job to everyone involved! So far, it has passed all of PropWare's unit tests.
Downloaded from build #45 of GCC 5 for windows: http://david.zemon.name:8111/viewLog.html?buildId=725&tab=buildResultsDiv&buildTypeId=PropGCC5_Gcc5win32
What do you mean by this? Is this something I should update on the build server?
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.