Страниц: 1 2 [3] 4
  Печать  
Автор Тема: GCC 4.x в QNX  (Прочитано 46996 раз)
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #30 : Февраля 25, 2008, 02:47:16 am »

Времени все не хватает и я не смог выложить gcc 4.2.3.
Я одновременно решил поменять свою страничку и это оказалось немножко тяжаловато. А событя в мире gccпрямо летять Только что появилась версия 4.2.3,
а уже на сайтах появился первый кандидать 4.3.0. И практически одновременно появилас версия 4.4.0.
Между версей 4.2.х а 4.3 очень болшие разницы прежде всего в области оптимилизации. Выглядить что они не разчитали что разработка линии 4.3 будеть гороздо сложнее. А время выпуска первых ехспериментальных версии 4.4 уже наступила. С 4.3 я имел очень болшие проблемы прежде всего с компиляцей языка ada. На сегодня я получил новые версии gcc 4.3.0 и gcc 4.4.0. Но появилась проблема в работе компилятора ada в обеих версях.
В версии 4.2.3 этой проблемы нет. Я проблему эту представлию в другом месте. Может быть что получиться одинаковая сытуация как с версями 4.0 а 4.1 и 4.2. 4.0 имела очень много багов и быстро прекращено над ней работу. Я еще не не проводил опытов по скорости с этим новыми версями но как только получу то сообщу. Знаю только, что в Линух компиляция gnat4.3 даеть очень хороший результат лучше чем gnatGPL2007 каторый основан на gcc 4.1
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #31 : Февраля 22, 2009, 03:59:14 pm »

Да тема стояла практически целый год. А в то время прошли болшие изменения.
Сам QNX перешол на gcc 4.2.*
Как известно последная верся это 4.2.4. В ней без проблем компилируеться сам QNX 6.4.х
Жаль что сам QNX не занимаеться компиляторами в версии 4.3 и 4.4.
На самом деле ветка 4.2.* будеть приостовлена. Можеть еще выйдеть gcc 4.2.5.
На Foundry27 в Core Development Tools тоже приостановилась работа с gcc 4.2.4
Только немножко занимаються libmudflap.
Я тоже решил заниматься только gcc 4.4.0 в QNX 6.4
Во первых я ограничил мои работы с QNX и надо было выбросить много тем.
Меня тепер интересують параллелные вычисления. Проблемы встроенных систем я отложил в сторону.
Я заитересовалься OpenMP но последняя верся 3.0 поддерживаеться только в gcc 4.4.0
Далше язык ada в gcc развиваеться тоже только в gcc 4.4.0
И так если кого то интересуеть как работаеть gcc 4.4.0 в QNX 6.4 то то можно его достать
на маем сайте www.ajam.org.pl. Это полная версия там есть c, c++, objc, gfortran и ada.
Толко нет java. К сожалении там есть проблемы с компиляцей в QNX.
Мой сайт не позволяеть меня на трансфер болших файлов и поэтому я это сделал разбивая
gcc4.4.0-x86-qnx6.4.0.tar.bz2 на три куска. Но я думаю не будеть с этим проблем если кто то
захотеть попробовать. Эсть еще одна проблема с с++. Не знаю почему в QNX 6.4 в каталог
/lib они установили библетеку libstdc++.so.6. с++-4.4.0 требуеть свою библетеку.
Я на сайте это старался описать и представил возможные решения проблемы.
Я просто у себя подменил /lib/libstdc++.so.6 на /usr/local/lib/gcc/i386-pc-nto-qnx6.4.0/4.4.0/libstdc++.so.6.
Я и так использую только gcc-4.4.0 и с++-4.4.0
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #32 : Апреля 14, 2009, 03:17:55 pm »

И новые изменения. Во первых уже появилась новая верся QNX 6.4.1. Самое главное с точки зрения этой темы то что QNX перешол на новую версию gcc 4.3.3. Это как то первый раз QNX используеть самую последнию версию компилятора. Учтите, что оффициального gcc 4.4.0 еще не ту.
Во вторых уже доступна новая версия gcc 4.5.0. Она ведеть себя очень хорошо.
И то так хорошо, что я начал все свои работы делать используя эту новую версию хотья оно имеет статус - эхперименальная верся. Я это делаю из за языка ада. Как обычно все изменения и исправления касающиесья этого языка делаються в новой версии.
Все кто хочеть попробовать новый gcc 4.5.0 заходите на мою (не очень красивую ) строничку http://www.ajam.org.pl/
Записан
devbrain
Участник
*
Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #33 : Апреля 30, 2009, 05:57:05 pm »

