Компилятор Intel из под Linux

Сообщения
49
Реакции
32
Приветствую всех.
Имею компьютер с Linux Mint 21 (Linux - 5.15.0-43-generic - x86_64) с процессором AMD A10-4600M. Понадобилось мне для своего сервера внести мелкие изменения в ReGameDLL и скомпилировать cs.so
По инструкции с гитхаба установил необходимые пакеты и компилятор gcc, сделал git clone, все скомпилировал. Но произошла некоторая оказия - на локальной машине сервер запускался без проблем, а вот на хостинге нет.
Связал я это с тем, что там стоит серверный процессор от Intel и компилятор gcc для него собирает как-то не так. И нужно компилировать из под icc. После долгого и мучительного гугления, установил следующие компоненты, в надежде, что это сможет помочь, но к внятному результату это не привело и окончательно поставило меня в ступор. Такое ощущение, будто компилятор и не установлен вовсе.
Снимок экрана от 2022-08-22 18-20-33.png
Снимок экрана от 2022-08-22 18-23-40.png
Также заметил, что cs.so, который получается у меня, имеет размер 2.8МБ, в то время как оригинальный 5.21.0.556 имеет размер 3.4МБ. Может, я как-то неправильно компилирую или что-то делаю совершенно не так?
Я уверен, что найдутся знающие люди, которые подскажут, что я делаю не так. Прошу сильно меня не пинать, с подобным сталкиваюсь впервые.
 

Garey

ninjaCow
Сообщения
440
Реакции
1,094
Помог
11 раз(а)
UrShade, glibc старая на сервере. Попробуйте скомпилировать с gcc 6 или 7
 
Сообщения
49
Реакции
32
Garey, наконец-то я увидел на гитхабе в разделе Actions, что оригинальный ReGameDLL скомпилирован GCC 9.3. Установил себе компилятор, только версии 9.4 (я так понимаю она последняя в этой мажорной версии и она же устанавливается при попытке установить gcc-9, g++-9). Скомпилировал, но ничего не изменилось.
Glibc установлен версии 2.24. Но все же - как такое может быть, что скомпилированная оригинальная библиотека работает и весит в полтора раза больше, а моя не заводится на хостинге и по размеру меньше?
Я все больше и больше склоняюсь к тому, что я делаю что-то не так, но совершенно не могу понять что именно. Да и компилирование build.sh упрощено до нельзя. Может, есть какие-нибудь заметки в интернете по этому поводу? Или кратенькая последовательность действий, чтобы скомпилировать исходники ReGameDLL точно так, как они лежат на гитхабе?
 
Последнее редактирование:

Garey

ninjaCow
Сообщения
440
Реакции
1,094
Помог
11 раз(а)
UrShade, Скорее всего компилите правильно и опять же проблема в несовместимости GLIBC. Для проверки можете запустить сервер с параметром +log on где скорее всего будет ошибка в несовместимости версий. Можете просто клонировать репозиторий regamedll и использовать его github actions файл https://github.com/s1lentq/ReGameDLL_CS/blob/master/.github/workflows/build.yml где используется кастомный докер образ s1lentq/linux86buildtools:latest.
23 Авг 2022
Ещё скомпиленную либу можете проверить на зависимости - ldd имялибы.so и потом strings имялибы.so | grep GLIBC
 
Сообщения
49
Реакции
32
Garey, спасибо большое за советы и помощь. Проблему решил, все заработало :good2:
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу