Ada_Ru форум

Обсуждение языка Ада

dirent.h

Оставить новое сообщение

Сообщения

sv_lary
dirent.h
2014-10-12 10:39:25

Здравствуйте!

 

В прошлом году я пытался собрать кросс-компилятор для Ады x86 -> PowerPC. Не получилось, увы...

В этом году я возобновил эти попытки и в результате получил сообщение об ошибке, во время компилляции кросс-ады:

 

powerpc-elf/include/sys/dirent.h:10:2: ошибка: #error "<dirent.h> not supported"

 

Ну да, это - пустой файл, в котором только и написано, что он не поддерживается.

И что делать ?

 

Может кто знает, как победить эту проблему?

Или у кого-то есть кросс-компиллер для ppc (желательно - е500) ?

 

Сергей Ларионов

12.11.2014

On 11/12/2014 01:39 PM, Сергей Ларионов sv_lary@... [ada_ru] wrote:

Здравствуйте!

 

В прошлом году я пытался собрать кросс-компилятор для Ады x86 ->

PowerPC. Не получилось, увы...

В этом году я возобновил эти попытки и в результате получил сообщение об

ошибке, во время компилляции кросс-ады:

 

powerpc-elf/include/sys/dirent.h:10:2: ошибка: #error "<dirent.h> not

supported"

 

Ну да, это - пустой файл, в котором только и написано, что он не

поддерживается.

И что делать ?

 

Может кто знает, как победить эту проблему?

Или у кого-то есть кросс-компиллер для ppc (желательно - е500) ?

 

Кросс-компилятор строится под какую-то целевую операционную систему. Под какую Вы пробуете его собрать?

 

"Родной" компилятор для PPC64 есть у Fedora. Возможно и в других дистрибутивах он будет.

Здравствуйте, Вадим!

 

 

 

Чтв 13 Ноя 2014 14:22:54 +0600, Vadim Godunko vgodunko@... [ada_ru] <ada_ru@yahoogroups.com> написал:

Кросс-компилятор строится под какую-то целевую операционную систему. Под какую Вы пробуете его собрать?

 

На самом деле - вопрос нетривиальный. :-) Заказчика мы увереяем, что это - ОС ВС...(знаете, я думаю)

Ну а что туда на заводе впендюрили во FreeScale - сказать трудно... Но пакеты там - rpm. Но - какая разница?

Я в параметрах configure указал arm32-elf. Что ещё нужно?

 

 

"Родной" компилятор для PPC64 есть у Fedora. Возможно и в других

Что в данном контексте означает слово "Родной" ? Он работает на PPC64 или он генерит код для РРС64

или и то и другое разом ?

 

--

Всего хорошего!

 

Сергей Ларионов

On 11/13/2014 07:43 PM, Сергей Ларионов sv_lary@... [ada_ru] wrote:

 

Чтв 13 Ноя 2014 14:22:54 +0600, Vadim Godunko vgodunko@...

[ada_ru] <ada_ru@yahoogroups.com> написал:

> Кросс-компилятор строится под какую-то целевую операционную систему. Под

> какую Вы пробуете его собрать?

 

На самом деле - вопрос нетривиальный. :-) Заказчика мы увереяем, что это

- ОС ВС...(знаете, я думаю)

Ну а что туда на заводе впендюрили во FreeScale - сказать трудно... Но

пакеты там - rpm. Но - какая разница?

 

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

 

Я в параметрах configure указал arm32-elf. Что ещё нужно?

 

Погодите, ARM это ни разу не PowerPC.

 

Вы указали процессор, формат объектных/исполняемых файлов, а нужно ещё операционную систему. Из того, что упоминается в Makefile-ах для ARM существуют варианты: VxWorks, Andriod, Linux (GNU eabi), Nucleus. И для каждой операционной системы есть (и не один) специфический пакет. Для PPC (и e500v2) упоминаются только VxWorks и Linux.

 

> "Родной" компилятор для PPC64 есть у Fedora. Возможно и в других

