Voyageur's corner

To content | To menu | To search

Wednesday 9 April 2008

Testing the new "gold" linker from binutils

After reading Diego's post on linkers, I got curious (and interested) by this new linker (also mentioned in LWN and other sites).

Developed by Ian Lance Taylor (from Google), the gold linker is now in binutils, and promises link times divided at least by 5. The code I develop at work is a big C++ project, and takes a looooot of time linking indeed (especially in debug...). So let's see how to try this new linker

First, a big warning: this is still heavily experimental, I do not recommend to use it for your system itself. It only works on x86/amd64, does NOT link a kernel correctly for now. Keep a stable binutils, and use it for all your emerge operations. UPDATE: see Diego's warnings too, Remember that I only test gold on C++ debug binaries, not on system packages or other important compilations.

You have been warned ;) Now let's see how to install a gold-enabled binutils in parallel with your stable one:

  • First step: enable multislot for binutils (so you'll have both unstable/gold binutils and stable binutils available with binutils-config)
# echo "sys-devel/binutils multislot" >> /etc/portage/package.use
# emerge -av binutils


  • Unmask an unstable binutils ebuild, and compile it with gold enabled (thanks to EXTRA_ECONF feature)
# echo "=sys-devel/binutils-2.18.50.0.6 **" >> /etc/portage/package.keywords
# EXTRA_ECONF="--enable-gold" emerge -av '=sys-devel/binutils-2.18.50.0.6'


  • Use binutils-config to switch between your stable binutils, and gold-enabled 2.18.50.0.6 (ld --version will say "GNU gold ...")

And now back to work with greatly reduced linking times, yay!

Monday 17 March 2008

nxcl/qtnx (open-source NX client) in portage, freenx new release

After the live ebuild version in the NX overlay, I've added the newly released 0.9 version of nxcl (base library)/qtnx (QT4 front-end), a GPL client for NX servers. For now I've keyworded them on x86 and amd64 (where I could test them), but who knows, it may work on other arches, where the official nxclient is not available!

Be warned that some options may be missing or incomplete, when compared to nxclient. But all the basics are there :)

In the meantime, a new FreeNX release (0.7.2) was made available. While some changes were already backported in Gentoo 0.7.1 ebuild, there are quite a few new features. Fabian Franz (main FreeNX dev, who does a great work) has posted the (long because of all the new features) announcement on the mailing list here. Here are some new features I picked up:

  • new helper program that should help for VNC sessions
  • slave mod is usable (think "This dramatically reduces session login times and makes single sign on possible")
  • new samba sharing system (sharing and remote printing)
  • New "nxsetup --test" command: this one will help a lot if you have an incorrect sshd conf for example
  • lots of bugfixes

I'm preparing the version bump in portage, hopefully you will get it in a few days (new installation method, patches to update/remove/...). Stay tuned! EDIT: nxserver-freenx-0.7.2 is now in portage, enjoy!

Thursday 13 March 2008

Time does fly by

The LDAP infos on Gentoo dev server confirm it:

gentooJoin: 2007/03/13

So it's been a year since I officialy joined Gentoo developers, after discovering gentoo, the forums, trying n amd64 installation with a 2004.3 CD, harassing bugzilla (and giving jakub some work) for some time... ;)

NX does not take much of my time anymore, mostly revision bumps. I still need to write some documentation on this great piece of software (oh and add ebuilds to portage for qtnx, an open-source client I mentioned earlier).

After some work and eclass rewrite, GNUstep in Gentoo is in a much better shape: a few bugs are still opened, but most of the packages work fine now.

What's been great so far? Well most importantly: the Gentoo people. And I mean both developers and users. Developers with their knowledge, motivation, counseling, ... Users that report problems, fill bugs, help other users (forums, IRC), ...

Ok now happy Gentoo birthday me, and back to work ;)

Tuesday 15 January 2008

New open-source NX client under development

Some days ago, George Wright announced on #nx that he just had committed a new qtnx, based on the nxcl libs. Qtnx is an open-source Qt-based NX client, and it looks like development on it is rolling again :) It is now based on nxcl, developed by Seb James.

In fact, George is now working for a company on a NX server (and client), their web site is desktopondemand.com. The client is GPL-2, and should support most NX features (including 3.0 shadowing). Of course it is still under heavy development, but you can find them as -9999 SVN ebuilds in the NX overlay. Just run:

# layman -a nx
# emerge -av qtnx

I hope this one will soon join nxclient (binary-only, but latest NX features) and nxclient-2xterminalserver (GPLed NX 1.5 version) in portage

