потоковая программа на c++ и общие библиотеки

У меня есть программа на C++, которую я пытаюсь запустить как потоковое задание на hadoop (в ней только mappers, никаких reducers). В то время как простая программа на C++ работает правильно. Другая программа на C++, которая использует множество общих библиотек, не работает на grid. ldd на этой программе на C++ показывает следующее: (она использует много сторонних библиотек, таких как opencv и boost_serialization)

/usr/local/lib/libboost_serialization.so.1.48.0 /usr/local/lib/libfftw3f.so.3   /usr/local/lib/libconfig++.so.9 /usr/local/lib/liblog4cpp.so.4   /usr/local/lib/libopencv_core.so.2.3 /usr/local/lib/libopencv_contrib.so.2.3

Я думаю, что из-за того, что эти общие библиотеки не установлены на data-nodes, она не работает. Я попытался поместить эти библиотеки в tarball и указать их в потоковом задании с помощью опции -archives (распределенный кэш). Это также не сработало (я не уверен, что содержимое tarball было установлено в соответствующую директорию на data-nodes).

Есть идеи, как это сделать?

6
задан LU RD 28 January 2012 в 11:28
поделиться