My thoughts on Slackware, life and everything

Tag: gcc (Page 4 of 4)

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

Massive updates in slackware-current

Today, Pat Volkerding published a massive amount of package updates to the slackware-current tree. The entry in the Slackware ChangeLog.txt measures more than 200 lines, and is probably the largest update to the development tree ever.

Many of the core packages have received an version upgrade, but those changes may not be immediately visible to the average end user. Some of the absolute highlights mentioned in the ChangeLog are indication of a big step forward for Slackware: a new kernel (2.6.28.7), new gcc (4.3.3), new glibc (still called 2.9 but the snapshot we use is more like 2.10), a new XFCE (4.6.0) and most importantly: KDE 3.5.10 is gone, replaced by KDE 4.2.1 (which had been living in the /testing directory for a long time).

I have been working with KDE4 releases for nearly a year now, running it as my default desktop, and 4.2.1 is stable, fast and beautiful. People who heard or read that the new KDE is bloated and slow, should try it out and decide for themselves; I think it performs better than KDE3. I also ran the new XFCE for a while and it looks sweet. Note that when you upgrade from XFCE 4.4 you may experience missing icons in the panel. This happens because the Rodent icon theme was removed from XFCE in the new release. The file CHANGES_AND_HINTS.TXT (located in the toplevel directory of slackware-current) explains this issue and what you can do about it.

One neat feature addition which did not make the ChangeLog, but is definitely worth mentioning: the initrd.img and usbboot.img files which contain the Slackware installer,  have also been updated for the new 2.6.28.7 kernel. As a result, you can now install Slackware to an ext4 filesystem!

If anyone out there with a Netbook (one of those Intel Atom powered, 9 or 10 inch sized laptops with long battery life) is going to install Slackware-current on it, I would like to hear your impressions. Leave a comment to this blog post.

Have fun, Eric

Newer posts »

© 2024 Alien Pastures

Theme by Anders NorenUp ↑