Ok, for completeness sake i will post with what I went in the end. I am using scipy-cluster for the clustering part now. It is the most versatile implementation I have found so far. I think I will go with libSVM (it has a Python interface now) for the SVM part. I am going with Python because there was really no fitting implementation of hierarchical clustering in C++ to be found (the C Clustering Library is specialized for microarrays and does not support multidimensional data).