zultron / rtai-deb

RTAI Debian packaging
Other
2 stars 1 forks source link

Jessie and gcc 4.7 #5

Closed ShabbyX closed 9 years ago

ShabbyX commented 9 years ago

Hi John,

I just upgraded from Wheezy to Jessie (because Wheezy's Automake was stuck at 1.11 and I needed new features) and long story short, I can't install the RTAI debian packages because they depend on gcc 4.7

Is it that Jessie upgraded gcc after you made the packages? If not, was there a specific reason for it?

zultron commented 9 years ago

Whoops, email backlog, apologies. ;(

The way that happened was I set gcc to the current version in wheezy. That version was sufficient to compile packages for jessie, and you're the first to actually test. :-/

To be clear, are you talking about the RTAI packages (this repo), or the kernel packages1? If the latter, you can see where the compiler version is set 2, and I'll need to update that when building Jessie packages.

You can tweak that and build your own packages, but use a beefy machine with -j, it takes a while. I'll have to tweak my build scripts to set the right version for Jessie, but it could be a while.

ShabbyX commented 9 years ago

No problem!

Yes if I recall correctly, it was the kernel I couldn't install because of that dependency. No matter though, I have been using the trusty builds for a while now (thank you for that!)

By the way, doesn't the kernel (try to) maintain a fixed ABI? Doesn't that make the gcc version it was built with irrelevant?

zultron commented 9 years ago

Ah, glad the Trusty builds work, I haven't even tested in my own lab.

There is infrastructure in the Debian packaging for maintaining an ABI, but I never spent the time to learn how to use it. Probably since linux-tools and linux-latest are part of the build infra at this point, the pieces might be in place to add it back.

However, I'm not really sure about the limitations of mixing gcc. I didn't write the kernel packaging, just modified Debian's, so the basics like gcc deps are the invention of upstream.

If you're curious about the changes to the upstream Debian packages, while I refresh my own memory: There are minor modifications to the core packaging's 'featureset' functions to allow disabling parts of the build (no need to build vanilla kernel, installer udebs and doc packages) and provide hooks into a few of the debian/rules recipes to make it easy to add a featureset by adding a rules.featureset-NAME file. The major changes are non-core: add rtai, xenomai.x86, xenomai.beaglebone featuresets (similar to the RT_PREEMPT rt featureset), remove a lot of non-x86/ARM architecture support files (unnecessarily), remove most upstream patches, disable ABI checking.

ShabbyX commented 9 years ago

I can't say I understood any of that last paragraph, but then again I don't know anything about debian packaging!

I have plans on learning it though, so I may get back to this in a few months!

ShabbyX commented 9 years ago

By the way, I just noticed that trusty also comes with gcc 4.8, so installing the package also installs gcc 4.7.

If you ever had the time and felt like updating the packages, please keep this in mind. Otherwise it's really not a big problem.

zultron commented 9 years ago

I'm working on packages for Jessie, and did finally address this problem. The 3.16 packages will be built with gcc-4.8.

ShabbyX commented 9 years ago

Thanks!