При запуске gfortran выводится ошибка
Could not load library libiconv.so.7
В системе есть только библиотека и ссылки:
libiconv.so
libiconv.so.2
libiconv.so.2.4.0

с чем слинкован gfortran?
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #34 : Мая 01, 2009, 02:54:32 am »

Прошу прошения но действительно здес нужен libiconv.so.7.
Я просто перед компиляцей прошол на новую версию libiconv-1.13 и забыл ее выложить.
Я только что выложыл новые версии:
libiconv-1.13-x86-qnx6.4.0.bin.tar.bz2,
gmp-4.3.0-qnx6.4.0.bin.tar.bz2,
mpfr-2.4.1-qnx6.4.0.bin.tar.bz2
Прежнее версии я пока оставил.
Так что прошу использовать прежде всего libiconv-1.13
К стати gcc 4.5.0 очень силно изменяеться и каждую неделью можна сказать появляеться новая версия. И так как появился наконец то оффицияльный gcc 4.4.0 то я прежде всего ним занимаюсь.
И то прежде всего уже в QNX 6.4.1. Оказываеться что есть отличия в компиляции по сравнению с QNX 6.4.0
Надеюсь что libiconv-1.13 поможеть. И прошу о информацию что получилось или по форуму или мне по почте.
Записан
devbrain
Участник
*
Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #35 : Мая 04, 2009, 01:57:47 pm »

gfortran -fcray-pointer -c *.f90
В файлах где массивы и указатели выводится ошибка
f951: internal compiler error: illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

В Linux под gfortran4.2.3 все собирается без вопросов.
Есть какие-нибудь мисли по этому поводу ?
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #36 : Мая 04, 2009, 03:00:41 pm »

Возми во внимание что gfortran4.5.0 находиться на начяльной стадии разработкиию. Такие ошибки и другие естественно могуть встречаться.
Я только что окончил постройку gcc-4.4.0. Это уже оффицяльной выпуск. Я это делал для QNX 6.40 и 6.4.1 поэтому это длилось гороздо длиннее чем обычно. Скоро я это выложу.
У меня там тоже есть gfortran4.4.0 так что если ты бы мне выслал какой то пример кода то я смогбы проверить как себе ведеть gfortran4.4.0 в отношении к проблеме с которой ты встретилься.
К стати я могу то проверить тоже для gfortran4.2.4
Записан
devbrain
Участник
*
Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #37 : Мая 04, 2009, 03:47:20 pm »

Файлы выслал на почту
В gfortrane4.2(которго правда уже нет) c вашего сайта все компилировалось, проблема была только sizeof т.к. функция еще не была реализованна но в версиях => 4.3 она есть так что проблем быть с ней не должно
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #38 : Мая 05, 2009, 01:32:43 am »

Файлы получил и сделал компиляцию. Использовал два компиляторы gfortran4.4.0 и gfortran4.5.0 Вот результаты:
# gcc --version
gcc (GCC) 4.5.0 20090421 (experimental)
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# gfortran -v -fcray-pointer -c t_prg.f90
Using built-in specs.
Target: i386-pc-nto-qnx6.4.0
Configured with: ../configure --srcdir=.. --enable-cheaders=c --with-sysroot=/usr/qnx640/target/qnx6/
   --program-suffix=-4.5.0 --disable-bootstrap --disable-werror --libdir=/usr/qnx640/host/qnx6/x86/usr/lib
   --libexecdir=/usr/qnx640/host/qnx6/x86/usr/lib --target=i386-pc-nto-qnx6.4.0
   --srcdir=/src/gcc-4.5-20090420/nto-x86-o-ntox86/.. --enable-version-specific-runtime-libs
   --prefix=/usr/qnx640/host/qnx6/x86/usr --exec-prefix=/usr/qnx640/host/qnx6/x86/usr
   --with-local-prefix=/usr/qnx640/host/qnx6/x86/usr --enable-languages=c,c++,ada,fortran,objc
   --enable-threads=posix --enable-libada --enable-libssp --enable-libgomp --enable-libffi
   --enable-libmudflap --enable-__cxa_atexit --with-included-gettext
   --with-gxx-include-dir=/usr/qnx640/target/qnx6/usr/include/c++/4.5.0 --enable-shared --enable-multilib
Thread model: posix
gcc version 4.5.0 20090421 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-fcray-pointer' '-c' '-mtune=i386'
 /usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.5.0/f951 t_prg.f90 -quiet -dumpbase t_prg.f90 -mtune=i386
 -auxbase t_prg -version -fcray-pointer
 -fintrinsic-modules-path /usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.5.0/finclude
 -o /tmp/ccwHTcD6.s
GNU Fortran (GCC) version 4.5.0 20090421 (experimental) (i386-pc-nto-qnx6.4.0)
        compiled by GNU C version 4.5.0 20090413 (experimental), GMP version 4.3, MPFR version 2.4.1.
warning: GMP header version 4.3 differs from library version 4.3.0.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
COLLECT_GCC_OPTIONS='-v' '-fcray-pointer' '-c' '-mtune=i386'
 /usr/qnx640/host/qnx6/x86/usr/bin/as -V -Qy -o t_prg.o /tmp/ccwHTcD6.s
GNU assembler version 2.18 (i386-pc-nto-qnx6.4.0) using BFD version (GNU Binutils) 2.18
COMPILER_PATH=/usr/qnx640/host/qnx6/x86/usr/bin/:/usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.5.0/:
              /usr/local/bin/../lib/gcc/
LIBRARY_PATH=/usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.5.0/:/usr/local/bin/../lib/gcc/:
             /usr/qnx640/target/qnx6//usr/lib/
COLLECT_GCC_OPTIONS='-v' '-fcray-pointer' '-c' '-mtune=i386'
Press any key to continue...

t_prg.o  6976  May  5 00:30

# gcc --version
gcc (GCC) 4.4.0
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# gfortran -v -fcray-pointer -c t_prg.f90
Using built-in specs.
Target: i386-pc-nto-qnx6.4.0
Configured with:
 ../configure --srcdir=.. --enable-cheaders=c --with-as=/usr/qnx641/host/qnx6/x86/usr/bin/ntox86-as-2.19
 --with-ld=/usr/qnx641/host/qnx6/x86/usr/bin/ntox86-ld-2.19 --with-sysroot=/usr/qnx641/target/qnx6/
 --disable-werror --libdir=/usr/qnx641/host/qnx6/x86/usr/lib --libexecdir=/usr/qnx641/host/qnx6/x86/usr/lib
 --target=i386-pc-nto-qnx6.4.0 --srcdir=/src/gcc-4.4.0/nto-x86-o-ntox86/..
 --prefix=/usr/qnx641/host/qnx6/x86/usr --exec-prefix=/usr/qnx641/host/qnx6/x86/usr
 --with-local-prefix=/usr/qnx641/host/qnx6/x86/usr --enable-languages=c,c++,ada,fortran,objc
 --enable-threads=posix --enable-libada --disable-nls --enable-libssp --disable-tls --enable-libgomp
 --enable-libffi --enable-libmudflap --enable-__cxa_atexit
 --with-gxx-include-dir=/usr/qnx641/target/qnx6/usr/include/c++/4.4.0 --enable-multilib
 --with-bugurl=http://www.qnx.com --with-included-gettext --program-suffix=-4.4.0
 --enable-version-specific-runtime-libs --enable-shared CC=i386-pc-nto-qnx6.4.0-gcc
CPPFLAGS=' -I/usr/qnx641/target/qnx6/usr/include'
LDFLAGS='-Wl,-s ' CXX=i386-pc-nto-qnx6.4.0-g++
AUTOMAKE=: AUTOCONF=: AUTOHEADER=: AUTORECONF=: ACLOCAL=:
Thread model: posix
gcc version 4.4.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '-fcray-pointer' '-c' '-mtune=i386'
 /usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.4.0/f951 t_prg.f90 -quiet -dumpbase t_prg.f90
 -mtune=i386 -auxbase t_prg -version -fcray-pointer
 -fintrinsic-modules-path /usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.4.0/finclude
 -o /tmp/ccGkQ6i8.s
GNU Fortran (GCC) version 4.4.0 (i386-pc-nto-qnx6.4.0)
        compiled by GNU C version 4.4.0, GMP version 4.3, MPFR version 2.4.1.
warning: GMP header version 4.3 differs from library version 4.3.0.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
COLLECT_GCC_OPTIONS='-v' '-fcray-pointer' '-c' '-mtune=i386'
 /usr/qnx640/host/qnx6/x86/usr/bin/as -v -V -Qy -o t_prg.o /tmp/ccGkQ6i8.s
GNU assembler version 2.18 (i386-pc-nto-qnx6.4.0) using BFD version (GNU Binutils) 2.18
COMPILER_PATH=/usr/qnx640/host/qnx6/x86/usr/bin/:/usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.4.0/:
              /usr/local/bin/../lib/gcc/
LIBRARY_PATH=/usr/local/bin/../lib/gcc/i386-pc-nto-qnx6.4.0/4.4.0/:/usr/local/bin/../lib/gcc/
COLLECT_GCC_OPTIONS='-v' '-fcray-pointer' '-c' '-mtune=i386'
Press any key to continue...
t_prg.o  6964 May  5 00:38