Что в данном контексте означает слово "Родной" ? Он работает на PPC64

или он генерит код для РРС64

или и то и другое разом ?

 

Он работает на PowerPC/Linux и собирает приложения для PowerPC/Linux.

Здравствуйте, Вадим !

 

Птн 14 Ноя 2014 13:13:56 +0600, Vadim Godunko vgodunko@... [ada_ru] <ada_ru@yahoogroups.com> написал:

 

Погодите, ARM это ни разу не PowerPC.

 

Виноват, это я уже в полусне был... Разумеется - ppc !

 

Для PPC (и e500v2) упоминаются только VxWorks и Linux.

 

Вот здесь, пожалуйста, подробнее! Для особо тупых!

 

То, что "упоминается", это я читал много раз и в разных местах.... А вот конкретно - откуда можно скачать кросс-компиллятор (+рантайм) который сам работает на х86, а генерит программы для Linux elf на PPC-32 ?

Или - где есть инструкция, как его сделать самому?

 

Он работает на PowerPC/Linux и собирает приложения для PowerPC/Linux.

 

Для меня этот вариант - не самый удачный (всё-таки мой х86 гораздо удобнее для разработки),

но я готов это терпеть, если действительно есть такой вариант. Подскажите, пожалуйста!

 

Спасибо за ответы !

 

--

Всего хорошего!

 

Сергей Ларионов

On 11/14/2014 09:07 PM, Сергей Ларионов sv_lary@... [ada_ru] wrote:

 

> Для PPC (и e500v2) упоминаются только VxWorks и Linux.

 

Вот здесь, пожалуйста, подробнее! Для особо тупых!

 

Судя по Makefile.in в gcc/ada/gcc-interface для их использования нужно задавать конфигурации типа powerpc-wrs-vxworks и powerpc-linux. "Типа" потому, что там какие-то шаблоны для имён используются. Интересно, что VxWorks подразумевает деление для PPC/e500, а для Linux они одинаковы.

 

То, что "упоминается", это я читал много раз и в разных местах....

А вот конкретно - откуда можно скачать кросс-компиллятор (+рантайм)

который сам работает на х86, а генерит программы для Linux elf на PPC-32 ?

 

Или - где есть инструкция, как его сделать самому?

 

Поглядите в любом дистрибутиве Linux. Для OpenSUSE например есть дополнительный репозиторий предоставляющий готовые кросс компиляторы для многих платформ.

 

> Он работает на PowerPC/Linux и собирает приложения для PowerPC/Linux.

 

Для меня этот вариант - не самый удачный (всё-таки мой х86 гораздо

удобнее для разработки),

но я готов это терпеть, если действительно есть такой вариант.

Подскажите, пожалуйста!

 

Знаю только, что на той машине был установлен Fedora для PowerPC 64.

 

PS. А ещё лучше - обсудить вопрос с разработчиками компилятора.

 

http://www.adacore.com/

Сергей,

А вот конкретно - откуда можно скачать кросс-компиллятор (+рантайм) который сам работает на х86, а генерит программы для Linux elf на PPC-32 ?

Или - где есть инструкция, как его сделать самому?

Принцип всегда примерно один и тот же - если нужен кросс с платформы Х на платформу У, на этапе конфигурации указываете параметры

--build=x86-linux --target=ppc-linux

Особенных секретов нет, не считая конечно того, что нестандартные сборки вручную на коленке - это всегда головная боль, причем даже если вдруг и соберется, за работоспособность полученной "неведомой зверушки" никто не поручится. Поэтому мне хотелось бы присоединиться к Вадиму, -

PS. А ещё лучше - обсудить вопрос с разработчиками компилятора.

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

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

С уважением,

Василий Фофанов, компания AdaCore.

Здравствуйте, Вадим!

 

 

 

Втр 18 Ноя 2014 18:47:58 +0600, Vadim Godunko vgodunko@... [ada_ru] <ada_ru@yahoogroups.com> написал:

 

нужно задавать конфигурации типа powerpc-wrs-vxworks и powerpc-linux

Да, при попытке создать кросс-компиллер я задавал именн powerpc-linux

>Для OpenSUSE например есть дополнительный репозиторий предоставляющий готовые кросс компиляторы

для многих платформ

Очень интересно! У меня сейчас ка раз OpenSUSE ! Не подскажете - где искать эти доп. репозитарии ?

 

А ещё лучше - обсудить вопрос с разработчиками компилятора.

Пытался... :-( Ответ: "Напишите нам, что Вам нужно и мы выставим счёт, после оплаты которого..."

 

.

--

Всего хорошего!

 

Сергей Ларионов

Здравствуйте, Василий !

 

 

 

Втр 18 Ноя 2014 20:41:05 +0600, Fofanov Vasiliy fofanov@... [ada_ru] <ada_ru@yahoogroups.com> написал:

контракта на разработку официального порта и его техподдержку.

 

Для заключения такого контракта нужна высочайшая воля начальства. А как убедить начальство в том, что это работает, не показав ни одной работающей программы?! Знаете, что я услышал? Типа:

 

- Это же язык, сделанный по заказу американского МО !!! Вы что - с ума сошли?! Врагам потакать?!

- Все на С пишут реал-тайм, а Вам чего не хватает?

- Что бы программа была надёжной, надо её правильно писать, а не деньги тратить!

 

Ну и в таком духе... Если бы была возможность попробовать хотя бы триальную версию на 1-3 месяца, я бы мог что-то более внятное произнести в кабинете с высоким потолком... :-)

--

Всего хорошего!

 

Сергей Ларионов

Для заключения такого контракта нужна высочайшая воля начальства. А как убедить начальство в том, что это работает, не показав ни одной работающей программы?!

Тут конечно получается немного заколдованный круг, но его можно разорвать, воспользовавшись уже существующими сборками для x86-linux и/или ppc-linux. А вопрос удобства среды разработки временно отложить.

Знаете, что я услышал? Типа:

- Это же язык, сделанный по заказу американского МО !!! Вы что - с ума сошли?! Врагам потакать?!

Вы на это можете ответить, что по чьему заказу язык сделали 40 лет назад - представляет нынче только исторический интерес, в частности американское МО давным-давно не требует, чтобы программы писались именно на нём. В то же время, на этот язык существует российский стандарт ГОСТ 27831-88, который имеет действующий статус. Так что это ничуть не менее российский язык программирования, чем тот же Си - причем на последний, что характерно, стандарта ГОСТ не существует.

- Все на С пишут реал-тайм, а Вам чего не хватает?

Ну, на подобный вопрос надо действительно быть в состоянии дать ответ, иначе оправдать смену технологии программирования будет тяжело. Надеюсь, у вас есть более сильная мотивировка, чем простое желание попробовать другой язык :)

- Что бы программа была надёжной, надо её правильно писать, а не деньги тратить!

С этим трудно спорить, но остается проблема обеспечить процесс правильного написания программ. И тут правильный выбор языка бесспорно играет роль.

Ну и в таком духе... Если бы была возможность попробовать хотя бы триальную версию на 1-3 месяца, я бы мог что-то более внятное произнести в кабинете с высоким потолком... :-)

Ну, а за чем же дело встало? Ведь мы предоставляем трехмесячный испытательный срок. Причем не только для испытания самого компилятора, но и испытания услуг техподдержки. Понятное дело, что это можно сделать только для уже существующего порта, но как я уже сказал на мой взгляд вам пока важнее убедиться, что генерируется адекватный код, а не что среда комфортная, последнее можно перенести на более поздний срок. Тем более, что GPS например вполне поддерживает среду разработки на одной машине, а среду сборки на другой, так что я даже не уверен, что проблема так уж остра.

Вобщем, обращайтесь :)

