Redhat 7.3 gcc 3.2
12 отговора
254 прегледа
Redhat 7.3 gcc 3.2
Redhat 7.3 върви с gcc 2.96 доста нестандартна версия за gcc.
Например с него не мога да си компилирам Mplayer.
Та искам да попитам мога ли да взема RPM на gcc 3.2 от Redhat 8.0
и да ги инсталирам на Redhat 7.3.
Ако да как ???
Например с него не мога да си компилирам Mplayer.
Та искам да попитам мога ли да взема RPM на gcc 3.2 от Redhat 8.0
и да ги инсталирам на Redhat 7.3.
Ако да как ???
Re: Redhat 7.3 gcc 3.2
mplayer se compilira s gcc 2.96 i si raboti savsem normalno.
pri configurirane mu dai --disable-gcc-checking
pri configurirane mu dai --disable-gcc-checking
иди на сайта на mplayer.....
да видиш какво са напопържали за gcc2.96 -
а иначе, правилното решение е да си го изкомпилираш с gcc2.95 - е, ще трябва да инсталираш някой по-малко напудрен linux и да внимаваш в картинката за glibc и други такива неща, за да можеш да преместиш после binary файла
със disable-gcc-checking също може, но за резултата ти трябва и късмет
Пролетта е дяволски далече............
а иначе, правилното решение е да си го изкомпилираш с gcc2.95 - е, ще трябва да инсталираш някой по-малко напудрен linux и да внимаваш в картинката за glibc и други такива неща, за да можеш да преместиш после binary файла
със disable-gcc-checking също може, но за резултата ти трябва и късмет
Пролетта е дяволски далече............
Re: иди на сайта на mplayer.....
> а иначе, правилното решение е да си го изкомпилираш с gcc2.95 - е, ще трябва да инсталираш някой по-малко напудрен linux и да внимаваш в картинката за glibc и други такива неща, за да можеш да преместиш после binary файла
Извинявай, Ясене, ама какво значи "по-малко напудрен Linux"? Просто едни дистрибуции са избрали да си останат на нивото от преди осем години и само да си обновяват пакетите, докато други обръщат внимание на разпознаването на хардуера, улесненото конфигуриране и пр. Тях ли наричаш напудрени? За твое сведение, всяка дистрибуция, дори и най-напудрената, позволява инсталиране на tar.gz/bz2 файлове.
После, не виждам защо трябва да внимава за версията на glibc. Не ми е известно gcc да зависи от glibc, докато обратното, без съмнение, е вярно. Ако има някакви изисквания, то те са за версиите на make, autoconf, automake и пр., но тези от RH 7.3 са достатъчно нови.
Компилирал съм gcc 3.01, 3.03, 3.04 и 3.1 с 2.96 без никакви проблеми. Е, понеже исках да се възползвам от оптимизациите, после повторно си компилирах 3.x вече с 3.x. На генерирания код това, естествено, не се отразява; само на скоростта на компилиране.
Когато за пръв път RH се появи с 2.96, наистина беше много бъгав, но още в следващата версия вече беше използваем. Мнозина твърдят, че причината 3.2 да е така изчистен от грешки, се дължи на широката употреба на 2.96 благодарение на RH. Release early, release often, нали знаеш.
Извинявай, Ясене, ама какво значи "по-малко напудрен Linux"? Просто едни дистрибуции са избрали да си останат на нивото от преди осем години и само да си обновяват пакетите, докато други обръщат внимание на разпознаването на хардуера, улесненото конфигуриране и пр. Тях ли наричаш напудрени? За твое сведение, всяка дистрибуция, дори и най-напудрената, позволява инсталиране на tar.gz/bz2 файлове.
После, не виждам защо трябва да внимава за версията на glibc. Не ми е известно gcc да зависи от glibc, докато обратното, без съмнение, е вярно. Ако има някакви изисквания, то те са за версиите на make, autoconf, automake и пр., но тези от RH 7.3 са достатъчно нови.
Компилирал съм gcc 3.01, 3.03, 3.04 и 3.1 с 2.96 без никакви проблеми. Е, понеже исках да се възползвам от оптимизациите, после повторно си компилирах 3.x вече с 3.x. На генерирания код това, естествено, не се отразява; само на скоростта на компилиране.
Когато за пръв път RH се появи с 2.96, наистина беше много бъгав, но още в следващата версия вече беше използваем. Мнозина твърдят, че причината 3.2 да е така изчистен от грешки, се дължи на широката употреба на 2.96 благодарение на RH. Release early, release often, нали знаеш.
Re: иди на сайта на mplayer.....
Mislja che Jasen, ima predvid razlichnia nachin po kojto C++ imenata na funckii, promenlivi se dekorirant (mangl-vat) - i sushto nachina po kojto se izwikwat statichnite konstrukturoi, exception handlera i t.n.tk.
2.95, 2.96, 3.01, 3.02 imat razlichno ABI (Application Binary Interface). Ako neshtata sa izcjalo pisana na C - problem njama - ima dvoichna suvmestimost mezhdu biblioteka kompilirana sus 2.95 i sus 3.02 - no sus C++ neshtata ne sa taka - ima razlichno RTTI, Exception handling, name decoration (mangling) i sigurno drugi neshta...
tirulirutatuutuu
2.95, 2.96, 3.01, 3.02 imat razlichno ABI (Application Binary Interface). Ako neshtata sa izcjalo pisana na C - problem njama - ima dvoichna suvmestimost mezhdu biblioteka kompilirana sus 2.95 i sus 3.02 - no sus C++ neshtata ne sa taka - ima razlichno RTTI, Exception handling, name decoration (mangling) i sigurno drugi neshta...
tirulirutatuutuu
Дайте ъкъл ???
Момци вижда се, че знаете много
БРАВО
Но може ли да ми отговорите кокретно на въпроса.
Вярно е че най-добре е да се изкомпилира от source.
Само че да тегля толкова Mb едва ли ще мога.
А Redhat 8.0 го имам на диск. И ако мога да си го инсталирам gcc от там ще е добре.
Но може ли да ми отговорите кокретно на въпроса.
Вярно е че най-добре е да се изкомпилира от source.
Само че да тегля толкова Mb едва ли ще мога.
А Redhat 8.0 го имам на диск. И ако мога да си го инсталирам gcc от там ще е добре.
Re: иди на сайта на mplayer.....
> Mislja che Jasen, ima predvid razlichnia nachin po kojto C++ imenata na funckii, promenlivi se dekorirant (mangl-vat) - i sushto nachina po kojto se izwikwat statichnite konstrukturoi, exception handlera i t.n.tk.
> 2.95, 2.96, 3.01, 3.02 imat razlichno ABI (Application Binary Interface). Ako neshtata sa izcjalo pisana na C - problem njama - ima dvoichna suvmestimost mezhdu biblioteka kompilirana sus 2.95 i sus 3.02 - no sus C++ neshtata ne sa taka - ima razlichno RTTI, Exception handling, name decoration (mangling) i sigurno drugi neshta...
Така е, да. Но няма проблем да има едновременно няколко различни версии на gcc едновременно, макар и несъвместими помежду си. /usr/bin/gcc и /usr/bin/g++ са само symbolic link-ове. За компилирането на mplayer ще ги направи да сочат към gcc 3.2, а после ще ги върне обратно. Ако не компилира C++ програми, дори няма нужда да ги връща.
Ако следва съвета на Ясен и си копира само binary-то, ще открие, че не може да линкне това, което е компилирал, понеже ще му липсват libgcc, libstdc++ и пр. от 3.2.
> 2.95, 2.96, 3.01, 3.02 imat razlichno ABI (Application Binary Interface). Ako neshtata sa izcjalo pisana na C - problem njama - ima dvoichna suvmestimost mezhdu biblioteka kompilirana sus 2.95 i sus 3.02 - no sus C++ neshtata ne sa taka - ima razlichno RTTI, Exception handling, name decoration (mangling) i sigurno drugi neshta...
Така е, да. Но няма проблем да има едновременно няколко различни версии на gcc едновременно, макар и несъвместими помежду си. /usr/bin/gcc и /usr/bin/g++ са само symbolic link-ове. За компилирането на mplayer ще ги направи да сочат към gcc 3.2, а после ще ги върне обратно. Ако не компилира C++ програми, дори няма нужда да ги връща.
Ако следва съвета на Ясен и си копира само binary-то, ще открие, че не може да линкне това, което е компилирал, понеже ще му липсват libgcc, libstdc++ и пр. от 3.2.
Re: Дайте ъкъл ???
> А Redhat 8.0 го имам на диск. И ако мога да си го инсталирам gcc от там ще е добре.
Не ми е ясно защо не си го качил, щом го имаш. Какво ти пречи да пробваш да си качиш поне gcc от него? Ръцете ли да ти държим? Ако има някакви конфликти, той ще ти каже и тогава ще му мислим.
Не ми е ясно защо не си го качил, щом го имаш. Какво ти пречи да пробваш да си качиш поне gcc от него? Ръцете ли да ти държим? Ако има някакви конфликти, той ще ти каже и тогава ще му мислим.
"multi-platform" gcc
a kakuv e naj-dobria nachin za suwmestno sushtestwuwane na gcc-ta,
pod Win32 naprimer, imame iop-gcc, koeto e za PS2 Risc3000 procesora (staria PS1), ee-gcc - za PS2 emotion-engine procesora (Risc5000) i si imam otdelno gcc koeto e CYGWIN - to idwa sus GameCube toolovete.
Wsushnost pod moja Red Hat 8.0 - imam i gcc (3.2 20020903) i gcc296 (2.96 20000371) - sigurno ima nachin i druga korenno razlichna versia da se instalira. Samo che kakuw e pravilnia red za da stane tova?
tirulirutatuutuu
Позволих си малко стилистичен дизайн
pod Win32 naprimer, imame iop-gcc, koeto e za PS2 Risc3000 procesora (staria PS1), ee-gcc - za PS2 emotion-engine procesora (Risc5000) i si imam otdelno gcc koeto e CYGWIN - to idwa sus GameCube toolovete.
Wsushnost pod moja Red Hat 8.0 - imam i gcc (3.2 20020903) i gcc296 (2.96 20000371) - sigurno ima nachin i druga korenno razlichna versia da se instalira. Samo che kakuw e pravilnia red za da stane tova?
tirulirutatuutuu
Позволих си малко стилистичен дизайн
Редактирано от Masklin на
log sus greshkite? resultata ot makefile-a?
mezhdudrugoto, redhatcho.
Ako mozhesh postni kakvo ti dawa kato log - po wreme na kompilatzia - prosto ne mozhe da se kompilira, ili ne mozhe i da se linkne? instalira?
tirulirutatuutuu
Ako mozhesh postni kakvo ti dawa kato log - po wreme na kompilatzia - prosto ne mozhe da se kompilira, ili ne mozhe i da se linkne? instalira?
tirulirutatuutuu
Re: "multi-platform" gcc
> a kakuv e naj-dobria nachin za suwmestno sushtestwuwane na gcc-ta
Ne sym na Linux v momenta, che sym zamalko tuk, no eto naj-universalniq nachin, kojto si predstavqm i kojto shte stane za vsqka distribuciq:
Svalqsh si edno gcc v tar.gz format, rezarhivirash go, vlizash v direktoriqta mu i pishesh:
./configure --help
Tova shte ti dade vsichki opcii, a tazi, koqto te interesuva e neshto ot sorta na
--with-prefix=DIR
kydeto DIR ti e direktoriqta, v koqto gcc shte se instalira sled
make install
Sled tova pravish ./configure sys syotvetniq prefix, make, make install. Poslednoto go pravish veche kato root, osven ako ne si mu dal da se instalira v tvoq home.
Posle edinstveniqt problem e koe shte se startira. Napr. ako edno gcc e v /usr/bin, a drugo - v /usr/local/bin i /usr/local/bin se namira predi /usr/bin v PATH, shte se startira to. Naj-udobno e da rabotish sys symlinks, napr.
ln -s /usr/local/bin/gcc /opt/gcc-neshto-si
Ako chesto gi prevkljuchvash, mozhesh da si vkarash komandite v script, ili da gi napravish na alias-i, izobshto varianti mnogo.
Ne sym na Linux v momenta, che sym zamalko tuk, no eto naj-universalniq nachin, kojto si predstavqm i kojto shte stane za vsqka distribuciq:
Svalqsh si edno gcc v tar.gz format, rezarhivirash go, vlizash v direktoriqta mu i pishesh:
./configure --help
Tova shte ti dade vsichki opcii, a tazi, koqto te interesuva e neshto ot sorta na
--with-prefix=DIR
kydeto DIR ti e direktoriqta, v koqto gcc shte se instalira sled
make install
Sled tova pravish ./configure sys syotvetniq prefix, make, make install. Poslednoto go pravish veche kato root, osven ako ne si mu dal da se instalira v tvoq home.
Posle edinstveniqt problem e koe shte se startira. Napr. ako edno gcc e v /usr/bin, a drugo - v /usr/local/bin i /usr/local/bin se namira predi /usr/bin v PATH, shte se startira to. Naj-udobno e da rabotish sys symlinks, napr.
ln -s /usr/local/bin/gcc /opt/gcc-neshto-si
Ako chesto gi prevkljuchvash, mozhesh da si vkarash komandite v script, ili da gi napravish na alias-i, izobshto varianti mnogo.
Re: "multi-platform" gcc
da dopylnia:
mojesh da instalirash wsichkite dialekti na gcc na edno i syshto miasto polzwaiki
--program-prefix=foo-
da poluchish foo-gcc, foo-g++ etc.
--program-suffix=-boo
da poluchish gcc-boo, g++-boo etc.
ili ako iskash neshto sywsem shantavo --program-transform-name da definirash script chrez koito da se poluchi imeto na programite :)
ako compilirash cross-compiler, configure po default polzwa definiciata za target kato prefix za imenata na programite.
ako iskash da imash 2 razlichni build-a na edna i syshta versia na gcc za edna i syshta platforma (makar i da ne mi e iasno po kakwa prichina moje da iskash takova neshto :), moje da polzwash
./configure --target=i686-malkia1-linux
i
./configure --target=i686-malkia2-linux
moje bi info-to e malko poweche otkolkoto ti triabwa, no znae li chovek ... :)
mojesh da instalirash wsichkite dialekti na gcc na edno i syshto miasto polzwaiki
--program-prefix=foo-
da poluchish foo-gcc, foo-g++ etc.
--program-suffix=-boo
da poluchish gcc-boo, g++-boo etc.
ili ako iskash neshto sywsem shantavo --program-transform-name da definirash script chrez koito da se poluchi imeto na programite :)
ako compilirash cross-compiler, configure po default polzwa definiciata za target kato prefix za imenata na programite.
ako iskash da imash 2 razlichni build-a na edna i syshta versia na gcc za edna i syshta platforma (makar i da ne mi e iasno po kakwa prichina moje da iskash takova neshto :), moje da polzwash
./configure --target=i686-malkia1-linux
i
./configure --target=i686-malkia2-linux
moje bi info-to e malko poweche otkolkoto ti triabwa, no znae li chovek ... :)
Re: "multi-platform" gcc
blagodarnosti i na dvamata :)
izglezhda lesna rabota sega!!
tirulirutatuutuu
izglezhda lesna rabota sega!!
tirulirutatuutuu