-
Notifications
You must be signed in to change notification settings - Fork 255
Working Copy Preparation
Andrei Novikov edited this page May 25, 2018
·
5 revisions
Here you will find one of the ways how to prepare working of pyclustering using command line (linux, or cygwin).
- Create a folder we are you going to store pyclustering sources:
$ mkdir pyclustering
- Clone sources from github repository:
$ cd pyclustering/
$ git clone https://github.com/annoviko/pyclustering.git .
- Compile core of the library 'ccore' (make sure that you have compiler that support C++ 14):
$ cd ccore/
$ make ccore_x64 # build 64-bit version
# make ccore_x86 # build 32-bit version
# make ccore # build both versions
Log example of ccore compilation:
andrei@linuxmachine:~/workspace/pyclustering/ccore$ make ccore
make -f ccore.mk ccore
make[1]: Entering directory `/home/andrei/workspace/pyclustering/ccore'
mkdir -p obj/ccore/.
mkdir -p obj/ccore/cluster
mkdir -p obj/ccore/container
mkdir -p obj/ccore/differential
mkdir -p obj/ccore/interface
mkdir -p obj/ccore/nnet
mkdir -p obj/ccore/tsp
g++ -c -O3 -MMD -MP -std=c++1y -fPIC -Isrc src/./ccore.cpp -o obj/ccore/./ccore.o
g++ -c -O3 -MMD -MP -std=c++1y -fPIC -Isrc src/./utils.cpp -o obj/ccore/./utils.o
g++ -c -O3 -MMD -MP -std=c++1y -fPIC -Isrc src/cluster/agglomerative.cpp -o obj/ccore/cluster/agglomerative.o
... ... ...
# Code compilation
... ... ...
g++ -c -O3 -MMD -MP -std=c++1y -fPIC -Isrc src/tsp/distance_matrix.cpp -o obj/ccore/tsp/distance_matrix.o
g++ -static-libstdc++ -shared obj/ccore/./ccore.o obj/ccore/./utils.o obj/ccore/cluster/agglomerative.o obj/ccore/cluster/ant_clustering_mean.o obj/ccore/cluster/cluster_algorithm.o obj/ccore/cluster/cluster_data.o obj/ccore/cluster/cure.o obj/ccore/cluster/dbscan.o obj/ccore/cluster/hsyncnet.o obj/ccore/cluster/kmeans.o obj/ccore/cluster/kmedians.o obj/ccore/cluster/kmedoids.o obj/ccore/cluster/optics.o obj/ccore/cluster/ordering_analyser.o obj/ccore/cluster/rock.o obj/ccore/cluster/somsc.o obj/ccore/cluster/syncnet.o obj/ccore/cluster/xmeans.o obj/ccore/container/adjacency_bit_matrix.o obj/ccore/container/adjacency_connector.o obj/ccore/container/adjacency_factory.o obj/ccore/container/adjacency_list.o obj/ccore/container/adjacency_matrix.o obj/ccore/container/adjacency_weight_list.o obj/ccore/container/kdtree.o obj/ccore/differential/differ_factor.o obj/ccore/interface/agglomerative_interface.o obj/ccore/interface/cure_interface.o obj/ccore/interface/dbscan_interface.o obj/ccore/interface/kmeans_interface.o obj/ccore/interface/kmedians_interface.o obj/ccore/interface/kmedoids_interface.o obj/ccore/interface/optics_interface.o obj/ccore/interface/pcnn_interface.o obj/ccore/interface/pyclustering_package.o obj/ccore/interface/rock_interface.o obj/ccore/interface/som_interface.o obj/ccore/nnet/legion.o obj/ccore/nnet/pcnn.o obj/ccore/nnet/som.o obj/ccore/nnet/sync.o obj/ccore/nnet/syncpr.o obj/ccore/tsp/ant_colony.o obj/ccore/tsp/distance_matrix.o -o ../pyclustering/core/x64/linux/ccore.so
make[1]: Leaving directory `/home/andrei/workspace/pyclustering/ccore'