Categories

Archive for December, 2014

The developers of PCC (the Portable C compiler) released version 1.1.0 of the compiler and compiler library, so I decided to give it a run on my computer.

Source packages are available at ftp://pcc.ludd.ltu.se/pub/pcc/. To get a working compiler, one needs to build both pcc and pcc-libs. I followed the instructions for earlier versions of Ubuntu, with some modifications.

First, for uniformity reasons, everything will be installed in /usr instead of the default /usr/local. All libs go to /usr/lib instead of libexec. So, the ‘configure’ command looks like ./configure --prefix=/usr --libexecdir=/usr/lib.

for both packages. The order probably does not matter. I started with ‘pcc’. If ‘flex’ and ‘bison; are missing, the ‘configure’ script will not complain, but the build will fail. So we need to ‘sudo apt-get install flex bison’ before going any further. Compilation is lightning fast, but you can accelerate it a bit by using

make -j[number of cpu cores/threads]

Next, we install the compiled files to their places under /usr. Instead of doing ‘sudo make install’ I did ‘sudo checkinstall’.

The install of ‘pcc’ failed because of a conflict in /usr/share/man/man1/cpp.1, so I had to rename the man file and repackage the deb (here is a good guide).

The install of ‘pcc-libs’ went smoothly, but when trying to build a helloworld.c, pcc executable complained about not finding ‘crt1.o’ and ‘crti.o’. It turned out that it’s a well-known problem not yet solved in 1.1.0 (see discussion here). I just copied these files (together with ‘crtn.o’) from /usr/lib/i386-linux-gnu to /usr/lib/pcc/i686-pc-linux-gnu/1.1.0/lib, and repackaged this deb, too.

To add the final touch, I rebuilt both packages with ‘pcc’ instead of ‘gcc’ (by passing CC=pcc to the ‘configure’ scripts). Here are the packages for i386:

Here is an update on what changed in the plugin codebase since my last post.

As of this writing latest stable version has just reached 0.5.7 (this time last year it was 0.4.1). During this year a number of major improvements were made. First of all, with the help of Diaspora enthusiasts the plugin was translated into Italian, Japanese, Portuguese, Romanian, Russian, Serbo-Croatian, Spanish and French. Now it is possible to use a custom image as a share button. The blog owners can add their own pods to the list. The list of active pods is synced with data provided by podupti.me.

Some more ideas are brewing and will probably be included in the forthcoming version 0.6.0:

Button presets — a number of predefined designs (shapes and colors) of the ‘share’ button for blog admins to choose from.

More ‘magic’ in button customization, like a visual color picker and live prevew.

Special thanks go to all people who helped localize the plugin: Vostok (Brazilian Portuguese), Andrew Kurtis and David Charte (Spanish), Sandro Kensan (Italian), Borisa Djuraskovic (Serbo-Croatian), Stef20 and Se7h (French)!