Что требуется для переноса пакета приложений C / C ++ / Motif с RedHat Linux ES4 на RedHat Linux ES6 - PullRequest
0 голосов
/ 09 августа 2011

Я собираюсь приступить к проекту по переносу нашего пакета приложений с RedHat ES4 на RedHat ES6. Насколько это сложно? В прошлом у нас был разный опыт от версии к версии, и нам было интересно, есть ли какие-то конкретные ошибки при переходе на ES6.

1 Ответ

1 голос
/ 10 августа 2011

Все будет зависеть от того, что находится в вашем коде, насколько он чист и насколько обновлен ваш старый Linux (open-motif 2.2.x против 2.3.3, версия gcc и т. Д.).Если вы не используете устаревшую функциональность в ES4, используете предложенные методы кодирования вместо хаков, и ваши библиотеки имеют стабильные интерфейсы, то он может просто перекомпилироваться.Если нет, он даст вам список некоторых ошибок, которые могут дать вам представление о сложности, но в основном это будет зависеть от случайности и догадок.Если он скомпилирует много файлов перед ошибкой, то, вероятно, легко.Если это просто дает вам много ошибок, то, вероятно, сложно.Вы получите лучшее представление о том, как будет выполняться больше заданий компиляции.

Исходя из моего опыта по смене ОС, я не ожидал бы слишком большой помощи при прогнозировании.Я переместил код SUSE Linux в Ubuntu и Windows с помощью простой перекомпиляции.Я должен был сделать несколько изменений в первые пару раз, когда я перемещал код между Windows и Linux (ну, больше, чем несколько, сначала переходя с Windows на Linux), но теперь это без усилий.У меня есть программа для создания слайдшоу изображений, которую я написал.Он начался на старой версии Slackware (32-разрядная версия), затем был переведен на Gentoo (32- и 64-разрядную версию) и Ubuntu (32- и 64-разрядную версию).Помимо улучшений программы, все, что мне нужно было сделать, это перекомпилировать и, возможно, установить необходимые библиотеки разработки.

Однажды я столкнулся с проблемой с OCCI Oracle (версия OCI для C ++), где мое приложение Win32 компилировалось и связывалосьпросто отлично в Linux (32 или 64 бит), но из-за неудачной поддержки продукта Oracle мне пришлось переписать части базы данных, используя стороннюю библиотеку для нашей целевой платформы Win64.Но с чистым дизайном, как только я решил заменить библиотеку, потребовалось всего 2 дня, чтобы исправить код за 9 месяцев.

...