Nowe posty

Autor Wątek: GCC 4.3.4 - problem z ada  (Przeczytany 5947 razy)

WizardNumberNext

  • Gość
GCC 4.3.4 - problem z ada
« dnia: 2010-01-18, 19:10:59 »
mkdir -p ada/bldtools/nmake_b
rm -f ada/bldtools/nmake_b/sinfo.ads ada/bldtools/nmake_b/nmake.adt ada/bldtools/nmake_b/xnmake.adb
cp -p ../../../sources/gcc-4.3.4/gcc/ada/sinfo.ads ../../../sources/gcc-4.3.4/gcc/ada/nmake.adt ../../../sources/gcc-4.3.4/gcc/ada/xnmake.adb ada/bldtools/nmake_b
(cd ada/bldtools/nmake_b; gnatmake -q xnmake ; ./xnmake -b ../../nmake.adb )
gnatmake: "xnmake.ali" incompatible ALI file, please recompile
gnatmake: "xnmake.adb" compilation error
/bin/sh: ./xnmake: Nie ma takiego pliku ani katalogu
make[3]: *** [ada/nmake.adb] Błąd 127
make[3]: Opuszczenie katalogu `/home/data/gcc/build/gcc-4.3.4/gcc'
make[2]: *** [all-stage1-gcc] Błąd 2
make[2]: Opuszczenie katalogu `/home/data/gcc/build/gcc-4.3.4'
make[1]: *** [stage1-bubble] Błąd 2
make[1]: Opuszczenie katalogu `/home/data/gcc/build/gcc-4.3.4'
make: *** [all] Błąd 2
root@debian:/home/data/gcc/build/gcc-4.3.4#
Mam to za każdym razem, co bym nie zrobił. Zmieniałem ręcznie ten plik - xnmake.ali, ale to nic nie daje, ponieważ jest generowany za każdym razem od nowa. Nawet wydałem samą komendę:
gnatmake -q xnmake ; ./xnmake -b ../../nmake.adb
Efekt ten sam:
gnatmake: "xnmake.ali" incompatible ALI file, please recompile
gnatmake: "xnmake.adb" compilation error
/bin/sh: ./xnmake: Nie ma takiego pliku ani katalogu
Czy ktoś się z tym spotkał, jak to obejść?

darko

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #1 dnia: 2010-01-18, 19:51:58 »
Kompilujesz na inną platformę? Mało prawdopodobne by ci się to udało z Adą. Lepiej spróbuj tego.

WizardNumberNext

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #2 dnia: 2010-01-18, 22:55:45 »
Nie. Kompiluje na 'AMD Athlon XP' pod 'AMD Athlon XP', czyli na 'i686-linuc-gnu' pod 'i686-linuc-gnu'.

Kompletnie nie jestem zainteresowany GCC 4.1.2 - wcale, a wcale - kompiluje to GCC 4.2.4

I jakbyś nie zdążył zauważyć kompiluje GCC 4.3.4 - nie interesuje mnie pobieranie 4.1.2 - już go mam!

Moim celem jest 4.4.2, ale 4.4.2 nie skompiluje się p[od 4.2.4, ponieważ 4.2.4 nie kompiluje zależności dla 4.4.2, więc muszę mieć 4.3.4. A że chce mieć wszystko (ada, c, c++, fortran, java, obj-c, obj-c++) to muszę mieć również ada z 4.3.4, ponieważ inaczej nie skompiluje ada w 4.4.2, ponieważ nie da się skompilować ada, jeżeli do C użyjesz 4.3.4, a do ada 4.2.4!

darko

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #3 dnia: 2010-01-19, 00:15:38 »
Nikt ci nie każe pobierać ani kompilować 4.1.2. Masz zwrócić uwagę na sposób/metodę a nie na wersje.
Cytat: WizardNumberNext
Moim celem jest 4.4.2, ale 4.4.2 nie skompiluje się p[od 4.2.4, ponieważ 4.2.4 nie kompiluje zależności dla 4.4.2, więc muszę mieć 4.3.4. (...)
Możesz napisać konkretnie jakie zależności masz na myśli?

WizardNumberNext

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #4 dnia: 2010-01-19, 06:36:54 »
Dobra zależności są nie ważne. Znalazłem przyczynę:
gnatmake używa gcc, tzn:
/usr/bin/gcc
czyli gcc z distro, a ja kompiluje GCC 4.3.4 za pomocą GCC 4.2.4.
Użyłem trick'u:
gnatmake --GCC="gcc-4.2.4 -mmmx -m3dnow -msse -march=athlon-xp -mtune=athlon-xp -O2 -pipe -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_3DNOW_PREFETCH" xnmake ; ./xnmake -b ../../nmake.adb
działa

darko

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #5 dnia: 2010-01-19, 18:25:26 »
Nie wiem czy dobrze zrozumiałem, cześć kodu kompulujesz za pomocą jednej wersji gcc a inną cześć za pomocą drugiej?

WizardNumberNext

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #6 dnia: 2010-01-19, 19:04:27 »
Nie - nie można tego zrobić!!! i właśnie w tym rzecz - temu ada się nie kompiluje, bo gnatmake używa gcc, a gcc to gcc-4.1.1, a ja potrzebuje w tym wypadku gcc 4.2.4.

darko

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #7 dnia: 2010-01-19, 23:25:22 »
A skąd wiesz, że reszta kodu nie kompiluje się przy użyciu gcc w wersji 4.1.1 (stąd moje pytanie o cross-compiling w pierwszym poście)? Poza tym, po co trzymasz w systemie kompilator w wersji 4.1.1, skoro masz (i chcesz) aby system korzystał z wersji 4.2.4?

WizardNumberNext

  • Gość
GCC 4.3.4 - problem z ada
« Odpowiedź #8 dnia: 2010-01-20, 10:13:51 »
Nie wiem do czego dążysz, ale chyba to trochę bezcelowe.
GCC 4.1.1 jest w systemie i nie będę go usuwał, bo nie widzę takiej potrzeby - ten system stoi tylko na kilka tygodni, używam z chroot i jest zainstalowany specjalnie do zbudowania GCC 4.4.2.
Jak to jestem pewny, że reszta GCC 4.3.4 buduje się przy użyciu GCC 4.2.4?
A to proste:
wpisz sobie takie zmienne środowiskowe do /etc/environment a uzyskasz taki efekt:
CC=gcc-4.2.4
CPP=gcc-4.2.4 -E
CXX=g++-4.4.2
F77=gfortran-4.2.4
Używaj częściej /etc/environment a uzyskasz większą kontrolę nad swoim OS.