Page: 1, 2  Next

[Debian Jessie / UBUNTU LTS / "frozen pool distribution"] GCC-5 requirement for packages? [+SOLUTION]
sedition
Status: New User - Welcome
Joined: 26 Feb 2016
Posts: 4
Reply Quote
edit: This method focuses primarily on getting the Liquorix kernel and headers from the repos directly on Debian Jessie.

What I needed was:
1. apt-get update ; apt-get upgrade ; apt-get dist-upgrade for liquorix and other packages fully functional
2. VirtualBox modules to build with the kernel headers for liquorix.

So Ive built a "dirty hack" version of gcc-5 to satisfy the package requirements and build with a native gcc-5 compiler

Here are 4 workarounds for this. See which one works for you
These are to be used AT YOUR OWN RISK.

Please read this before proceeding.
techpatterns.com/forums/about1891.html

option 1: (thanks anticapitalista) Pull these from an unofficial repo.

* This is great! I like this a lot!;
:: Code ::

antiX-MX (re)builds liquorix kernels for Debian jessie.

main.mepis-deb.org/mx/repo/pool/main/l/linux-liquorix/

main.mepis-deb.org/mx/testrepo/pool/test/l/linux-liquorix/


option 2: install a fake gcc-5 package with a symlink to your standard gcc which may or may not work

* It allows you to build modules from source but i noticed a few issues even with successful compiles with gcc-4.9
* This should work fine if you use gcc-6
* A good solution if you wanted to build liquorix or gcc-5 from source while keeping the repos/official repos.


option 3. install a gcc-5 build that drops in a fully functional gcc-5 for Debian Jessie

* This is what I have right now, and its working great.
* If you use my binary you will also need to get the extras package to; at minimum install libisl15. gcc-5 does reference the newer
binutils and gnat; although it is most likely not needed. or get these files from the sid debian repos directly.
* This is not an official back-port, and is incompatible with any upgrade path when the official gcc-5 is released in jessie-backports

option 4. just build Liquoirix from source.

The following link contains .debs for the "fake gcc-5" , the "gcc-5 binary package", and the "extras package" for jessie that I built.
:: Code ::
https://drive.google.com/folderview?id=0B-SFiFoXrUSLN3BIeDBOZVhkU28&usp=sharing


:: Code ::

# inxi -bxx
System:    Host: ptah Kernel: 4.4-3.dmz.3-liquorix-amd64 x86_64 (64 bit gcc: 5.3.1)
           Desktop: MATE 1.8.1 (Gtk 2.24.25) dm: lightdm Distro: Debian GNU/Linux 8
Machine:   Mobo: Google model: Parrot v: 1.0 serial: 123456789
           Bios: coreboot v: 4.0-6588-g4acd8ea-dirty date: 09/04/2014
CPU:       Dual core Intel Celeron 847 (-MCP-) clocked at 1100 MHz
Graphics:  Card: Intel 2nd Generation Core Processor Family Integrated Graphics Controller
           bus-ID: 00:02.0 chip-ID: 8086:0106
           Display Server: X.org 1.16.4 drivers: intel (unloaded: fbdev,vesa)
           tty size: 166x26 Advanced Data: N/A for root
Network:   Card-1: Qualcomm Atheros AR9462 Wireless Network Adapter
           driver: ath9k bus-ID: 01:00.0 chip-ID: 168c:0034
           Card-2: Broadcom NetLink BCM57785 Gigabit Ethernet PCIe
           driver: tg3 v: 3.137 bus-ID: 02:00.0 chip-ID: 14e4:16b5
Drives:    HDD Total Size: 320.1GB (38.7% used)
Info:      Processes: 199 Uptime: 37 min Memory: 1214.7/5909.2MB
           Init: systemd v: 215 runlevel: 5 Gcc sys: 4.9.2 alt: 4.8/5
           Client: Shell (bash 4.3.301 running in sudo) inxi: 2.1.28




original post:
Hi. I would like to use this on jessie without having to extract the kernel headers myself.
Is it possible to remove the gcc-5 requirement since no such package has been built for jessie at this time?

OR if it needs to stay please explain why gcc-5 is a requirement to install kernel headers?

It limits your user base to require gcc-5.

< Edited by sedition :: Mar 4, 16, 13:29 >

Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 3786
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
liquorix isn't made for frozen pool debian stable releases or ubuntu LTS releases.

it may happen to work for a while after stable release because the gcc version hasn't been updated in testing/unstable yet, but that's just a coincidence.

the kernel is compiled with gcc 5 so you have to have gcc 5 installed to compile any module.

In other words, say you are going to install nvidia from the run installer, you can't do that with the gcc 5 compiled liquorix kernel and no gcc 5 on the system. And that's the main reason you'd be installing the headers package in the first place.

You can either install an older version of liquorix, that was compiled with gcc 4.x, as long as jesse has that gcc version available, or you can not install the headers package. Or you can find a source for gcc 5, like backports.
Back to top
sedition
Status: New User - Welcome
Joined: 26 Feb 2016
Posts: 4
Reply Quote
Thank your your reply. This is understandable.
I have gcc 4.9 Installed, and I suppose I got the lucky "coincidence" where it worked.
I required the headers for VirtualBox-5.0.

The kernel modules with the headers for the latest release compiled and operate fine with gcc-4.9 after making a sym link to gcc-5.

$ dpkg -l | grep gcc
ii gcc 4:4.9.2-2 amd64 GNU C compiler
ii gcc-4.8-base:amd64 4.8.4-1 amd64 GCC, the GNU Compiler Collection (base package)
ii gcc-4.9 4.9.2-10 amd64 GNU C compiler
ii gcc-4.9-base:amd64 4.9.2-10 amd64 GCC, the GNU Compiler Collection (base package)
ii gcc-4.9-base:i386 4.9.2-10 i386 GCC, the GNU Compiler Collection (base package)
ii libgcc-4.9-dev:amd64 4.9.2-10 amd64 GCC support library (development files)
ii libgcc1:amd64 1:4.9.2-10 amd64 GCC support library
ii libgcc1:i386 1:4.9.2-10 i386 GCC support library
ii linux-compiler-gcc-4.9-x86 4.3.3-7~bpo8+1 amd64 Compiler for Linux on x86 (meta-package)

I will look for a back-ported package of gcc-5

I appreciate the work that is done compiling these binary kernel releases.



edit: There is no back port of gcc-5 available. I will end up building end up building it from source. I quickly through together a fake gcc-5 with a symlink to gcc to so that I can use the header files from the repos. So far my tests with building the modules for VirtualBox5 work fine. This isnt really the right way to do things but it gets the job done for now. Here is a link to the fake gcc-5 deb that may work for some www.filedropper.com/gcc5-fake
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 3786
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
Clever idea to trick the system into thinking it has gcc 5 when it's 4.9, obviously that's not a solution that would apply to any but individual cases where the person knows what they are doing and knows that if the thing fails, that's why. But still nice thinking.

gcc5 may be too relatively new for there to be a backport for it yet, or it may simply be way too much work to then backport all the other core packages that would need to also be compiled with gcc5, hard to say, I don't really know how that works.
Back to top
sedition
Status: New User - Welcome
Joined: 26 Feb 2016
Posts: 4
Reply Quote
Thanks. This is something I've had to do in the past a lot with older distributions of Ubuntu.
I was able to successfully build gcc-5 from the gnu sources on jessie.
Right now I am in the process of an attempt to build from the Debian source repo's for sid to keep it and standardized as possible.

The sources and debian control files reference jessie. But they reference packages which have not made it out of unstable.
I pulled the following packages out of sid "binutils_2.26-5_amd64.deb libisl15_0.16.1-1_amd64.deb libisl-dev_0.16.1-1_amd64.deb" and directly installed them directly on to jessie with no dependency issues as a requirement to the build process.

The build process is running properly so far and has been for a few hours now.
The directions for this process are at. https://wiki.debian.org/HowToPackageForDebian
I am essentially back-porting it myself.

When the process completes I will edit this post and provide an update.
I expect the build to complete and potentially require additional modification the the control file to allow a dpkg install.
Back to top
techAdmin
Status: Site Admin
Joined: 26 Sep 2003
Posts: 3786
Location: East Coast, West Coast? I know it's one of them.
Reply Quote
I'll ask damentz if he'll pin this thread, the question has come up before, and you're the first person to actually work on a solution.
Back to top
zika
Status: Interested
Joined: 02 Apr 2012
Posts: 27
Reply Quote
Nice little .deb... ;)
Only, You need to pin/hold gcc-5 not to be overwritten/installed (I'm testing gcc-6) ...
:: Code ::
:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  gcc-5 system-config-printer-gnome
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
:~$ sudo apt-mark hold gcc-5
gcc-5 set on hold.
:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  gcc-5 system-config-printer-gnome
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
:~$ sudo apt dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  gcc-5 system-config-printer-gnome
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
:~$ echo "gcc-5 hold"|sudo dpkg --set-selections
and You should be safe... ;)
Back to top
zika
Status: Interested
Joined: 02 Apr 2012
Posts: 27
Reply Quote
:: techAdmin wrote ::
the question has come up before, and you're the first person to actually work on a solution.
I did ask when kernel will be gcc-5-ready... ;) So I could be to blame for this problem... ;) I could not have changed kernel „upwards“... ;)
Back to top
sedition
Status: New User - Welcome
Joined: 26 Feb 2016
Posts: 4
Reply Quote
:: zika wrote ::
:: techAdmin wrote ::
the question has come up before, and you're the first person to actually work on a solution.
I did ask when kernel will be gcc-5-ready... ;) So I could be to blame for this problem... ;) I could not have changed kernel „upwards“... ;)


How kind if you (: The backport process of gcc-5 the "debian way" is still running since my comment the other day. Once its done I should have a somewhat "official" .deb for jessie

edit: so my port appears successful of gcc-5 to jessie, its about 500mb of deb files. i am testing the installation right now then i will drop the files somewhere.

edit 2: i made a VERY large dirty build of gcc-5 to satisfy the dependency and build issues with the kernel modules on jessie.
this is incompatible with any other any installation of gcc-5, and incompatible with sid. use at your own risk. I will upload it once testing is complete.

:: Code ::

root@ptah:/home/user# du -mc *dirt*
61      gcc-5-dirty-jessie.deb
61      total
root@ptah:/home/user#
root@ptah:~/src/testedit# apt-get install virtualbox-5.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Recommended packages:
  linux-headers
The following NEW packages will be installed:
  virtualbox-5.0
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/63.8 MB of archives.
After this operation, 155 MB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package virtualbox-5.0.
(Reading database ... 300255 files and directories currently installed.)
Preparing to unpack .../virtualbox-5.0_5.0.14-105127~Ubuntu~trusty_amd64.deb ...
Unpacking virtualbox-5.0 (5.0.14-105127~Ubuntu~trusty) ...
Processing triggers for systemd (215-17+deb8u3) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for shared-mime-info (1.5-2~bpo8+1) ...
Processing triggers for desktop-file-utils (0.22-1) ...
Processing triggers for mime-support (3.58) ...
Setting up virtualbox-5.0 (5.0.14-105127~Ubuntu~trusty) ...
addgroup: The group `vboxusers' already exists as a system group. Exiting.
Stopping VirtualBox kernel modules ...done.
Uninstalling old VirtualBox DKMS kernel modules ...done.
Removing old VirtualBox pci kernel module ...done.
Trying to register the VirtualBox kernel modules using DKMS ...done.
Starting VirtualBox kernel modules ...done.
root@ptah:~/src/testedit# uname -a
Linux ptah 4.4-3.dmz.2-liquorix-amd64 #1 ZEN SMP PREEMPT Debian 4.4-10 (2016-02-26) x86_64 GNU/Linux
root@ptah:~/src/testedit# cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@ptah:~/src/testedit# dpkg -l | grep gcc-5
ii  gcc-5                                    5.3.1-010-JESSIE-DIRTY-BUILD         amd64        GNU C compiler
ri  gcc-5-base:amd64                         5.3.1-10                             amd64        GCC, the GNU Compiler Collection (base package)
root@ptah:~/src/testedit# dpkg -l | grep liquor
ii  linux-headers-4.4-3.dmz.2-liquorix-amd64 4.4-10                               amd64        Header files for Linux 4.4-3.dmz.2-liquorix-amd64
ii  linux-headers-liquorix-amd64             4.4-10                               amd64        Linux headers for liquorix on 64-bit PCs
ii  linux-image-4.4-2.dmz.1-liquorix-amd64   4.4-8                                amd64        Linux 4.4 for 64-bit PCs
ii  linux-image-4.4-3.dmz.2-liquorix-amd64   4.4-10                               amd64        Linux 4.4 for 64-bit PCs
ii  linux-image-liquorix-amd64               4.4-10                               amd64        Linux image for liquorix on 64-bit PCs
ii  liquorix-archive-keyring                 2009.05.25                           all          GnuPG archive keys of the liquorix archive
ii  liquorix-keyring                         2009.05.25                           all          GnuPG keys of liquorix Developers
root@ptah:~/src/testedit#

Back to top
anticapitalista
Status: Contributor
Joined: 13 Jun 2008
Posts: 202
Location: Greece
Reply Quote
antiX-MX (re)builds liquorix kernels for Debian jessie.

main.mepis-deb.org/mx/repo/pool/main/l/linux-liquorix/

main.mepis-deb.org/mx/testrepo/pool/test/l/linux-liquorix/
Back to top
Display posts from previous:   
Page: 1, 2  Next
All times are GMT - 8 Hours