|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||
|
|||
|
GCC 4.8 Toolchain
Hi all,
Since it appears that CD has cleaned out old topics, I'm opening a new thread so that people with issues with the GCC 4.8 toolchain can get support. Please post any future questions regarding this project in this thread. Features: - GCC 4.8, with all it's awesomeness including caret diagnostics, improved error messages, better optimizations, etc. - C++11 support. While this is a 4.8 feature, it deserves its own bullet point. Note that this is not yet enabled by default on all platforms due to some issues with updating WPILib. - Native builds for linux, with alpha native builds for OSX and Windows (including a .msi made using WIX, so you know it's legit) - All-around awesomeness If you want to help out with development, please do! Read the wiki, look at the code, and post here! A few links: FirstForge page for the project, including wiki with a decent amount of information to get up to speed on the project: http://firstforge.wpi.edu/sf/projects/c--11_toochain Wiki page on that project page that details how to get and install. Note that, being territorial, I'm going to recommend my repos over Patricks . In all seriousness though, mine are stable for cRIO development, but Patrick's repos offer various features in different stages of development, which I'll pull in once I'm convinced they're stable.http://firstforge.wpi.edu/sf/wiki/do.../BinaryInstall Wiki page on how to build and install with FRCMake (the IMHO easiest and best way to build these projects): http://firstforge.wpi.edu/sf/wiki/do...iki/UsingCMake Link to the Windows Installer: http://firstforge.wpi.edu/sf/frs/do/...tallers.alpha0 Note that once you install the windows installer, you have FRCMake et al installed automatically. Link to the old topic to find old discussion - it's long but well worth reading if you want to learn more (second only to the wiki): http://www.chiefdelphi.com/forums/sh...d.php?t=109385 WPILib repository (open development, unlike closed-off upstream): https://github.com/rbmj/wpilib All of the code/buildscripts can be found either on the team's bitbucket: https://bitbucket.org/frc-cpp11 or some is still on my github page: https://github.com/rbmj/ As always, help is appreciated. Enjoy! Last edited by rbmj : 16-05-2013 at 13:44. |
|
#2
|
||||
|
||||
|
Re: GCC 4.8 Toolchain
I have nothing to comment on the rest of the post, but on the main page of the subforum, there's a box titled "Display Options" Perhaps the thread you're looking for hasn't been posted in for over a month?
|
|
#3
|
||||
|
||||
|
Re: GCC 4.8 Toolchain
The old thread was a bit cluttered anyway, the new main post has all of the links in one place, i say keep this thread.
|
|
#4
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
Quote:
Links in one place is also rather good. After a thread gets to ten pages long it starts to get hard to sift through everything... I apologize to the community for the double post. |
|
#5
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
This is a bit of an old thread, but I figured I'd try asking here first. Does the Windows installer support C++11? I tried to compile an old project with
Code:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
#6
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
The current builds do not. When I get around to it I'll rebuild it with C++11 support.
If you build from source with the latest version of everything, you should not have this problem. |
|
#7
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
Cool. Now I just need to figure out how I'm gonna do that crazy build process for Windows.
|
|
#8
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
It's quite crazy. Hopefully it all makes sense to you. I'm going to work on making those crazy makefiles a bit more readable. If you need any help let me know - or request edits to the documentation that I can pull.
Basically, you set up a cross mingw on linux and get the toolchain working there. Because building GCC through cygwin sucks, you end up building everything on linux and then packing it all up on windows (as I did *not* want to mess with wine). I recommend going onto a machine with a dual boot and mounting the NTFS partition from linux and then running the install there. If the build process looks strange, that's because it is. There's some bugs in the GCC build that prevent the target libraries (i.e. libgcc and libstdc++ for vxworks) from building through mingw. It's due to some stupid configure issues for a canadian cross where it tries to run the host compiler to build the target libraries even though it's not native to the build platform. What it's supposed to do is build two compilers, but it doesn't seem to do this by default. The solution: Just do the whole build process twice. I ran into a lot of issues (wix in particular liked to crash), but the build process is fairly stable, if long and involved. Again, if you need any help, I'm here. |
|
#9
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
In the FIRSTForge wiki's requirements for building for windows, one of the linux requirements is "Working linux toolchain", does that mean just a working GCC install, or a working install of the powerpc-wrs-vxworks toolchain?
|
|
#10
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
Quote:
You need to have gcc-powerpc-wrs-vxworks installed because part of the build process is building wpilib on linux. This is built with frcmake et al, so you need to have all of that installed. I didn't want to have the build process install things halfway through/have to run as root, so I just made it a predependency. Since the linux binaries work and are relatively stable, I don't see this as a big problem. Additionally, building from source under linux is now (relatively) easy - no more patching and crap, and the everything is documented. |
|
#11
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
I updated the wiki to make it slightly more clear.
Building on windows is still a mess. Maybe when I get a bit more motivation and rebuild everything I'll make those make files a bit less ugly. My build virtual machines were on an external hard drive that broke a couple of months ago, so that might take a while - I have a lot less free time than I would like. The next release should have a few incremental improvements, but no major changes. Biggest improvements will include a removal of some ugly symlink cruft on linux (WARNING- may break existing installations, but will make distributing libraries much nicer), an upgrade to gcc-4.8.1 including a small vxworks-specific patch for thread specific data finalizers (I doubt anybody used this), and hopefully a more stable windows build. Patrick got debugging functioning but I don't know how he did it, can't test it (no cRIO), and therefore won't release it until he says it's ready to go. Those who can actually work through these things, feel free to look at the repos and test things out. At the end of this, I'm hoping that a community can develop where teams can have their own libraries and share them with the first community such that I can incorporate some other team's library by doing a 'sudo aptitude install frcfoobar' and then adding 'find_package(frcfoobar)' to my CMakeLists.txt and be done. I personally find using CMake to be much nicer than the existing IDE-based toolchains (a CMakeLists.txt that will work for 99% of teams is <10 lines long, but gives you a much nicer build experience IMHO), but if anybody is scared by a 10 line text file, I can work on better IDE integration (otherwise it doesn't seem worth the effort to me - you can still use eclipse to edit the files if you want). I do ask how you're a c++ programmer if you can't deal with a short and simple text file though to each his own. |
|
#12
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
Alright, so I have made several attempts to build, and have come to an error I really don't understand:
Code:
In file included from /home/will/frc-cpp11/windows-toolchain-environment/win32/gcc-4.8.0/libgcc/libgcc2.c:27:0:
/home/will/frc-cpp11/windows-toolchain-environment/win32/gcc-4.8.0/libgcc/../gcc/tsystem.h:87:19: fatal error: stdio.h: No such file or directory
#include <stdio.h>
^
By the way, you might want to recommend against building in a VM shared folder, as it makes symlinks not work correctly and broke my build. |
|
#13
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
Do you know the status of libstdc++ is on this architecture/compiler? I just tried to use std::copysign and got back
Quote:
|
|
#14
|
|||
|
|||
|
Re: GCC 4.8 Toolchain
We're currently working on figuring out what features for c++11 on the library side are available.
A lot of things that seem like they should work don't, and I have to dive into the libstdc++ code to see what's going on... Sorry for the long wait on reply! |
|
#15
|
||||
|
||||
|
Re: GCC 4.8 Toolchain
For anyone who is interested, I've created a Vagrant-based VM configuration that you can run and get a easy to use virtual machine to do your building on. The current configuration sets up the apt configuration and installs the binary packages as recommended on the wiki, and FRCMake seems to work correctly.
It's an Ubuntu 12.04 image, but the binaries seem to work just fine there. I've built the core of RobotPy with it, and the build succeeded without any problems -- though, I haven't ran it on the cRio yet. Get it from the github repo. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|