Skip navigation

It is 02:30 pm now and I just managed to restore my WordPress setup. Something went really wrong but “God” bless everything is fine again. But that is not the topic of this post.

As I am owning a Marvell SheevaPlug (I *OWN* it really nearly every day)  and really was looking forward to extract RAR files directly on the Plug I tried to install unrar onto the system but had to realise that only the free version of unrar is available which is nice but won’t extract recent RAR files. After some short struggle I managed to compile unrar-nonfree for the SheevaPlug (or to be precise … for the ARMv5TE processor).

So in short terms … here you go … see attached a debian package for your enjoyment.

http://www.thecampaign.eu/files/unrar_3.9.10-1_armel.deb

 

Oh my GOD!!! A new post. I nearly gave up hope that this will ever happen again. But as my longing to install ROOT on SL 5.5 in a VM via the package manager yum for testing purposes of some programme which needed an equal system for, as said, debugging reasons, grew into a not that time consuming but nevertheless not too short horrible nightmare, I decided to write down the very much too easy solution.

As a repository consisting ROOT is not provided by SL 5.5 as a standard option (only Higgs knows why), one has to add one to the list. Why did I believe that there was one, to begin with? I first tried SLC 5.7 (Scientific Linux CERN), where it was no problem at all to install ROOT via yum which was, as this post is exactly about that, not the case with SL 5.5 . When I tried to install ROOT by bashing into the commandline “yum install root” nothing was found. Hmmm … I decided to ask google in which repository I can find ROOT as a package for Red Hat. No answer at all. I didn’t believe that so I spent some time asking google again … and again … to no better outcome.
After that I decided to compare the repositories of SL 5.5 to SLC 5.7 and was finally, again after some time, successful.

So here is the solution:

Just add “epel” which stands for “Extra Packages for Enterprise Linux” to your repositories. First copy the attached GPG file ( http://www.thecampaign.eu/files/RPM-GPG-KEY-EPEL ) into /etc/pki/rpm-gpg and then, for example, open “Applications”/”Add/Remove Software” and edit the the list via “Edit”/”Repositories”. Then click “Add”, set “epel” (or what ever you like) as name and description (be careful not to have spaces in the name) and paste the URL http://linuxsoft.cern.ch/epel/5/i386 into the location field and file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL to “Advanced”/”GPG-Key”. Close the windows with “OK”, be sure that there is a mark on the new repo and also close this window via “Close”. Yum should automatically update the application list and if ROOT is searched for now it will be available for installation.

I deem all this is also doable for fresher versions of Scientific Linux with only some minor modifications.

That’s all for today.

Over and Out!

As the matter of the this topic stole me some of my “very” precious time I will give you the solution to this rather easy problem. IT IS JUST NOT VERY LONG!

ROOT battles to be not compiled on Ubuntu 11.04 stating that it cannot find some libraries (libX11.so, libXext.so and libXft.so) and even fails to build xrootd. To get

  • ./configure –prefix=/usr/local

 

to work, and that the process is also able to build xrootd, just tell the script where to find those ominous libs by adding –with-x11-libdir=/usr/lib/i386-linux-gnu –with-xft-libdir=/usr/lib/i386-linux-gnu –with-xext-libdir=/usr/lib/i386-linux-gnu –with-xrootd-opts=–syslibs=/usr/lib/i386-linux-gnu to the command that it reads

  • ./configure –with-x11-libdir=/usr/lib/i386-linux-gnu –with-xft-libdir=/usr/lib/i386-linux-gnu –with-xext-libdir=/usr/lib/i386-linux-gnu –with-xrootd-opts=–syslibs=/usr/lib/i386-linux-gnu –prefix=/usr/local

 

Apparently the Ubuntu team changed the structure of the /usr/lib directory for compatibility between system architectures.

One rule to remember is to define every library path for every feature by hand if possible.

Again do not just copy and paste the above command as it seems that the double line is transformed to a long line by WordPress.

For everything else to work just follow the instructions regarding ROOT in my former post.

I warned you that it will be a short post. OUT!

As I struggled several weeks to get KDevelop up and running for C++ / ROOT development because there are only few and mostly bad instructions I here present you with a short one. Hopefully it will help prevent the severe headaches I had. BEHOLD!!!

After having installed Ubuntu 10.10 (Maverick Meerkat) successfully (what shouldn’t be a problem as the installation procedure is smoother than ever before) the next step towards getting the development environment up and running is adding the right software sources for aptitude to find KDevelop. Nothing easier as that … open a terminal and execute

  • sudo add-apt-repository ppa:kubuntu-ppa/backports

  • sudo apt-get update

  • sudo apt-get install kdevelop

 

Now KDevelop 4.2 should be installed on the system. To use the KDevelop build system also install cmake by executing

  • sudo apt-get install cmake

 

To test if KDevelop is installed correctly enter

  • kdevelop

 

anywhere in the terminal.

The next step is to install ROOT.

Go to http://root.cern.ch/drupal/content/downloading-root and download the latest version (a link “ROOT x.xx/xx complete source tree for all systems”). To be able to compile ROOT the following dependencies have to be fulfilled.

  1. make
  2. g++
  3. gcc
  4. binutils
  5. libx11-dev
  6. libxpm-dev
  7. libxft-dev
  8. libxext-dev

 

To install those, if not already installed, execute

  • sudo apt-get install (… followed by the expression after the numbers 1 to 8 )

 

Having provided all dependencies ROOT is ready to be built.

Enter the directory where ROOT was downloaded to and extract the archive by executing

  • tar -xvf (… followed by the name of the file)

 

After changing into the newly generate directory named ./root, execute

  • ./configure –prefix=/usr/local (do not cut and paste this)

 

followed by the command

  • make -j x (where x is the number of CPU cores of the system +1, for best performance)

 

to actually build it.

Wait … wait … wait even more until the process has finished. Now its ready to be installed by executing

  • sudo make install

 

The only thing which is left now is to tell the compiler where to find the new libraries. To do so create the file libroot.conf in /etc/ld.so.conf.d by entering

  • sudo nano /etc/ld.so.conf.d/libroot.conf

 

into the terminal and editing the content of the file to read

  • /usr/local/lib/root

 

Save it by pressing <strg>+o then <enter> and leave the editor by hitting <strg>+x.

Next step is to register libroot.conf by entering

  • sudo ldconfig

 

Now it should be possible to run ROOT. To test if everything is right to this point do

  • root

 

anywhere in the terminal. A pop up window should appear, indicating that ROOT is starting.

Leave it by entering

  • .q

 

and hitting <enter> .

Now KDevelop has to be configured.

For the correct parameters execute

  • root-config –cflags –glibs

 

and copy the results into the clipboard.

Open KDevelop again, create your project and compile it once to be able to access the advanced project configuration (else it won’t show up) .

Enter the project configuration by right clicking onto your project in the tree on the left side and hitting “Open Configuration”.

Now click “Show Advanced” and mark “Show Advanced Values”.

Scroll down to the entry which reads “CMAKE_CXX_FLAGS”, paste the values copied before into the field on the right and close the windows by clicking “OK”.

VOILA! KDevelop is ready to be used to create C++ / ROOT programmes.

To be able to debug the programme, launches have to be configured by clicking on “Run” and “Configure Launches”.

For “Project Target” choose your project.

It is also advised to configure “Dependencies” so that the programme is built upon debugging. Choose “Build” as the action and your project as the target. NOTHING else has to be done to enable debugging in KDevelop.

 

 

 

It happend! It seems that I am starting a blog … indicated by this first entry into my blog. As a matter of uncreativity I don’t have much to say in this first post. I don’t even know what my blog will specialise in or if it is going to specialise at all. I am thinking of writing down whatever it is I think about … this could be much but also nothing. Having said too much already I will finish this first words with only one warning. BEWARE!