Пытался... :-( Ответ: "Напишите нам, что Вам нужно и мы выставим счёт,

Тут верно...

после оплаты которого..."

...но вот тут уже нет, правильнее будет "после подтверждения принципиальной приемлемости которого..."

Вобщем короче говоря, позиция ни в коем случае не "платите, а там посмотрим", если сложилось такое впечатление - то видимо произошло искажение информации.

On 11/18/2014 07:00 PM, Сергей Ларионов sv_lary@... [ada_ru] wrote:

 

>Для OpenSUSE например есть дополнительный репозиторий предоставляющий

готовые кросс компиляторы

> для многих платформ

Очень интересно! У меня сейчас ка раз OpenSUSE ! Не подскажете - где

искать эти доп. репозитарии ?

 

У меня значится такой репозиторий:

 

http://download.opensuse.org/repositories/devel:/gcc/openSUSE_13.1/

Здравствуйте, Вадим !

 

 

 

Чтв 20 Ноя 2014 13:25:10 +0600, Vadim Godunko vgodunko@... [ada_ru] <ada_ru@yahoogroups.com> написал:

У меня значится такой репозиторий:

 

http://download.opensuse.org/repositories/devel:/gcc/openSUSE_13.1/

 

Большое спасибо за ответ! Но там не так-то просто разобраться.... Я скачал пакет cross-ppc-gcc48-icecream-backend-4.8.3+r212056-135.1.x86_64.rpm.

Если я правильно понимаю, то:

- Инструментальная машина - x86_64

- Целевая машина - ppc

 

Но вот что написано в INFO этого пакета:

 

"The GNU C Compiler and Support Files"

 

Т.е. только С и ничего больше. А вот что написано в HEADER:

 

Language frontends other than C are split to different sub-packages, namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and

gcc-obj-c++.

 

Посмотрев эти самые different sub-packages я нашёл только gcc48-ada-32bit-4.8.3+r212056-135.1.x86_64.rpm который у меня и так установлен. И это - вовсе не кросс!

 

Может я чего-то не понимаю ?

 

 

--

Всего хорошего!

 

Сергей Ларионов

Здравствуйте, Василий !

 

 

 

Втр 18 Ноя 2014 23:41:18 +0600, Fofanov Vasiliy fofanov@... [ada_ru] <ada_ru@yahoogroups.com> написал:

если сложилось такое впечатление - то видимо произошло искажение информации.

 

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

Однозначно, там было что-то о том, что заполните форму и мы рассчитаем стоимость...

 

Это меня сразу напрягло. :-)

 

--

Всего хорошего!

 

Сергей Ларионов

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

Однозначно, там было что-то о том, что заполните форму и мы рассчитаем стоимость...

Это меня сразу напрягло. :-)

Сергей, ну мы же не в рассказе Х.Ребане "Пустые ценники" в самом деле, где узнавание цены автоматически означало покупку вещи :) Нам просто для открытия испытательного срока надо знать, что вы, обращаясь к нам, настроены серьезно, и у вас есть конкретный индустриальный проект. Вовсе не все, кто к нам обращается, после испытательного срока оформляет заказ.

ВФ

Здравствуйте, Василий !

 

 

Втр 18 Ноя 2014 23:36:23 +0600, Fofanov Vasiliy fofanov@... [ada_ru] <ada_ru@yahoogroups.com> написал:

ГОСТ 27831-88, который имеет действующий статус.

 

Посмотрел. Круто! Это будет серьёзным доводом.

 

воспользовавшись уже существующими сборками для x86-linux и/или ppc-linux.

Мне нужен код именно для РРС. Так как девайсы, которые мы делаем (http://www.micran.ru/productions/mobile/) используют именно РРС. Если будет реально работающий кросс-компиллятор (+библиотеки), то я согласен текст набирать в VI :-) Или, хотя бы компиллятор, работающий на РРС и генерирующий код для неё же. Хотя это значительно менее удобно.

 

Ведь мы предоставляем трехмесячный испытательный срок.

Что я должен для этого сделать ?

 

на мой взгляд вам пока важнее убедиться, что генерируется адекватный код, а не что среда комфортная,

Совершенно верно!

 

--

Всего хорошего!

 

Сергей Ларионов

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти