Hmmm... not sure what happened there. I did update all of the submodules so maybe there was a change in one of them that broke some of the builds.
I'll change the concurrent job count from 6 to 1 and then post a link to the build log. Hopefully that will make it easier to figure out what went wrong.
Do the GCC6-Builds support C++?
I just downloaded the newest version for Windows (#57) and had the libwinpthread-1.dll problem at first, but downloading the missing library from here seemed to solve this for good.
However, attempting to use the
propeller-elf-c++.exe
to actually compile something always results in the same error:
cannot find -lstdc++
Having a look at the
propeller-elf/lib
directory and comparing it with that of the gcc4-version brought me: The libstdc++.a files are missing indeed.
So I just took them and copied them over - which seems to work. Hoewever, as I understand it, this also means that this are still the old standard libs, right?
Do the GCC6-Builds support C++?
I just downloaded the newest version for Windows (#57) and had the libwinpthread-1.dll problem at first, but downloading the missing library from here seemed to solve this for good.
However, attempting to use the
propeller-elf-c++.exe
to actually compile something always results in the same error:
cannot find -lstdc++
Having a look at the
propeller-elf/lib
directory and comparing it with that of the gcc4-version brought me: The libstdc++.a files are missing indeed.
So I just took them and copied them over - which seems to work. Hoewever, as I understand it, this also means that this are still the old standard libs, right?
There is some bug in the GCC6 build process that is preventing libstdc++ from being built. Since Parallax hasn't even moved to the new GCC4, no one has taken the time to track it down and fix it.
You'll also notice that the packaging process for the GCC6 branch is not including a number of C++ headers.
@seijikun, are you sure you want to use c++.exe and therefore link against libstdc++.a? I get around this by compiling C++ source files with gcc. Granted, that doesn't help you with the missing C++ headers, but it's one problem solved at least.
DavidZemon: Could you mark the GCC6 builds as "Experimental" or something like that?
I can rename it, but I don't know of any feature in TeamCity to "flag" a build. Changing the name will change the links though, so we'll need to sync up the first post of this thread, PropWare's link, and the name of the project in TeamCity. I've been waiting for a good time to do that since it need to be renamed to GCC6 anyway.
DavidZemon: Could you mark the GCC6 builds as "Experimental" or something like that?
I can rename it, but I don't know of any feature in TeamCity to "flag" a build. Changing the name will change the links though, so we'll need to sync up the first post of this thread, PropWare's link, and the name of the project in TeamCity. I've been waiting for a good time to do that since it need to be renamed to GCC6 anyway.
Maybe it's not worth trying to flag it. I'm not sure you want to rename it to GCC6 either. Eric tells me it will track the GCC releases so eventually it will probably be GCC7.
DavidZemon: Could you mark the GCC6 builds as "Experimental" or something like that?
I can rename it, but I don't know of any feature in TeamCity to "flag" a build. Changing the name will change the links though, so we'll need to sync up the first post of this thread, PropWare's link, and the name of the project in TeamCity. I've been waiting for a good time to do that since it need to be renamed to GCC6 anyway.
Maybe it's not worth trying to flag it. I'm not sure you want to rename it to GCC6 either. Eric tells me it will track the GCC releases so eventually it will probably be GCC7.
Okay. That would work. I would personally prefer the git branch be named "develop" and then, once ready, create a new branch named "gcc6". Basically, following the git flow paradigm.
DavidZemon: Could you mark the GCC6 builds as "Experimental" or something like that?
I can rename it, but I don't know of any feature in TeamCity to "flag" a build. Changing the name will change the links though, so we'll need to sync up the first post of this thread, PropWare's link, and the name of the project in TeamCity. I've been waiting for a good time to do that since it need to be renamed to GCC6 anyway.
Maybe it's not worth trying to flag it. I'm not sure you want to rename it to GCC6 either. Eric tells me it will track the GCC releases so eventually it will probably be GCC7.
Okay. That would work. I would personally prefer the git branch be named "develop" and then, once ready, create a new branch named "gcc6". Basically, following the git flow paradigm.
Actually, I think the repository is just called "gcc". It's Eric's so you'll have to ask him about renaming it.
DavidZemon: Could you mark the GCC6 builds as "Experimental" or something like that?
I can rename it, but I don't know of any feature in TeamCity to "flag" a build. Changing the name will change the links though, so we'll need to sync up the first post of this thread, PropWare's link, and the name of the project in TeamCity. I've been waiting for a good time to do that since it need to be renamed to GCC6 anyway.
Maybe it's not worth trying to flag it. I'm not sure you want to rename it to GCC6 either. Eric tells me it will track the GCC releases so eventually it will probably be GCC7.
Okay. That would work. I would personally prefer the git branch be named "develop" and then, once ready, create a new branch named "gcc6". Basically, following the git flow paradigm.
Actually, I think the repository is just called "gcc". It's Eric's so you'll have to ask him about renaming it.
Yep, that sounds right. @ersmith, what do you think? Do you know git flow? Do you like git flow? Any opposition to moving the PropGCC workflow to git flow?
I had massive problems writing inline assembly and thought (hoped...) that it might be a compiler problem.
It, however, turned out that:
Do not use INA as the destination operand
also goes for instructions that do not actually write a result. (such as test - Thanks Obama!)
This at least solved some problems. So in the end, the problem was in front of the keyboard, like always.
Thank you for all the good work guys! And thanks for PropWare - it's awesome
Okay. That would work. I would personally prefer the git branch be named "develop" and then, once ready, create a new branch named "gcc6". Basically, following the git flow paradigm.
Actually, I think the repository is just called "gcc". It's Eric's so you'll have to ask him about renaming it.
Yep, that sounds right. @ersmith, what do you think? Do you know git flow? Do you like git flow? Any opposition to moving the PropGCC workflow to git flow?
Our branch tracks the upstream GCC release (or at least, it's intended too) so I think we have to use the GCC branch names. But I haven't looked at it in a while, so I could be mis-remembering.
Doing some playing around again and found out that PropGCC doesn't compile with GCC v7 (comes with Ubuntu 17.10). I don't think it's PropGCC's fault, but more specifically upstream GCC's fault. GCC v7 has a new flag "implicit-fallthrough" which throws errors by default, and I've been having a lot of problems with GCC v7 throwing errors while trying to compile older versions of GCC. This makes it a bit more difficult to continue compiling PropGCC on newer systems. I sure hope P2 comes out soon so that we can get a PropGCC refresh.
Comments
I'll change the concurrent job count from 6 to 1 and then post a link to the build log. Hopefully that will make it easier to figure out what went wrong.
Download the full log in plain text here: http://david.zemon.name:8111/downloadBuildLog.html?buildId=1452&guest=1
or view it in the browser here:
http://david.zemon.name:8111/viewLog.html?tab=buildLog&buildTypeId=PropGCC5_Gcc4rpi&buildId=1452&guest=1#_state=246&focus=21736
I just downloaded the newest version for Windows (#57) and had the libwinpthread-1.dll problem at first, but downloading the missing library from here seemed to solve this for good.
However, attempting to use the to actually compile something always results in the same error: Having a look at the directory and comparing it with that of the gcc4-version brought me: The libstdc++.a files are missing indeed.
So I just took them and copied them over - which seems to work. Hoewever, as I understand it, this also means that this are still the old standard libs, right?
@seijikun, are you sure you want to use c++.exe and therefore link against libstdc++.a? I get around this by compiling C++ source files with gcc. Granted, that doesn't help you with the missing C++ headers, but it's one problem solved at least.
I can rename it, but I don't know of any feature in TeamCity to "flag" a build. Changing the name will change the links though, so we'll need to sync up the first post of this thread, PropWare's link, and the name of the project in TeamCity. I've been waiting for a good time to do that since it need to be renamed to GCC6 anyway.
Okay. That would work. I would personally prefer the git branch be named "develop" and then, once ready, create a new branch named "gcc6". Basically, following the git flow paradigm.
Yep, that sounds right. @ersmith, what do you think? Do you know git flow? Do you like git flow? Any opposition to moving the PropGCC workflow to git flow?
It, however, turned out that: also goes for instructions that do not actually write a result. (such as test - Thanks Obama!)
This at least solved some problems. So in the end, the problem was in front of the keyboard, like always.
Thank you for all the good work guys! And thanks for PropWare - it's awesome
I'm thrilled to hear it!
Our branch tracks the upstream GCC release (or at least, it's intended too) so I think we have to use the GCC branch names. But I haven't looked at it in a while, so I could be mis-remembering.
-Mike R...
:-P