Cruft and GCC

VastOne

Looking at reducing cruft is a full time commitment I have and GCC has been on my mind a lot lately

In the lite versions of VSIDO there is one version of GCC at 6.0

On the regular versions of VSIDO there are 4 versions 6.0, 5.0, 4.9, and  4.8 and the three extras consume about 120 MiB of ISO space

So the obvious questions:

Why so many versions on the original?
Are they needed at all?

As I understand it there are older versions of software that require the older versions for the make process..

Thoughts please

I am most likely going to build a new copy of the build environment and eliminate all but GCC 6 and see what happens
VSIDO      VSIDO Change Blog    

    I dev VSIDO

PackRat

You should not need them all. You would only need them if you're trying to compile a program against a kernel that was built with that version of gcc (NVIDIA drivers are a good example).

Have you tried to uninstall some of the older versions (start with the oldest and work your way up) to see what else is getting removed. First package that comes to mind would be the older kernel headers.

Since it's part of the build environment, they are probably getting installed with build-essential and kernel headers (both are part of default install, correct?), but will not be part of the apt autoremove since an older kernel and headers may need them. I think that's how it works.

A good place to research gcc would probably be the gentoo forum/wiki as a sources-based distro they should have some detailed explanations about it.

QuoteI am most likely going to build a new copy of the build environment and eliminate all but GCC 6 and see what happens

Actually, why not go the extra mile and eliminate the build environment from VSIDO; remove build-essential and kernel headers as well. That should decrease the size of the iso significantly. You don't build anything from source for the iso do you? Most users take advantage of the Debian repos, and nvidia users practically have to now (installing the nvidia driver from their site is now a major pain in the ass). Most Sid users know what to install to create a build environment, and all the packages are in the repos.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

PackRat

I took a look at removing gcc on my Debian system; I have gcc-6 and gcc-7 installed.

Kind of risky removing any of it. The files in question are:

gcc
gcc-6
gcc-6-base
gcc-7-base

So you will also have the gcc-4 and gcc-5 files.

Removing the gcc, gcc-6 and gcc-7 files removes the kernel-headers and build-essential files with dependencies; as well as any application/driver built against them - nvidia driver in my case.

Removing the gcc-6-base and gcc-7-base files guts the system.

QuoteI am most likely going to build a new copy of the build environment and eliminate all but GCC 6 and see what happens

Would this be a clean install? If so, if you were to exclude the build-essential and kernel-headers from a default install, I suspect you would only have the gcc-6-base and gcc files installed (maybe gcc-7-base; that probably came through with a recent upgrade). That should keep the cruft to a minimum. Installing the nvidia-dkms package appears to bring a lot in.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

hakerdefo


aptitude why gcc-6
aptitude why gcc-5
aptitude why gcc-4.9
aptitude why gcc-4.8


You should get your answer, hopefully  ;)

Cheers!!!
You Can't Always Git What You Want

VastOne

@PackRat.. thanks for the testing and the heads up.. I appreciate it

@hakerdefo.. those aptitude showed me the way and confirmed what PackRat already showed us.. there are only three packages needed for all of those versions..

libtool
dh-autoreconf
debhelper


Each are for building and nothing more.. I am going to make a new copy of the build process and just strip out all of those and the build-essentials as RatMan suggested..

Will keep you all updated throughout today

Thank you!
VSIDO      VSIDO Change Blog    

    I dev VSIDO

VastOne

#5
Found the same results as PackRat.. removing even the basics leads to a domino effect that essentially guts the system

These are essentials to the tools that make up full VSIDO..

Good exercise (exorcise?? ::) ) though..  8)
VSIDO      VSIDO Change Blog    

    I dev VSIDO

DeepDayze

GCC7 may soon become the Debian default and there needs to be one compiler version that rules them all as keeping around several versions of gcc can get old fast.

PackRat

#7
^ It's arrived in Sid.

I wasn't watching that close; but hot on the heels of the last kernel upgrade, I think.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

DeepDayze

Quote from: PackRat on July 01, 2017, 08:07:43 PM
^ It's arrived in Sid.

I wasn't watching that close; but hot on the heels of the last kernel upgrade, I think.

Yes it has...and like yesterday I think.

VastOne

It's what we love about SID, don't like the weather? Wait 5 minutes..   :P
VSIDO      VSIDO Change Blog    

    I dev VSIDO

PackRat

And always have an umbrella handy.
I am tired of talk that comes to nothing.
-- Chief Joseph

...the sun, the darkness, the winds are all listening to what we have to say.
-- Geronimo

DeepDayze

Quote from: PackRat on July 02, 2017, 08:18:18 PM
And always have an umbrella handy.

Ohh definitely yes...there's times Sid's like a storm.