Autor Wątek: Kompilacja Code::Blocks...  (Przeczytany 4082 razy)

Offline Antrykot

  • Użytkownik

# Lipiec 20, 2006, 00:17:59
Witam.

Ostatnio zainstalowalem sobie Debiana Sarge (kernel 2.4.27-3-386) i generalnie jestem bardzo zadowolony, choc oczywiscie nie obylo sie bez problemow (np to ze pisze bez polskich znakow ;) )
No i zachcialo mi sie w koncu posmakowac kodzenia na linuxa, wiec potrzebuje moje ulubione IDE.
Sciagam z SVN najnowsza  rewizje, wlaczam bootstrap, i wywala errory o brakujacych makrach. Dalem spokuj. Dzisiaj sciagam nowa wersje, przeinstalowuje wxWidgets z opcjami zalecanymi na stronce cb (monolithic, unicode,...) , sprawdzilem wx-configiem i wszytsko gra. Bootstrap i configure przeszly bez problemu, daje make, czekam pol godziny (ach te ATA33:P) i juz prawie,  dwa libki .so sie skompilowaly, jedzie dalej i... i... i... Internall error (tutaj kilka razy uderzam w klawiature). Zmienilem gcc z 3.3 na 3.4 i to samo tyle ze w innym pliku (niestety nie pamietam juz w jakim, ale jak by co to moge kompilowac jeszcze raz) :(

Udalo sie to cos komus skompilowac ? A moze ktos ofiaruje mi paczke z deb'em :>
Poradzcie cos, bo mnie szlak trafia...
//jak bym nie podal jakis waznych szczegolow to nie bijcie - jestem newbie na linuxie :)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline parmezan

  • Użytkownik

# Lipiec 20, 2006, 02:10:50
Podaj jakie masz błędy i wersję wxWidgets. Przed chwilą pociągnąłem ostatnią rewizję (2772) z ichniego svna i poszło bez problemów. Wersje poniżej, wx z obsługą unicode.
~$ g++ --version
g++ (GCC) 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)

~$ wx-config-2.6 --version
2.6.2

Offline Antrykot

  • Użytkownik

# Lipiec 20, 2006, 10:43:36
g++ --version
g++ (GCC) 3.4.4 20050314 (prerelease) (Debian 3.4.3-13)
 wx-config --version
2.6.3

No nic, jeszcze dzisiaj jak bede mial troche czasu, to zassam nowa rewizje, i sprobuje jeszcze raz. Wtedy podam dokladne pliki w ktorych sa internale, ale mam nadzieje ze ich nie bedzie ;)
///edit

g++ -DHAVE_CONFIG_H -I. -I. -I. -I/opt/wx/2.6/lib/wx/include/gtk2-unicode-release-2.6 -I/opt/wx/2.6/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -I../../src/sdk/wxscintilla/include -I../../src/sdk/tinyxml -I../../src/sdk/scripting/include -I../../src/sdk/scripting/sqplus -I../../src/sdk/wxFlatNotebook -I../../src/sdk/propgrid/include -O2 -ffast-math -g -O2 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -MT configmanager-revision.lo -MD -MP -MF .deps/configmanager-revision.Tpo -c configmanager-revision.cpp  -fPIC -DPIC -o configmanager-revision.lo
g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions, see
<URL:file:///usr/share/doc/gcc-3.4/README.Bugs>.

make[4]: *** [configmanager-revision.lo] Błąd 1
make[4]: Leaving directory `/usr/src/cb/trunk/src/sdk'
make[3]: *** [all-recursive] Błąd 1
make[3]: Leaving directory `/usr/src/cb/trunk/src/sdk'
make[2]: *** [all] Błąd 2
make[2]: Leaving directory `/usr/src/cb/trunk/src/sdk'
make[1]: *** [all-recursive] Błąd 1
make[1]: Leaving directory `/usr/src/cb/trunk/src'
make: *** [all-recursive] Błąd 1

No i znow to samo. Rewizja 2773.
« Ostatnia zmiana: Lipiec 20, 2006, 11:09:44 wysłana przez Antrykot »

Offline parmezan

  • Użytkownik

# Lipiec 20, 2006, 11:56:50
Wygląda to na problem kompilatora, pogooglałem trochę i znalazłem coś takiego http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13027.
Masz może mniejszy swap od ramu?

bies

  • Gość
