Складання TauDEM в Linux
У статті поетапно описується процес складання з вихідного коду набору програм TauDEM у Unix-подібних операційних системах.
Зміст
Коротко про TauDEM
На офіційному сайті доступні скомплільовані утиліти для Windows (32/64-bit), а також доповнення до ArcGIS 9.* у вигляді стандартного "тулбоксу". Починаючи з версії 5, всі програми у складі TauDEM адаптовані для паралельних обчислень, для забезпечення багатопоточності за замовчуванням використовується відкрита бібліотека MPICH2. При використанні такого підходу навіть на однопроцесорних машинах завдання все одно виконується у вигляді кількох паралельних процесів.
Слід зазначити, що тільки в поточній версії TauDEM з'явилися т.зв. make-файли для системи збирання програм make у Unix-системах.
Підготовка до збирання
На офіційній сторінці TauDEM йдеться, що для складання програм та їх нормальної роботи має бути обов'язково встановлена бібліотека MPICH2. Експериментально було з'ясовано, що інша, більш поширена серед Linux вільна реалізація MPI, — OpenMPI — також підходить цього завдання. У цьому випадку використовуватиметься саме OpenMPI, хоча основні дистрибутиви Linux містять у своїх репозиторіях і MPICH2.
Отже, для успішної компіляції нам знадобляться програми:
- make- традиційна для Linux система складання;
- cmake- "просунута" система складання;
- gcc- набір компіляторів, у тому числі, для мови С++;
- openmpi— файли OpenMPI, що виконуються, і набір файлів для розробників.
Увага: всі подальші дії будуть виконуватися в командному рядку і в основному з правами суперкористувача! Всі тестовані системи - офіційні LiveCD дистрибутивів.
Ubuntu9.10–11.04
У пакетному менеджері повинні бути підключені репозиторіїuniverse(установка черезSynapticабо в консолі за допомогоюapt-get/aptitude)
- Відкриваємо термінал
- Виконуємо команди від суперкористувача (su/sudo):
- sudo apt-get update
- sudo apt-get install cmake openmpi-bin libopenmpi-dev [З урахуванням оновлень та залежностей потрібно буде завантажити 10-11Mb]
У пакетному менеджері повинні бути підключені репозиторіїuniverse(установка черезSynapticабо в консолі за допомогоюapt-get/aptitude)
- Відкриваємо термінал
- Виконуємо команди від суперкористувача (su/sudo):
- sudo aptitude update
- openmpi-bin libopenmpi-dev [З урахуванням оновлень і залежностей потрібно буде завантажити близько 42Mb]
- Відкриваємо термінал
- Виконуємо команди від суперкористувача (su/sudo):
- yum install gcc.i686 gcc-c++.i686 cmake openmpi.i686 openmpi-devel.i686 [З урахуванням оновлень та залежностей потрібно буде завантажити близько 60Mb.]
- updatedb [Оновлюємо файлову базу даних]
OpenSUSE 11.4
У пакетному менеджері має бути підключений репозиторійContrib(установка черезYaSTабо в командному рядку за допомогоюzypper):
В OpenSUSE файли OpenMPI, що виконуються, встановлюються за замовчуванням в директорію/usr/lib/mpi/gcc/openmpi/bin, її треба додати в системний PATH. Також потрібно додати шлях до бібліотек OpenMPI, що розділяються, в LD_LIBRARY_PATH, виконавши команду:
При використанні MPICH2 замість OpenMPI для початку її треба встановити засобами пакетного менеджера вашого дистрибутива або з вихідного коду, потім потрібно запустити демонmpdабоsmpd. Як це зробити, найясніше скаже нам "підказка" з командного рядка:
Складання TauDEM
Для автоматизації процесу складання та встановлення TauDEM у різних дистрибутивах Linux був написаний невеликий shell-скрипт. Скрипт робить таке: перевіряє, чи всі необхідні компоненти встановлені; скачує архів з вихідним кодом (близько 260K); виправляє помилки у кількох файлах для збирання; запускає конфігурування та компіляцію за допомогоюсmake; встановлює скомпіловані утиліти у вибраний каталог і перейменовує їх відповідно до Windows-версій.
Робота скрипта була перевірена на всіх вищезгаданих дистрибутивах Linux.
Загалом скрипт працює так.
- Збережіть скрипт на диск, дайте файлу права виконання: chmod +x taudem_linux_compile.sh
- При запуску без аргументів скрипт створить у поточній директорії каталогTauDEMі далі працює у цьому каталозі, як описано вище. Виконувані файли будуть встановлені в./TauDEM/bin
- Можна запустити скрипт з аргументом як шляху (якщо каталог існує, то скрипт працюватиме у ньому, якщо ні — створить його). taudem_linux_compile.sh
Бажаючим щось змінити, покращити і т.д.рекомендується заглянути в сам скрипт і правити його під себе :)
Тестування TauDEM
Якщо збірка пройшла успішно, настав час тестувати TauDEM.
Для цього можна використовувати допоміжний скрипт із вибірковими командами з офіційного посібника користувача. Потрібно просто скопіювати скрипт у каталог з файлами TauDEM, що виконуються, дати права на виконання і запустити. Скрипт сам скачає пробний набір даних (
6M) та обробить їх. При успішному завершенні роботи в каталозіLoganможна знайти кілька растрів *.tif і shp-файлів, в самому скрипті подивитися використані команди, а в посібнику почитати, що все це означає :)