Btw, the ebuild is currently marked x86, as these are the arches I test NX on. Drop me a line if it works on ppc (it should) or other arches

Wednesday 9 January 2008

Gnustep unstable packages added to portage

Even if these packages are marked unstable, they do have some fixes (and the stable release is getting old). Some gnustep packages now need them in their latest versions (including gorm). So they're now available in portage (moved from the gnustep overlay), under package.mask. Be warned though that upgrading to the unstable release means recompiling every one of your gnustep packages (revdep-rebuild is your friend). A few packages had to be fixed to work with new gnustep-gui, don't hesitate to report if something does not work

The pieces to unmask are currently:

# Bernard Cafarelli <voyageur@gentoo.org (09 Jan 2008)
# Mask unstable gnustep and packages depending on it
>=gnustep-base/gnustep-back-art-0.13.0
>=gnustep-base/gnustep-back-cairo-0.13.0
>=gnustep-base/gnustep-back-xlib-0.13.0
>=gnustep-base/gnustep-base-1.15.1
>=gnustep-base/gnustep-gui-0.13.0
>=virtual/gnustep-back-0.13.0
>=gnustep-apps/gorm-1.2.2
>=gnustep-apps/simpleagenda-0.33

If you want to try the Cairo backend, this could be the right time (the unstable release works quite fine)

This brings Gentoo packages on par with the latest Gnustep Startup, have fun!

Monday 26 November 2007

New gnustep soon stable, new windowmaker ebuild, NX news, ... (and other things I've already forgotten)

It looks like real life finally lets me write some news on Gentoo work :)

GNUstep news first: packages based on gnustep-make-2.0 are now almost all marked stable (see the progress in this bugreport), there's only sparc left and then I'll finish cleaning up the old ebuilds. In the gnustep overlay, you can now find (masked) unstable gnustep and gorm releases: lots of fixes, but requires lots of revdep-rebuild! ;)

Thanks to grobian and truedfx, you can now try windowmaker-0.92.0-r7, it has some nice features to check out. This is still my WM of choice, even if I now run gnome on the laptop (easy compiz switching, better power management integration).

On the NX front, a nice Gentoo user has filled a few enhancement bugs on freenx (startup script, utempter use, ...). I'm preparing a revbump integrating most of these, stay tuned. I'm also preparing a revbump for the free edition server, upstream has released a new version with many fixes (including some that could help people using selinux). And last, if you have problems with freenx, or freeedition server, there are two lengthy threads on the forums, where you may get help from other users. The freenx thread is here, and the one for the free edition is here

And closing this post, I'd like to say a big "thank you for all the work you've done on Gentoo" to Roy Marples (uberlord), and Seemant Kulleen (uncle Seemant)

Thursday 1 November 2007

Tips and tricks: Gentoo Linux on a Samsung Q45 laptop

I won't talk here about the difficulties encountered while installing ~amd64 Gentoo on this baby, as most of the components work quite well and without a problem, but rather about a few tips I had to dig around the Internet. Some of these tips may apply to other PCs, or other distributions too ;)

External kernel modules to emerge

To get most of the hardware, emerge:

  • net-wireless/iwlwifi: even if it's still relatively new, it works much better than ipw3945 for the wifi! Update: merged in kernel, simply emerge net-wireless/iwl3945-ucode, and enable iwlwifi in kernel tree
  • media-video/linux-uvc: who knows, this webcam may be useful one day
  • x11-drivers/nvidia-drivers: yes, it's proprietary, but you need it to try compiz-fusion (add "options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222" to /etc/modules.d/nvidia to fix flickering in X)
  • app-misc/sdricoh_cs: this is a *very* experimental driver for the card reader (I did not try further though, as I still have an old PCMCIA one that works fine and fast) ''Update"": turns out you don't need this one, simply use the "sdhci" module from kernel

Power management

Now, let's get the most of the battery. First some links that will give a lot of ideas to get a longer battery life:

  • Gentoo Power Management Guide
  • Intel-sponsored Less watts site: by the way, emerging powertop definitely is a good idea!
  • Mandatory to let your CPU rest while on battery: HRT (tickless system) patch for amd64, apply it to your 2.6.23 gentoo-sources. Update: merged in recent kernels
  • A patch to apply to gnome-applets (works fine here, less CPU wakeups)

By the way, nvidia broke the brightness key shortcuts while in X, but you can switch to a console (where the keys work!), adjust brightness, and switch back to X.

Gnome tips