# Lipiec 20, 2006, 13:58:14
Łomatkoboskotorvaldsko. Sargem, nas bohaterów?! Debianowcy są (chodzi mi o deweloperów) inni. Ich polityka wydań jest... inna. Mają pakiety połatane do granic możliwości i tysiące backportów. Spróbuj to samo na Sidzie. Albo odezwij się bezpośrednio do deweloperów Debiana. Możesz też spróbować zainstalować w home gcc ze źródeł (np. 4.1, albo 3.4.6 - tylko bez żadnych łatek) i spróbować skompilować Code::Blocks.

Aha, wyślij do FSF raport o błędzie.

// edit
A próbowałeś pakietów z Download na BerliOS

« Ostatnia zmiana: Lipiec 20, 2006, 14:08:43 wysłana przez bies »

Offline Antrykot

  • Użytkownik

# Lipiec 20, 2006, 14:28:05
A bardzo mozliwe, ze to wina swapa :), gdyz ...hmmm...nie wiem jak to powiedziec....hmmm... nie mam go :P
Przy przesiadce na linuxa przrzucilem wszystko ze swojej partycji na inna, sformatowalem, i tyle, a o swapie zapomnialem :)
Musze podzielic partycje (mam nadzieje, ze pojdzie bez formatowania calej) i ustawie go sobie.
Odezwe sie potem, i powiem jak poszlo :)
BTW 512MB Swapu jest ok przy 192MB ramu, czy moze dac mniejszy ?

bies

  • Gość
# Lipiec 20, 2006, 14:45:05
Nie rób partycji - po co sobie wiązać ręce jak będziesz chciał swapa zmienić (skasować) - [1]. Poza tym na pytanie ,,Ile dla swapa?'' jedyną rozsądną odpowiedzią jest ,,Ile Ci potrzeba - sprawdź free -m.'' [2].

[1] http://apcoln.linuxpl.org/doku.php?id=swapfile
[2] http://apcoln.linuxpl.org/doku.php?id=wielkosc_swap
« Ostatnia zmiana: Lipiec 20, 2006, 14:51:33 wysłana przez bies »

bies

  • Gość
# Lipiec 20, 2006, 14:52:54
.
« Ostatnia zmiana: Kwiecień 21, 2008, 20:22:55 wysłana przez Szalonuki »

Offline parmezan

  • Użytkownik

# Lipiec 20, 2006, 14:57:00
Eh bies mnie ubiegł. Co do rozmiaru swapa, kiedyś zalecano RAM x2, teraz jest różnie. Najlepiej zrób jak bies pisał. Sprawdź ile RAMu zajmuje twój standardowy warsztat pracy, dodaj do tego 50% ~ 100% i masz.

Offline Antrykot

  • Użytkownik

# Styczeń 26, 2007, 17:25:33
Odświerze sobie kotleta :P

