LINUX.ORG.RU

Среда разработки C/C++/Fortran для Sun Solaris 2.5.1 - как восстановить

 , , ,


0

2

Есть рабочая станция с Sun Solaris 2.5.1 (на базе процессора Sparc). Необходимо установить родную среду разработки (Sun WorkShop 3.x ?) и необходимые компоненты к ней для разработки ПО с использованием компиляторов C,C++,Fortran. Честно говоря, последний раз имел дело с Sun'овской техникой где-то в году 2000-2001, причем тогда не был связан с разработкой ПО напрямую. Сейчас попытался установить Sun WorkShop 3.1 - вроде все установилось, но почему-то отсутствуют хедеры для С/С++: «stdio.h», «stdlib.h» и т.д., которые вроде должны располагаться в /usr/include ... Кто подскажет какие пакеты требуются для установка полного и работоспособного окружения для разработки под Sun Sparc Solaris 2.5.1. Да, сразу уточню, необходимо именно задействовать Sun'овские компиляторы , а не gcc/g++/f77.

Заранее спасибо !

P.S. Дополнительно интересует информация по приемам переноса кода с этой платформы на Linux (Intel, x64).

почему-то отсутствуют хедеры для С/С++: «stdio.h», «stdlib.h» и т.д., которые вроде должны располагаться в /usr/include ...

Так файлы отсутствуют или программы не компилируются? ЕМНИП, загловочные файлы на Solaris лежат в каком-то не сосем обычном месте вроде /opt/SUNWчототам

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

да, именно так. в соляре нет никакого порядка в отношении расположения файлов и меня это раздражало, когда приходилось под неё разработку вести. там ещё была киллер-фича, что библиотеки лежали не в общем каталоге, а были разбросаны по каталогам их производителей, что вообще убивало.

так что либо прописывать PATH для юзера в нужном порядке, либо прямо в проекты эти пути тащить.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Проблема заключается в том, что обнаружить файлы заголовков не удалось в принципе... Была просканирована вся файловая система. Их просто нет. Возможно необходимо было поставить какой-то пакетами установке самой системы Solaris (станция была уже с предустановленной ОС) Поэтому, при попытке компиляции ПО получаю ошибку, что хедеры не найдены...

agb2008
() автор топика

Читаешь доки и делаешь все по инструкции. У SUN отличные доки, никогда проблем с установкой SUN Workshop/Forte не было.
Там еще лицензия нужна, которая привязывается к hostid. С этим что делать будешь?

bigbit ★★★★★
()
Ответ на: комментарий от anonymous

Спасибо за информацию. Действительно данный пакет, а также целый ряд других не были установлены при установке системы Solaris. Нужно будет найти установочные диски или их iso образы (машина пришла с предустановленной системой, но видимо не в полном объеме).

agb2008
() автор топика
Ответ на: комментарий от bigbit

Если посмотреть инструкцию к Sun WorkShop 3.1 - там увы ни слова не было про установку данного пакета (SUNWhea)... Ну да ладно - вроде решение нашлось - осталось его реализовать, а также найти все остальные пакеты с необходимыми модулями: ar, ranlib, и.т.д.

Теперь относительно лицензии - да, данный продукт (Sun WorkShop) ранее был коммерческим и стоил весьма прилично. Но в определенный момент, когда его жизненный цикл подошел к концу (году этак в 2006) Sun сделал широкий жест и выложил бесплатные демо лицензии к версиям 3.0 и 5.0 данного продукта. Если хорошо поискать - эти лицензионные файлы (по крайней мере для версии 3.0) еще можно найти. К сожалению, оригинальная страница, на который эти лицензии были выложены более не доступна.

Примечание Sun WorkShop 6.0 - остается коммерческим продуктом !

agb2008
() автор топика

P.S. Дополнительно интересует информация по приемам переноса кода с этой платформы на Linux (Intel, x64).

Могу поделиться своим опытом. Если будете переносить системный код, то обратите особое внимание на функцию select. Некогда работающий код под солярисом может запросто перестать работать под линуксом, а все из-за разного размера fd_set. По просту говоря, при вызове select на линуксе файловый дескриптор не должен превышать значение примерно 1024, тогда как солярис проглотит и значение 65000.

dave ★★★★★
()
Ответ на: комментарий от agb2008

По-моему, лицензии только графической оболочкой использовались. Я скачивал уже не помню какую версию с рутрэкера, думал придётся возиться с лицензиями, но оказалось, что то что мне надо было, собиралось и без них.

alt-x ★★★★★
()
Ответ на: комментарий от agb2008

При установке солярки можно было выбирать профиль - минимум, сервер, станция разработчика, полная (ну или что-то в этом духе). В случае первых двух SUNWhea не устанавливался, ибо ни к чему.

anonymous
()
Ответ на: комментарий от Iron_Bug

в соляре нет никакого порядка в отношении расположения файлов

Ну если ты не читала man filesystem, то кто же тебе доктор, а если тебя раздражало, что оно не так, как в ляликсе, то почему-то начинает вспоминаться пословица про монастырь и устав.

там ещё была киллер-фича, что библиотеки лежали не в общем каталоге, а были разбросаны по каталогам их производителей, что вообще убивало.

Куда складывать библиотеки сторонних пакетов - это дело производителей этих самых пакетов. Возможно, их пилили такие же нечитавшие man filesystem :)

Коммерческий софт для ляликса тоже далеко не всегда все раскладывал в соответствии с FHS.

anonymous
()
Ответ на: комментарий от anonymous

К сожалению, в моем случае станция пришла уже с предустановленной системой. Пришлось искать установочные диски Solaris 8 и доставлять пакеты, которые я счел необходимыми. Как это ни странно - но все заработало. Так что теперь дело за малым - пересобрать ПО и работать над переносом на платформу Linux. (что собственно и является целью этого эксперимента)

agb2008
() автор топика
Ответ на: комментарий от agb2008

Добавлю, что обычно это не является проблемой, потому что файловые дескрипторы, как правило, назначаются по возрастающей, но если ваше ПО использует более 1000 файловых дескрипторов, но надо смотреть «в оба». В простейшем случае можно заменить посиксную функцию select на линукс-специфичную poll. Можно сделать практически единообразно

dave ★★★★★
()
Ответ на: комментарий от dave

на линукс-специфичную poll

4.2

poll() conforms to POSIX.1-2001 and POSIX.1-2008.
ppoll() is Linux-specific.

joy4eg ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.