برای گذراندن درس Text Retrieval and Search Engines و انجام تمرینهای عملی آن نیاز به نصب Meta-toolkit است که یک کتابخانه ++C برای پیادهسازی سیستمهای بازیابی متن است. برای نصب آن در Ubuntu 14.04 LTS x64 از روش زیر استفاده کردم. لازم به ذکر است که این بسته در ویندوز به صورت رسمی پشتیبانی نمیشود (لیستی از سکوهای مورد پشتیبانی و نحوه نصب).
برای نصب، لازم است تا ابتدا یک نسخه از کد منبع را بر روی سیستم خود دانلود کنیم
git clone https://github.com/meta-toolkit/meta.git
برای کامپایل این بسته نیاز به cmake داریم. لازم است تا به apt-get مخزن مربوطه را معرفی کنیم
sudo add-apt-repository ppa:george-edison55/cmake-3.x
حال پیشنیازها را نصب میکنیم:
sudo apt-get update
sudo apt-get install software-properties-common cmake libicu-dev
سپس به محل دانلود بسته meta رفته و پیشنیازهای آن را دریافت میکنیم (این مرحله خیلی مهم است!)
git submodule update --init --recursive
حال نوبت به نصب بسته میرسد
mkdir build
cd build
cp ../config.toml .
cmake ../ -DCMAKE_BUILD_TYPE=Release
make
در صورتی که فرایند نصب موفق باشد، خروجی دستور ذیل
ctest --output-on-failure
باید به صورت زیر باشد
Test project /home/ali/Downloads/meta/build
Start 1: analyzers
1/14 Test #1: analyzers ........................ Passed 0.30 sec
Start 2: stemmers
2/14 Test #2: stemmers ......................... Passed 0.33 sec
Start 3: parallel
3/14 Test #3: parallel ......................... Passed 2.90 sec
Start 4: inverted-index
4/14 Test #4: inverted-index ................... Passed 3.04 sec
Start 5: forward-index
5/14 Test #5: forward-index .................... Passed 2.34 sec
Start 6: string-list
6/14 Test #6: string-list ...................... Passed 0.00 sec
Start 7: vocabulary-map
7/14 Test #7: vocabulary-map ................... Passed 0.00 sec
Start 8: libsvm-parser
8/14 Test #8: libsvm-parser .................... Passed 0.00 sec
Start 9: classifiers
9/14 Test #9: classifiers ...................... Passed 8.89 sec
Start 10: rankers
10/14 Test #10: rankers .......................... Passed 18.67 sec
Start 11: ir-eval
11/14 Test #11: ir-eval .......................... Passed 1.01 sec
Start 12: compression
12/14 Test #12: compression ...................... Passed 0.02 sec
Start 13: graph
13/14 Test #13: graph ............................ Passed 0.01 sec
Start 14: parser
14/14 Test #14: parser ........................... Passed 0.01 sec
100% tests passed, 0 tests failed out of 14
Total Test time (real) = 37.59 sec
پینوشت: در هنگام نصب، من حواسم به اجرای دستور
git submodule update --init --recursive
نبود، بنابراین کلی خطای متفرقه دریافت کردم و تقریبا 2 ساعت درگیر رفع خطا بودم تا اینکه دستکاری فایلها به حدی رسید که ترجیح دادم یک نسخه جدید را build کنم! اینجا بود که فهمیدم خطا از کجا بوده! بنابراین این پست را به عنوان یک یادداشت در بلاگ درج کردم.