Catégories: "Informatique"

Interview in FLOSS for Science

Juillet 20th, 2012

A couple weeks ago, I have been interviewed by the news site "Free Libre open source software for science and engineering" about Scilab and my work in Scilab Enterprises.
I am happy to share it:

llvm & clang 3.1 in Debian unstable + GSoC

Mai 24th, 2012

Released a few days ago, I am happy to announce that LLVM and clang 3.1 are already available in the Debian archive in Unstable. RC versions were already available for the last few weeks in Debian experimental. They are very likely to be part of wheezy.
We will soon try a new rebuild of the Debian archive with the version 3.1.

Talking about clang, a couple of months ago, I proposed a GSoC project to extend the Debian infrastructure in order to use clang instead gcc to build Debian packages. The goal is not to replace gcc but it is more about building packages with a new compiler.

With Paul Tagliamonte as co-mentor, Alexander Pashaliyski is going to work during the summer on this subject.

The final deliverables should be:

  • Build services modified to be able to use clang instead of gcc/g++
  • Integration into the Debian infrastructure (buildd.d.o, and similar services)
  • An easy way to switch of compiler between gcc/g++ and clang
  • A way to build a package with a different compiler (gcc, clang, intel compiler, etc)
  • Time permitting, a fully clang-built Debian installation

For now, Alexander is working on an installation of the wanna-build and buildd services in order to have a dedicated testing environment.

Report from the BSP in Paris

Mars 2nd, 2012

From February 17 to 19th 2012, between 10 to 30 hackers met at IRILL's offices to squash as many bugs as possible for the Wheezy release.

Besides about 42 pizzas, more than one hundred bugs (104 to be precise) have been fixed. Among them, 18 of them were fixed by removing old/unmaintained/deprecated packages from the Debian archive.

In a great atmosphere, one of the most important achievements of this BSP was that Yada, a deprecated packaging helper, finally passed away thanks to the efforts of Cyril Brulebois.

Thanks for all the contributors for making of this week end a success.

java-package: Replacement of sun-java6

Février 29th, 2012

Back in October 2011, I blogged about the removal of the sun-java6 package from the Debian archive.

Even if Openjdk 7 is just great, some corporations still need to use the non-free sun-java6 packages.
For perform this task, Cédric Pineau and I brought back an old package from the archive called java-package.

From the upstream release, for example jdk-6u*-linux-x64.bin (which the user will have download since Debian is no longer allowed to redistribute it), the command

make-jpkg ~/Downloads/jdk-6u31-linux-x64.bin

will generate a .deb which can be installed in the packaging system.

Obviously, new upstream releases will NOT be automatically updated.

This is far from perfect but it is temporary solution until everybody switch to the OpenJDK.

Rebuild of the Debian archive with clang

February 29th, 2012

Recently, I have been working on a side project for Debian. The goal was to rebuild of the Debian archive (the distribution) with clang, a new C/C++ compiler.

clang is now ready to build software for production (either for C, C++ or Objective-C). This compiler is providing many more warnings and interesting errors than the gcc suite while not carrying the same legacy as gcc.
This rebuild has several goals. The first one is to prove (or not) that clang is a viable alternative. Second, building a software with different compilers improves the overall quality of code by providing different checks and alerts.

The result are detailed and explained here:

When I had the idea to rebuild Debian with a new compiler, I was expecting many issues and bugs caused by clang but I have been surprised to notice that most of the issues are either difference in C standard supported, difference of interpretation or corner cases.
My personal opinion is that clang is now stable and good enough to rebuild most of the packages in the Debian archive, even if many of them will need minor tweaks to compile properly.
In the next few years, coupled with better static analysis tools, clang might replace gcc/g++ as the C/C++ compiler used by default in Linux and BSD distributions.
The clang developers are progressing very fast: 14.5% of the packages were failing with version 2.9 against 8.8% with version 3.0.
Several major steps in the clang adoptions have been made like chromium/chrome being built by default with clang, Xcode providing clang by default, FreeBSD working on the gcc -> clang switch, etc.
However, on the Debian point of view, one of the important step would be to make sure that clang manages all the Debian architecture/kernel (11 official, 6 unofficial)