Kto na jakim linuxie ma gcc 4.2

Witam.

Kto ma gcc w wersji 4.2 lub wyzszej.

Mozna sprawdzić wpisując w konsoli

gcc --ver

Bo ja próbowalem to instalowac na ubuntu 7.10 ale były błędy podczas kompilacji. Jeśli ktoś ma taka wersję to proszę o nazwę dystrybucji linuxa oraz niech napisze czy instalował gcc czy ten kompilator już był w niej zawarty. Ewentualnie ktoś ma kompilator cc na unixie i może wydać polecenie

cc -xopenmp -o program program.c

gdzie program.c to zwykły program - powiedzmy że on wypisuje jakiś text

Pozdrawiam.

Proszę nazwać temat konkretnie.

http://www.icewalkers.com/Linux/Softwar … 0/gcc.html

sprobuj uaktualnić

No ja wiem.

Sciagałem kod źródłowy do kompilacji. Kompilowało się 30 minut ale wyskoczył błąd. Tak naprawde to nie wiem jak to zaktualizować.

Wpisywałem

apt-get update

apt-get upgrade

ale to i tak nic nie dawało.

Wprawdzie dostałem komunikat że 200MB różnego oprogramowania pobrał jednak po wpisaniu

gcc --ver było nadal 4.1.3

A jak sciagnołem wersje testową ubuntu 8.04 Hardy to jest gcc 4.2.3 ale nie mogę żadnego programu skompilować bo

podczas kompilacji otrzymuję błąd że nie odnaleziono pliku stdio.h

w tym pliku jest zdefiniowana funkcja printf.

hehe ja mam

mat@localhost ~ $ gcc-config -l

 [1] i686-pc-linux-gnu-3.3.6

 [2] i686-pc-linux-gnu-4.1.2

 [3] i686-pc-linux-gnu-4.2.2 *

i nieraz muszę kompilowac coś za pomocą 3.3.6 bo nie jest jeszcze program kompatybilny z 4.x

Powiedz czemu potrzebujesz gcc 4.2.3?

Zaraz to sprawdzę.

Potrzebne bo od wersji 4.2 gcc rozumie dyrektywy OpenMP

  • jest to programowanie równoległe, czyli coś takiego gdzie kilka procesorów wykonuje jeden program, badz też za pomocą dwuch lini kodu robię 4 wątki i program jest wykonywany przez dwa rdzenie w procku (Core 2 Duo) - i to praktycznie bez żadnej modyfikacji kodu na maszyny sekwencyjne.

// Połączono posty.

to polecenie u mnie nie działa.

A skompiluj ten kod;

#include 

#include 

main(){

  double timerd, czestotl;

  #pragma omp parallel private(timerd, czestotl)

  {

    timerd=omp_get_wtick();

    czestotl=1./(1.e9*timerd);

    printf("wtick=%20.20lf\n", timerd);

    printf("czestotliwosc zegara=%lf GHz\n", czestotl);

  }

}

i sprawdź czy działa - podaję częstotliwość procka kompilacja poleceniem

gcc -O2 -fopenmp prg.c -o prg

Nie kompiluje się.

gcc -O2 -fopenmp p.cpp -o prg

p.cpp:12:2: warning: no newline at end of file

/tmp/ccE3ekak.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'

collect2: ld returned 1 exit status

A zmień jeszcze rozszerzenie pliku cpp na c.

Bo na visual2005 lub 2008 kompiluje ale źle działa bo dostaję zamiast 1.66 to mam 0.00350. A kod jest poprawny bo kompiluje na serwerze na solaris i tam mi ładnie pokazuje.

./a 

wtick=0.00000000100000000000

czestotliwosc zegara=1.000000 GHz

no to działa

ale źle

mam 1.66

gcc version 4.2.3 20071123 (prerelease) (Debian 4.2.2-4)

zaktualizowany debian lenny

Nie wiem dlaczego są takie wyniki. A tobie Plichu co wyświetla?

co i gdzie? Bo nie w temacie jestem :slight_smile:

Jak skompilujesz ten program i go uruchomisz.

Bo u mnie jest błąd.

Tzn źle wyświetla częstotliwość procesora.

Dziwne… ja od ponad roku nie mam gcc3, i jeszcze nie spotkałem się żeby coś na gcc4 nie chciało sie skompilować… czasami programy nie mogą się kompilować przez zbyt przesadzone flagi kompilatora i ldflagi…

Death

Metabar :stuck_out_tongue:

gcc:

Using built-in specs.

Target: i686-pc-linux-gnu

Configured with: ../gcc-4.2.2/configure --prefix=/usr --enable-shared --enable-languages=c,ada,c++,fortran,java,objc,obj-c++,treelang --enable-threads=posix --enable-__cxa_atexit --enable-java-awt=gtk --enable-gtk-cairo --enable-plugin --with-system-zlib --libdir=/usr/lib --disable-multilib --disable-libjava-multilib --enable-target-optspace --enable-bootstrap

Thread model: posix

gcc version 4.2.2

wyjscie:

wtick=0.00000000100000000000

czestotliwosc zegara=1.000000 GHz

Ja na openSuSE 10.3 mam gcc 4.2.1 (Chyba jest zamieszczony na płytce z dystrybucją).

> gcc (GCC) 4.2.1 (SUSE Linux)

> Copyright (C) 2007 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.