Как видно gcc-4.5.0 с 20090421 и наверно поэтому ошибка не возникает.


Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #39 : Мая 05, 2009, 02:34:57 pm »

Я только что выложил gcc 4.4.0.
Он работаеть в QNX 6.40 и 6.4.1. Надо только скачать и устоновит все нужные библетеки
ppl, libiconv, gmp, mpfr
Я все эти библетеки тоже выложил.
Записан
devbrain
Участник
*
Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #40 : Мая 05, 2009, 03:07:57 pm »

У меня gcc version 4.5.0 20090413 (experimental) (GCC), т.е. я так понимаю что на сайте нет последней версии?
Записан
devbrain
Участник
*
Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #41 : Мая 05, 2009, 03:44:31 pm »

При компиляции выдается ошибка
$ gfortran-4.4.0 -c t_prg.f90
unknown symbol: _Unwind_Resume
unknown symbol: _ZNKSt5ctypeIcE13_M_widen_initEv
unknown symbol: _Unwind_Resume
unknown symbol: _ZNKSt5ctypeIcE13_M_widen_initEv
unknown symbol: _Unwind_Resume
unknown symbol: _ZNKSt5ctypeIcE13_M_widen_initEv
unknown symbol: _Unwind_Resume_or_Rethrow
unknown symbol: _Unwind_RaiseException
unknown symbol: _Unwind_GetLanguageSpecificData
unknown symbol: _Unwind_Resume
unknown symbol: _Unwind_DeleteException
unknown symbol: _Unwind_GetTextRelBase
unknown symbol: _Unwind_SetIP
unknown symbol: _Unwind_GetDataRelBase
unknown symbol: _Unwind_GetRegionStart
unknown symbol: _Unwind_SetGR
unknown symbol: _Unwind_GetIPInfo
Could not resolve all symbols

Посмотрел ldd

$ ldd /usr/local/bin/gfortran-4.5.0
/usr/local/bin/gfortran-4.5.0:
        libiconv.so.7 => /usr/local/lib/libiconv.so.7 (0xb8200000)
        libc.so.3 => /usr/lib/ldqnx.so.2 (0xb0300000)
$ ldd /usr/local/bin/gfortran-4.4.0
/usr/local/bin/gfortran-4.4.0:
        libc.so.3 => /usr/lib/ldqnx.so.2 (0xb0300000)
С компиляцией сишника такая же проблема видимо gcc c icoinv не с линковали
Записан
devbrain
Участник
*
Offline Offline

Сообщений: 23


Просмотр профиля
« Ответ #42 : Мая 05, 2009, 04:19:45 pm »

Хотя могу ошибаться , есть подозрения по поводу библиотеки libunwind
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #43 : Мая 05, 2009, 04:21:05 pm »

Ia tepier na rabotie i poetomy y menia niet russkoj klawiatury. No nadeius wy pojmiote.
Ja poka gcc 4.5.0 udalil. Eta wersia gcc version 4.5.0 20090413 oczen ustarewszaia.
Kogda ja cdelaju nowuiu to wylozu.
devbrain a szto pokazywaet:
gfortran-4.4.0 -v-c t_prg.f90   - obrati wnimanie na -v

Na sczot :
unknown symbol: _Unwind_Resume
unknown symbol: _ZNKSt5ctypeIcE13_M_widen_initEv
unknown symbol: _Unwind_Resume
unknown symbol: _ZNKSt5ctypeIcE13_M_widen_initEv
unknown symbol: _Unwind_Resume
unknown symbol: _ZNKSt5ctypeIcE13_M_widen_initEv
unknown symbol: _Unwind_Resume_or_Rethrow
unknown symbol: _Unwind_RaiseException
unknown symbol: _Unwind_GetLanguageSpecificData
unknown symbol: _Unwind_Resume
unknown symbol: _Unwind_DeleteException
unknown symbol: _Unwind_GetTextRelBase
unknown symbol: _Unwind_SetIP
unknown symbol: _Unwind_GetDataRelBase
unknown symbol: _Unwind_GetRegionStart
unknown symbol: _Unwind_SetGR
unknown symbol: _Unwind_GetIPInfo
Eto wygladit szto ne hwataet kakoj to biblioteki.
Ty nie probowal posmatret kakaia to biblioteka ?
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #44 : Мая 05, 2009, 04:23:20 pm »

K stati devbrain ty w QNX 6.4.0 ili 6.4.1 ?
Записан
Страниц: 1 2 [3] 4
  Печать  
 
Перейти в: