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
Vadim Godunko
Re: [ada_ru] dirent.h
2014-10-13 08:22:46
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. Возможно и в других 
дистрибутивах он будет.
sv_lary
Re: Re: [ada_ru] dirent.h
2014-10-13 16:43:58
Здравствуйте, Вадим!



Чтв 13 Ноя 2014 14:22:54 +0600, Vadim Godunko vgodunko@... [ada ru] <ada [email protected]>
написал:
> Кросс-компилятор строится под какую-то целевую операционную систему. Под
> какую Вы пробуете его собрать?

  На самом деле - вопрос нетривиальный. :-) Заказчика мы увереяем, что это - ОС ВС...(знаете, я
думаю)
Ну а что туда на заводе впендюрили во FreeScale - сказать трудно... Но пакеты там - rpm. Но - какая
разница?
Я в параметрах configure указал arm32-elf. Что ещё нужно?

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

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

Сергей Ларионов
Vadim Godunko
Re: [ada_ru] dirent.h
2014-10-14 07:13:36
On 11/13/2014 07:43 PM, Сергей Ларионов sv_lary@... [ada_ru] wrote:
>
> Чтв 13 Ноя 2014 14:22:54 +0600, Vadim Godunko vgodunko@...
> [ada_ru] <[email protected]> написал:
>  > Кросс-компилятор строится под какую-то целевую операционную систему. Под
>  > какую Вы пробуете его собрать?
>
> На самом деле - вопрос нетривиальный. :-) Заказчика мы увереяем, что это
> - ОС ВС...(знаете, я думаю)
> Ну а что туда на заводе впендюрили во 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.
sv_lary
Re: Re: [ada_ru] dirent.h
2014-10-14 18:07:39
Здравствуйте, Вадим !

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

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

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

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

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

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

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

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

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

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

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

Сергей Ларионов
Vadim Godunko
Re: [ada_ru] dirent.h
2014-10-18 12:47:47
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/
Vasiliy Fofanov
Re: [ada_ru] dirent.h
2014-10-18 14:40:56
Сергей,

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

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

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

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

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

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

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

С уважением,
Василий Фофанов, компания AdaCore.
sv_lary
Re: Re: [ada_ru] dirent.h
2014-10-18 16:00:17
Здравствуйте, Вадим!



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

> нужно задавать конфигурации типа powerpc-wrs-vxworks и powerpc-linux
   Да, при попытке создать кросс-компиллер я задавал именн powerpc-linux

>Для OpenSUSE например есть дополнительный репозиторий предоставляющий готовые кросс компиляторы 
> для многих платформ
   Очень интересно! У меня сейчас ка раз OpenSUSE ! Не подскажете - где искать эти доп. репозитарии
?

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

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

Сергей Ларионов
sv_lary
Re: Re: [ada_ru] dirent.h
2014-10-18 16:07:53
Здравствуйте, Василий !



Втр 18 Ноя 2014 20:41:05 +0600, Fofanov Vasiliy fofanov@... [ada ru] <ada [email protected]>
написал:
> контракта на разработку официального порта и его техподдержку.

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

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

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

Сергей Ларионов
Vasiliy Fofanov
Re: [ada_ru] dirent.h
2014-10-18 17:36:13
>   Для заключения такого контракта нужна высочайшая воля начальства. А как убедить начальство в
том, что это работает, не показав ни одной работающей программы?!

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

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

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

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

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

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

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

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

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

Вобщем, обращайтесь :)
Vasiliy Fofanov
Re: [ada_ru] dirent.h
2014-10-18 17:41:11
> Пытался... :-( Ответ: "Напишите нам, что Вам нужно и мы выставим счёт,

Тут верно...

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

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

Вобщем короче говоря, позиция ни в коем случае не "платите, а там посмотрим", если сложилось такое
впечатление - то видимо произошло искажение информации.
Vadim Godunko
Re: [ada_ru] dirent.h
2014-10-20 07:24:59
On 11/18/2014 07:00 PM, Сергей Ларионов sv_lary@... [ada_ru] wrote:
>
>  >Для OpenSUSE например есть дополнительный репозиторий предоставляющий
> готовые кросс компиляторы
>  > для многих платформ
> Очень интересно! У меня сейчас ка раз OpenSUSE ! Не подскажете - где
> искать эти доп. репозитарии ?
>
У меня значится такой репозиторий:

http://download.opensuse.org/repositories/devel:/gcc/openSUSE_13.1/
sv_lary
Re: Re: [ada_ru] dirent.h
2014-10-20 15:29:02
Здравствуйте, Вадим !



Чтв 20 Ноя 2014 13:25:10 +0600, Vadim Godunko vgodunko@... [ada ru] <ada [email protected]>
написал:
> У меня значится такой репозиторий:
> 
> 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 который у меня и так установлен. И это - вовсе не кросс! 

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


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

Сергей Ларионов
sv_lary
Re: Re: [ada_ru] dirent.h
2014-10-20 15:32:23
Здравствуйте, Василий !



Втр 18 Ноя 2014 23:41:18 +0600, Fofanov Vasiliy fofanov@... [ada ru] <ada [email protected]>
написал:
> если сложилось такое впечатление - то видимо произошло искажение информации.

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

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

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

Сергей Ларионов
Vasiliy Fofanov
Re: [ada_ru] dirent.h
2014-10-20 15:57:28
> Ну, разговор этот был года три назад и вёлся он по английски, так что вполне может быть, что я
чего-то не допонял...
> Однозначно, там было что-то о том, что заполните форму и мы рассчитаем стоимость...
> 
> Это меня сразу напрягло. :-)

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

ВФ
sv_lary
Re: Re: [ada_ru] dirent.h
2014-10-20 15:58:48
Здравствуйте, Василий !


Втр 18 Ноя 2014 23:36:23 +0600, Fofanov Vasiliy fofanov@... [ada ru] <ada [email protected]>
написал:
> ГОСТ 27831-88, который имеет действующий статус.

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

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

> Ведь мы предоставляем трехмесячный испытательный срок.
  Что я должен для этого сделать ?

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

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

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

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