Archive for April, 2012


When I tried to upgrade my system the other day I got the message

:: The following packages should be upgraded first :
pacman
:: Do you want to cancel the current operation
:: and upgrade these packages now? [Y/n]

This is nothing unusual per se, but what happened next was

resolving dependencies…
looking for inter-conflicts…
error: failed to prepare transaction (could not satisfy dependencies)
:: gcc: requires gcc-libs=4.7.0-3

The solution is

[root@hp ~]# pacman -S libtool gcc gcc-libs
:: The following packages should be upgraded first :
pacman
:: Do you want to cancel the current operation
:: and upgrade these packages now? [Y/n] n

So, you have to specify libtool, gcc and gcc-libs at one time, else you will
run into a cross dependency problem pacman seems to be unable to solve itselve.
When it asks to upgrade pacman first, you should say no.

After this, you can upgrade pacman, and the rest of your system without issues.

Zo mensen, na een lang paasweekend in Limbabwe geweest te zijn, ben ik weer thuis. Al ben in mijn tijd in Limburg druk bezig geweest met een opdracht voor Software Evolution. Daar is best een hoop tijd in gaan zitten, en om eerlijk te zijn, ben ik niet tevreden met het resultaat. En afgelopen zondag was ik nog naar de verjaardag van Randy.

Afin, nog een andere mededeling. op irc.blaatschaap.be heb ik nu een cgi:irc en een pjirc ingericht met inlogformulieren. Deze bieden ook de mogelijkheid deze met parameters in de link al in te vullen, zoals ik op de site van Eileen heb gedaan.

Verder, wat mijn server betreft. De huidige server is betaald tot en met oktober. Ik zit te overwegen na oktober over te stappen op een andere server. (wel bij dezelfde serverboer) Ik heb dit ding sinds 2009. Toen was het instapmodel voorzien van 1 GB RAM, terwijl het huidige instapmodel 2 GB RAM bevat. En aangezien ik een tijdje terug tegen de limieten van het RAM aan liep, en het aantal sites op mijn server nog steeds groeit, lijkt het me verstandig om over te stappen naar een model met meer RAM. Liever eerder, maar bij het verlengen had ik nou net een ruimere periode gekozen zodat ik niet constant mails krijg dat ik moet verlengen.

Afin, toen ik deze server (opnieuw) had ingericht, afgelopen november, had ik er geen rekening mee gehouden dat ik zoveel sites van anderen op mijn server zou gaan hosten, en daarmee bij de inrichting van de server hier ook geen rekening mee gehouden. Toen ging ik wel uit van meerdere sites/domeinen, maar enkel onder eigen beheer. Die situatie is ondertussen veranderd.

Ik heb van iemand een tip gekregen om ISPConfig voor de beheersdingen te gebruiken. Maar ik denk dat ik deze pas zal inzetten op de nieuwe server. Ten eerste, ik weet niet in hoeverre mijn huidige configuratie problemen oplevert, ten tweede, mijn huidige distro is niet ondersteund door ISPConfig. Ik geef ik toe liever bij ArchLinux te blijven dan terug te gaan naar Debian.

Afin, niet ondersteund betekent nog niet dat het niet zal werken he. Dit zal ook nog getest moeten worden. Vandaar dat ik ook een nieuwe server wens, zodat ik deze in kan richten zonder me zorgen te hoeven maken over downtime en zo voort. Bovendien zal ik mogelijk nog wat dingen aan ISPConfig gaan patchen, in zoverre hier nog geen patches voor online staan. Ik heb wel al als feature request PostgreSQL integratie zien staan. (Standaard kent hij alleen MySQL) En mogelijk ook nog wat voor andere diensten… maar dat is allemaal voor later.

Ik heb voor de rest van de week weer een volgeplande agenda staan… dus tot later mensen!

Mijn afgelopen posts zijn allemaal van technische aard geweest, en vandaar ook in het Engels, maar om toch even een ander geluid te laten horen, bij deze.

Gistermiddag ben ik naar Plein is fijn geweest. Het Clausplein, waar op 5 November 2011 Occupy Eindhoven begon, was de plaats waar gister enkele mensen die actief zijn geweest binnen de Eindhovense Occupy-beweging de fietsers opwachtten die op weg zijn naar het Griekse Athene. Het is de bedoeling dat deze fietsers daar op 12 Mei aankomen om deel te nemen aan een grote demonstratie aldaar. Deze fietsers waren afgelopen maandag vanuit Groningen vertrokken, en gisteren dus in Eindhoven geärriveerd. Als je meer over deze fietsers wil weten, dan verwijs ik je door naar hun website.

Na een tijdje werd het Clausplein toch was frisjes. Ja, gister heel de dag bewolkt. En vandaag zie ik een zonnetje schijnen. Maar ja, het is dan ook zondag vandaag, nietwaar? Afin, dus, nadat we op zoek naar de warmte een café hadden gevonden en daar enkele uren hadden doorgebracht, was uiteindelijk ook de laatste fietser aangekomen.

Maar goed… na een gezellige middag op het Clausplein en in de kroeg, was het ‘s avonds tijd voor wat anders. Lotte vertelde me dat die avond de mantra-band Namaste MantraMusic een CD-presentatie voor hun début album “Life is a Secret” hield. Dus na wat gegeten te hebben in de Hoek, zetten we koers richting de Aquamarijn.

Nu kende in de Aquamarijn wel van naam. Ik zie regelmatig aankondigingen van hun evenementen ophangen op de prikborden op mijn universiteit. Ik denk dan wel van leuk, daar moet ik heen. Ik maak er zelfs een foto van, maar als puntje bij paaltje komt, ik was er nog nooit geweest.

Afin…. het was gister een leuke dag, en vandaag… ben ik bezig geweest met het überhaupt werkend krijgen van de software die ik voor een assignment van het vak Software Evolution moet gebruiken. Nu dat geheel werkt, zie mijn vorige post… is het tijd om toch echt eens iets te gaan doen… maar om eerlijk te zijn… heb ik mijn neus er een beetje van vol… dus denk ik dat ik nu een stuk tekst ga lezen voor een filosofievak, en na het eten verder te kijken.

I am required to use CCFinder for an assignment at my university.

As, on the download page, http://www.ccfinder.net/ccfinderxos.html there is
only a binary avialble for Windows, I must compile from source.

Please note: http://www.ccfinder.net/doc/10.2/en/install-ubuntui386.html
appears to indicate there used to be a binary for Linux available.)

There is a source package for Win32, and an additional download for
Ubuntu 9.10 i386. However, my environment is ArchLinux x86_64 bit.
From the blog http://nicolas-bettenburg.com/?p=290 it appears the
karmic.mk files are to be renamed to Makefile in order to compile.
The dependency libraries, the boost library is to be installed.
However, just installing the dependencies did not make it compile.

The first problem to encounter was

In file included from ../common/bitvector.cpp:2:0:
../common/bitvector.h:8:2: fout: ‘size_t’ does not name a type

and some more error messages related to size_t. This is caused
by the missing include of cstddef, so adding

#include <cstddef>

fixed this problem.

The next problem to run into:

g++ -licule -licutu -licuio -licuuc -liculx -licudata -licui18n -lboost_thread-mt -o ../ubuntu32/ccfx base64encoder.o bitvector.o ccfx.o ccfxcommon.o prettyprintermain.o rawclonepairdata.o unportable.o utf8support.o ccfxconstants.o
/usr/bin/ld: cannot find -lboost_thread-mt

Solution: Edit the Makefile, Changed to LIBS=
Replace -lboost-thread-my by -lboost-thread

 

As for the modules, I will not be describing every problem, only the solutions.


Compiling the picosel module

Copy karmic.mv to Makefile
no other problems encountered


Compiling pyeasytorq module

Copy karmic.mv to Makefile
Change
-I/usr/include/python2.6/
to
-I/usr/include/python2.7/

Add -fPIC to OPTS=
Change -lboost_thread-mt to -lboost_thread on the LIBS= line


Compiling the picosellib module

Note there is a type on the guide pointed to above,
the correct spelling is with double l.

Copy markic.mv to Makefile
Edit the Makefile:

Changes to OPTS=
Replace
-I/usr/lib/jvm/java-6-openjdk/include
by
-I/usr/lib/jvm/java-7-openjdk/include/ -I/usr/lib/jvm/java-7-openjdk/include/linux
Add -fPIC

Changed to LIBS=
Replace -lboost-thread-my by -lboost-thread


Compiling the CCFinderXLib module

Copy markic.mv to Makefile
Edit the Makefile:
Changes to OPTS=
Replace
-I/usr/lib/jvm/java-6-openjdk/include
by
-I/usr/lib/jvm/java-7-openjdk/include/ -I/usr/lib/jvm/java-7-openjdk/include/linux
Add -fPIC

Changed to LIBS=
Replace -lboost-thread-my by -lboost-thread



Apart from “personality problems”, this appeared to have produced a working binary

[andre@hp ubuntu32]$ ./ccfx
CCFinderX ver. 10.2.7.4 for Ubuntu i386 (C) 2009-2010 AIST
[andre@hp ubuntu32]$ file ccfx
ccfx: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x29bf88343a59e7c0f56c83115d704d139b066ff9, not stripped

However, the binary is not able to work as it should. The error message it produces is:

sh: /usr/bin/python: Bestand of map bestaat niet

This is due the fact, the path to the pyton 2 interpreter is hardcoded into the
program, in ccfx.cpp line 2567. As ArchLinux already switched to python 3, the
correct path to the python 2 interpreter should be /usr/bin/python2



In my opinion, it’s a bad habit to hard-code paths into your program that is
meant for public release. Open source projects usually distribute their
source code with a configure script included, that detects the correct
paths of includes et cetera. And for good reason, as for editing all
these Makefiles manually is quite inconvenient.

Please note: the paths and versions mentioned in this post are specific to my ArchLinux installation, and another distribution might ship other versions of python and java.

Another note: The binaries obtained by this procedure pass the test described in Nicolas Bettenburg’s blog. However, replacing the boost_thread-mt by boost_thread might introduce multithreading related issues. However, a non-multithreading version of a threading library doesn’t make much sense, therefore I don’t expect this to be an issue.