Я написал программу для Visual C # 2010 Express в Windows 7, 64-разрядная версия.После некоторых трудностей мне удалось заставить его работать под моей виртуальной машиной Ubuntu (32-битной) (перекомпилирована в MonoDevelop и использовала mkbundle).Клиент сказал мне, что у него есть следующая версия: «Linux версия 2.6.18-274.el5.028stab093.2 (root @ rhel5-build-x64) (gcc версия 4.1.2 20080704 (Red Hat 4.1.2-46))».Команда "cat / etc / redhat-release" возвращает "CentOS release 5.7 (Final)".Я получил доступ к его серверу и загрузил вывод mkbundle (который отлично работает под Ubuntu).Программа вернула следующую ошибку:
$ ./ProgName img.jpg
./ProgName: /lib/libc.so.6: version `GLIBC_2.9' not found (required by ./ProgName)
./ProgName: /lib/libc.so.6: version `GLIBC_2.11' not found (required by ./ProgName)
./ProgName: /lib/libc.so.6: version `GLIBC_2.8' not found (required by ./ProgName)
Как мне решить эту проблему?У меня очень мало знаний о системах Linux.Я предполагаю, что мне нужно скачать указанные выше библиотеки, но у меня есть следующие вопросы:
- Если я скачаю эти библиотеки, может ли это каким-либо образом повредить сервер?Я не хотел бы вредить клиентскому серверу.
- Почему программе, которая была "mkbundled", нужны дополнительные библиотеки?Я использовал «--static» с mkbundle, и на выходе получился файл размером 5,7 Мб, поэтому я подумал, что в нем уже есть все необходимые библиотеки.
Есть ли другой способ решения этой проблемы?
РЕДАКТИРОВАТЬ: Я думаю, что, возможно, если мне удастся скомпилировать проект на сервере клиента, он будет работать, но я не могу найти моно для этой версии Linux.Есть ли способ установить моно в этой системе?Если нет, то какие еще есть варианты?В худшем случае я думаю переписать свою программу на C ++.