For now, I run Gnome (2.20) on it, here a few fixes. First, the gnome-power-manager tray icon may not appear from time to time on login. This is a known problem, also known as bug 188618 to poor Gentoo developers. (Update) This was fixed by leio (don't forget to thank him), now you just need to upgrade to gnome-power-manager-2.20.0-r1 (no need to kill and restart g-p-m manually now). For other distributions, this was accepted usptream, so you should be fine soon too :)

OK, now that we have a battery life monitor, next tweak: if you have kept the hidden backup partition on this system, gnome will add a nice (completely useless) icon for it on your desktop. Thanks to the french Ubuntu forums, here is how to tell HAL to ignore that partition (/dev/sda1 in my case). Create a file called /etc/hal/fdi/preprobe/10ignore-disks.fdi, with these lines inside:

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="block.device" string="/dev/sda1">
<merge key="info.ignore" type="bool">true</merge>
</match>
</device>
</deviceinfo>

And voila, this one will not bother you anymore :)

Last thing, if you'd like to enter your password once at gdm screen, without the need to retype it for gnome-keyring (NetworkManager trying to connect to the home wifi), and even SSH passphrases, read this great planet post by fellow french conspiracy Gentoo developer remi.

Another last thing (last one I promise), about NetworkManager: this is a great tool, but it will work better if you add something like 'RC_PLUG_SERVICES="!net.eth* !net.wlan*"' to /etc/conf.d/rc (so the system does not try to start the interfaces before networmanager does). Also take a look at NetworkManagerDispatcher (bug here): this tool will automate start/stop of services when NetworkManager connects to a network (openvpn, ntpd, ...)

OK, I've finished now, thanks to the few people that are still reading ;)

Tuesday 18 September 2007

NX servers 3.0 going security stable, removing old versions

NX 2.1 libraries (based on X libraries and Xnest server) are derived from an old XFree release, and are not maintained anymore upstream, in favor of the 3.0 version (based on X.org, 64bit-clean, ...). As pointed out by our nice security people, the code base in NX 2.1 is not patched against all vulnerabilities reported in XFree recently.

So, what will this change for Gentoo users? The free edition server 3.0 has been in the tree for some time and will be going stable shortly (and 2.1 packages removed). The bugs reported when 3.0 got out are all fixed now, so this is the best working version anyway!

For Freenx users, I am preparing a version bump that will work with 3.0 libraries (and will also work on no-multilib amd64 systems too). Upstream is working on a new version, with complete 3.0 support, but as it will be a complete rewrite, expect it "when i's done" ;)

Just in case, I'll move the 2.1 nx libs ebuild in the NX overlay (package.masked of course), if people really need it for their freenx setup (and know what they are doing)

When these updates are done, next big task will be to finally write some nice documentation on NX servers in Gentoo (what's NX, pros/cons of the different servers, how to set up advanced features, troubleshooting guide, ...)

Monday 10 September 2007

Updating GNUstep packages in portage

As a follow-up to my previous post, as gnustep base packages are marked ~ppc again, I have started to move the other packages from the overlay :)

Visible results? Well, we have a cleaned-up windowmaker (still my favourite window manager after all these years), closing a few bugs, the return of gworkspace (temporarily package.masked because of vulnerable code in pdfkit), updated (and working with latest gnustep packages) gnumail, ...

And now back to moving ebuilds in CVS, cleaning up old ones, and closing bugs (while my desktop gets an overdue "emerge -auDNt world").

Oh, by the way, I won't add Etoile itself in this batch, as it still needs some changes in the way the ebuilds handle the bundles defaults (which you definitly want OK, if you want to have a desktop "as-in-the-screenshot" ;) )

Tuesday 21 August 2007

GNUstep in portage (finally) gets updates

After some months filling up the gnustep overlay, I am glad to announce that the new series of gnustep ebuilds are finally making their way in portage :)
grobian added the new eclasses and all the gnustep-base packages (on which all other gnustep packages are built). Now we wait for arch teams to say "OK, everything's fine" (bug #189372 for the curious), and then we'll start moving in applications ebuilds
This will give me some time to complete the etoile ebuilds, the versions in the overlay work fine, but are still rough. By the way, if you try etoile and don't get the nice and shiny background, check that you are not running a 1280x1024 resolution (or another with the same aspect ratio): the background image for this ratio does not exist yet.
Another good news for GNUstep fans: the gnustep herd is now 3-persons strong, with truedfx joining our forces! And now for the dockapps fans: wmforkplop is a nice dockapp that displays animations reflecting forking activity, while listing the top cpu consuming processes (and a "process browser" to kill the offending ones). There's an ebuild available in my overlay, it looks better animated than in this screenshot:

- page 2 of 4 -