Od jakiegoś czasu (wymiana dysku i reinstalacja debiana) używam sobie Kdevelop3, ale wczoraj odpaliłem sobie C::B na windzie i urzekł mnie na nowo, a że stara miłość nie rdzewieje, postanowiłem go sobie skompilować.
I tu zaczynają sie schody :/
Cytuj
aclocal: configure.in: 75: macro `AM_OPTIONS_WXRC' not found in library
configure.in: 10: `automake requires `AM_CONFIG_HEADER', not `AC_CONFIG_HEADER'
automake: configure.in: `PACKAGE' not defined in `configure.in'
automake: configure.in: `VERSION' not defined in `configure.in'
configure.in: 10: required file `./[src/sdk/config.h].in' not found
configure.in: 10: required file `./[src/sdk/stamp-h.in' not found
src/Makefile.am:3: invalid variable `dist_pkgdata_DATA'
automake: configure.in: AC_ARG_PROGRAM must be used in `configure.in'
src/sdk/Makefile.am:3: PRECOMPILE_HEADERS does not appear in AM_CONDITIONAL
src/sdk/Makefile.am:23: variable `WX_LIBS' not defined
To tylko kilka pierwszych błędów z całej listy.
Próbowałem eksportować flagi tak jak jest podane w instrukcji, ale nic to nie dało :/
Cytuj
autoconf (GNU Autoconf) 2.59
ltmain.sh (GNU libtool) 1.5.6
automake (GNU automake) 1.4-p6
gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)

antrykot@debian:~/IDE/codeblock$ wx-config --prefix
/opt/wx/26
 wx-config --libs 
-L/opt/wx/26/lib -pthread   -L/usr/X11R6/lib  -lwx_gtk2u-2.6
Ktoś poradzi co z tym zrobić, bo użeram sie z tym już pół dnia, i nijak niemoge tego przegryźć :/

bies

  • Gość
# Styczeń 27, 2007, 02:39:46
Gdzieś w /usr/share/aclocal/wxwin.m4 powinna być definicja makra. Niestety, z tego co widzę, masz wxWidgets zainstalowane ręcznie (albo z pakietu wątpliwego pochodzenia). Albo użyj właściwych pakietów debiana (zaraz się pewnie dowiem, że w stable jest tylko 2.4) albo użyj opcji -I uruchamiając aclocal (jeśli używasz bootstrap to zdefiniuj $ACLOCAL_FLAGS).

Offline Antrykot

  • Użytkownik

# Styczeń 28, 2007, 01:45:59
Bies, dzięki za pomoc.
Problem tkwił w tym, że w Sarge'u domyślne aclocal to 1.4, a C::B wymaga 1.9. Przeinstalowałem, i byłem pewny że już używam nowego nie sprawdzając tego, tym czasem polecenie aclocal dalej wskazywało na wersje 1.4.
Gdy użyłem 1.9 wszystko poszło ;)
//edit
Moja radość była troche przedwczesna.
Make wywala błedy, własciwie linker, ale jeszcze pokombinuje.
« Ostatnia zmiana: Styczeń 28, 2007, 01:49:41 wysłana przez Antrykot »

Offline parmezan

  • Użytkownik

# Styczeń 28, 2007, 16:03:25
./auto_revision +int +wx +t ../../.. ./../../sdk/autorevision.h
*** glibc detected *** ./auto_revision: free(): invalid next size (normal): 0x0804f320 ***
======= Backtrace: =========
/lib/libc.so.6[0x401c9d21]
/lib/libc.so.6(__libc_free+0x89)[0x401ca7f9]
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6(_ZdlPv+0x21)[0x40109b41]
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6(_ZdaPv+0x1d)[0x40109b9d]
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6(_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv+0x2f)[0x400adf2f]
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6(_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv+0x61)[0x400b0cc1]
./auto_revision[0x8049f9f]
./auto_revision[0x804ae78]
/lib/libc.so.6(__libc_start_main+0xe6)[0x4017c896]
./auto_revision(__gxx_personality_v0+0x31)[0x8049231]
======= Memory map: ========

Jeśli te błędy jakoś tak wyglądają to użyj: LC_ALL=C make

Offline Antrykot

  • Użytkownik

# Styczeń 28, 2007, 16:32:05
Miałem WX'y skompilowane gcc 3.4, a C::B 3.5, i przy linkowaniu wywaliło errora, z nieprawidłową wersją C++ ABI 102 i 1002.
Pod wieczór skompiluje wszystko jeszcze raz, i wtedy zobacze.
///edit
Zmieniłem wx na 2.8 (kompilowane ze źródeł) i dalej to samo czyli :
Cytuj
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxFileName::GetExt() const'
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxListBoxBase::InsertItems(int, wxString const*, int)'
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxHtmlWindow::SetFonts(wxString, wxString, int const*)'
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxDCBase::ReservedDCFunc5()'
... i wiele podobnych :/
wx-config --libs pokazuje :
-L/opt/wx/2.8/lib -pthread   -L/usr/X11R6/lib   -lwx_gtk2u-2.8
więc niby powinno być good, a tu dupa :/
« Ostatnia zmiana: Styczeń 28, 2007, 20:13:57 wysłana przez Antrykot »

bies

  • Gość
# Styczeń 29, 2007, 17:25:15
Zmieniłem wx na 2.8 (kompilowane ze źródeł) i dalej to samo czyli :
Cytuj
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxFileName::GetExt() const'
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxListBoxBase::InsertItems(int, wxString const*, int)'
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxHtmlWindow::SetFonts(wxString, wxString, int const*)'
/home/antrykot/IDE/codeblock/src/sdk/.libs/libcodeblocks.so: undefined ref                     
erence to `wxDCBase::ReservedDCFunc5()'
... i wiele podobnych :/
wx-config --libs pokazuje :
-L/opt/wx/2.8/lib -pthread   -L/usr/X11R6/lib   -lwx_gtk2u-2.8
więc niby powinno być good, a tu dupa :/
Pewnie źle (tj. nie włączyłeś wszystkiego w ./configure) skompilowałeś wxWidgets. Coś mało tych bibliotek pokazuje wx-config. U mnie:
Cytuj
[lukasz@moria ~]$ wx-gtk2-ansi-config --libs
-pthread    -L/usr/X11R6/lib  -lwx_gtk2_xrc-2.6 -lwx_gtk2_qa-2.6 -lwx_gtk2_html-2.6 -lwx_gtk2_dbgrid-2.6 -lwx_gtk2_adv-2.6 -lwx_gtk2_core-2.6 -lwx_base_odbc-2.6 -lwx_base_xml-2.6 -lwx_base_net-2.6 -lwx_base-2.6