My thoughts on Slackware, life and everything

Tag: gcc (Page 4 of 5)

New multilib gcc and glibc coming up for Slackware 13.1 RC1

Hi folks

As the Slackware ChangeLog states:

Fri May 14 19:37:13 UTC 2010
Good hello! We will call this update Slackware 13.1 RC1. With this, the
kernel, compiler, and glibc versions are “golden”, and everything is
pretty much ready to release. Last call for bug reports…

I’m in the process of building the multilib versions of the new gcc and the recompiled glibc packages which entered Slackware-current today. Pat Volkerding caught me with this update while I was on holiday, so I did not have the time to prepare packages before.

In the meantime, if you are running Slackware64-current and using my multilib gcc/glibc , then you can just update to the latest -current excluding Slackware’s non-multilib gcc and glibc. My updated packages will be available tomorrow.

Cheers, Eric

EDIT 15-may-2010:

I have uploaded the multilib versions of glibc and gcc for Slackware 13.1 here: http://slackware.com/~alien/multilib/13.1/. A detailed multilib setup HOWTO for Slackware is here: http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib

Updated multilib gcc packages for -current

For those running the 64-bit version of Slackware, I keep making available multilib versions of Slackware’s 64-bit gcc and glibc packages. Yesterday, gcc in slackware-current was updated to version 4.4.3, so here they are.

You can get them here: http://slackware.com/~alien/multilib/13.1/ (The “13.1” may or may not be the version of the next Slackware release, I just needed to give that directory a name).

For detailed instructions about what multilib means to the 64-bit Slackware and how you can add it, read this wiki article: http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib

Have fun! Eric

Compiling vlc (and other software) with gcc 4.4.2

Last week, an upgraded gcc compiler suite (version 4.4.2) was added to slackware-current . The new Gnu C compiler reveals software compilation issues in several programs that did not occur with the previous version of the Gnu C compiler. A nice summary of issues you may encounter when building software using the scripts at SlackBuilds.org can be found on Ponce’s blog, along with the solutions he found that fix these errors.

So far, I only ran into one compilation issue (actually it was reported first on LQ: http://www.linuxquestions.org/questions/slackware-14/alien-bobs-vlc-slackbuild-fails-on-current-781414/), when compiling VLC and to be more specific, compiling the twolame library which I add to my VLC package for Slackware.

The error you will get is this:

?psycho_2.c:203: error: array subscript is above array bounds

The fix is simple. One file needs a patch:

--- twolame-0.3.12/libtwolame/psycho_2.c.orig   2008-01-09 12:06:21.000000000 +0100
+++ twolame-0.3.12/libtwolame/psycho_2.c        2010-01-11 15:15:28.000000000 +0100
@@ -121,7 +121,7 @@
        window = mem->window;
        ath = mem->ath;
        numlines = mem->numlines;
-       partition = mem->numlines;
+       partition = mem->partition;
        s = mem->s;
        tmn = mem->tmn;
        fthr = mem->fthr;

I have uploaded this patch as well as a modified vlc.SlackBuild script to my repository: http://slackware.com/~alien/slackbuilds/vlc/build/

Eric

Bleeding at the edges again?

… Ok, ok, it is not so bad actually! Au contraire!

Slackware Linux development made a big leap today, when Pat Volkerding updated the distro’s “vital organs” of kernel, glibc and gcc. The “dull” phase of the slackware-current development cycle is over hopefully, and it’s back to the bleeding edge.

To be fair, gcc 4.4.2 has been sitting in “testing” area for quite a while now, and we think it is time to promote it into the core. With glibc 2.11.1 we are pushing it, as this is the most recent stable release, and the 2.6.32.2 kernel was much-anticipated by those who run -current on their computers.

Note that the new kernel has full support for EFI (the Extensible Firmware Interface which is going to be the replacement for the ageing BIOS on modern computers). This means that there is also support for GPT partitions. GUID Partition Table is a standard for the layout of the partition table on a physical hard disk (part of the EFI specification and meant to overcome the 2 TB size limitation of MBR partitions). We still have to look into updating the Slackware installer for automatic GPT partition recognition, but you will be able to use GPT partitions if you do some footwork yourself before running “setup”.

With this update to Slackware’s vitals, the stage is set for further tweaks of the core, but I think that for now, you will have plenty to play with.

And as promised to those running the 64-bit version of Slackware-current, I have made available multilib versions of the new gcc and glibc packages! Thanks to Pat Volkerding who allowed me sufficient time to build and rebuild these packages on my old computer until they were just perfect (I hope) and could be released along with the Slackware originals.

You can get them here: http://slackware.com/~alien/multilib/13.1/ (I took the liberty of assuming that 13.1 will be the version of the next Slackware release, mainly because I needed to give that directory a name).

For detailed instructions about what multilib means to the 64-bit Slackware and how you can add it, read this wiki article: http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib

Have fun! Eric

Multilib Slackware64

By now, the world will be well aware that there was a new release of Slackware Linux last week. Yes, Slackware 13.0 is there… just when I was enjoying a quiet holiday at the french coast. A pity that the release date slipped past the start of my vacation, I always enjoy the virtual “party” when Pat decides to throw the switch.

This also marks the birth of the first stable official release of 64bit Slackware, aka Slackware for the x86_64 architecture, aka Slackware64.  This is a pure-64bit Slackware in the sense that it is unable to compile or run 32bit binaries out of the box. But we took great care to make Slackware64 ready for multilib.  A multilib Linux system has full support for compiling and running both 64bit and 32bit binaries. Pat Volkerding made a decision not to add full multilib capability to Slackware64 initially. Perhaps that will change in future releases.

In the meantime, it is really not hard to add a full multilib layer to Slackware64. The first step would be to build/install multilib versions of gcc and glibc. Then, you have to add 32bit versions of the supporting libraries that your 32bit software will need to run (think of qt, gtk, cups, …. you name it).

Perhaps the mention of “build/install multilib” scared you off?  To make it easy for you, I published a set of pre-built packages that you can install using “upgradepkg –install-new” (gcc and glibc need to be upgraded, the remainder are new packages). You can find those packages at http://www.slackware.com/~alien/multilib/ .

To accompany these packages I wrote an article for my Wiki explaining the steps you need to go through.  If you care to give me feedback on my multilib solution, you can do so on the article’s discussion area: http://alien.slackbook.org/dokuwiki/doku.php?id=wiki:talk:slackware:multilib .

After completing the intructions, you will have a Slackware system that is capable of building and/or running (among others) Wine, Skype, Citrix client. And many more of course!

Note: if you use slackpkg or another semi-automated package manager, you will have to add the gcc and glibc packages to the update blacklist. If you fail to do so, your package manager will automatically “upgrade” the new multilib gcc and glibc packages to their original pure64 Slackware versions…

Enjoy!

Cheers, Eric

« Older posts Newer posts »

© 2024 Alien Pastures

Theme by Anders NorenUp ↑