Problemy z kompilacj

Ogólne pytania dotyczące systemu
Awatar użytkownika
rmika
Beginner
Posty: 117
Rejestracja: 14 czerwca 2007, 08:55

Problemy z kompilacją

Post autor: rmika »

No Panowie i Panie mam problem od jakiegoś czasu z kompilacją różnych różniastych programów. ¯eby było wszystko jasne to podam przykład.
¦ciągam program do ikon w fluxboxie
idesk

¦ciągnięta wersja paczki z programem ma nazwę

Kod: Zaznacz cały

idesk-0.7.5.tar.bz2
, ściągam i instaluję paczkę

Kod: Zaznacz cały

bzip2   (żebym mógł rozpakować)

kontynułując uruchamiam polecenie w konsoli

Kod: Zaznacz cały

bzip2 -d idesk-0.7.5.tar.bz2
Dostaje w nagrodę

Kod: Zaznacz cały

idesk-0.7.5.tar
Podążam dalej, wykonuję

Kod: Zaznacz cały

 tar xvf idesk-0.7.5.tar
no i wkącu mam upragniony katalog

Kod: Zaznacz cały

idesk-0.7.5
wchodze do środka komendą

Kod: Zaznacz cały

cd idesk-0.7.5
I tu pojawia się wkącu mój problem. Chce to skąpilować

Kod: Zaznacz cały

./configure
i wyświetla mi takie komunikat

Kod: Zaznacz cały

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether  make sets $(MAKE)... no
checking for working aclocal-1.4... missing
checking for working  autoconf... missing
checking for working automake-1.4... missing
checking for working autoheader... missing
checking for working makeinfo... found
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See 'config.log' for more details.
I teraz nie wiem czego mi brakuje? Jakiej paczki ? Mam nadzieje, że mnie uratujecie/pomożecie... :) [shadow=brown][/shadow]
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Dobra, analizujemy ;)
rmika pisze:checking for gcc... no
Przetłumacz sobie powyższe i pomyśl, czego mu brakuje? Brakuje mu gcc - a co to jest? Ano sprawdzamy w paczkach za pomocą aptitude:

Kod: Zaznacz cały

aptitude search gcc
Po tym wnioskujemy, że gcc jest to:
aptitude search gcc pisze:The GNU C compiler
Innymi słowy: kompilator języka C.

Tak więc, owy kompilator zainstalować należy ]
db
Beginner
Posty: 185
Rejestracja: 25 czerwca 2006, 15:23

Post autor: db »

[checking for gcc... no
checking for gcc... no

Kod: Zaznacz cały

apt-get install gcc make automake autoconf
Oraz wszystkie zależności [ w tym wypadku paczki *-dev idesk'a ].

P.S. idesk jest w repo Debiana.


//do kodów używaj tagów code
velmafia
Awatar użytkownika
rmika
Beginner
Posty: 117
Rejestracja: 14 czerwca 2007, 08:55

Post autor: rmika »

Teraz to jeszcze bardziej się namieszało :( Czy da się kopiować tekst z edytora nano...?
db
Beginner
Posty: 185
Rejestracja: 25 czerwca 2006, 15:23

Post autor: db »

Tak, uruchom sobie w jakimś *termie, zaznacz gryzoniem i wklej via shift+insert.
velmafia
Member
Posty: 1820
Rejestracja: 01 września 2006, 00:56
Lokalizacja: Las

Post autor: velmafia »

rmika, a tak apropo - kompilacja programów pod Debianem to zło ;) robisz tylko burdel w systemie (no chyba że ze źródełek tworzysz paczkę), ale nie ma większego sensu kompilować programów które są dostępne w repo.


podstawowe narzędzia do kompilacji masz w paczce build-essential, więc ją sobie zainstaluj jeśli jednak będziesz chciał kompilować ze źródeł.
db pisze:i wklej via shift+insert.
albo środkowym przyciskiem myszki ;)
Lorenzo
Beginner
Posty: 262
Rejestracja: 15 sierpnia 2006, 16:14
Lokalizacja: Kraków

Post autor: Lorenzo »

Kompilacja bez optymalizacji to zło - bo to jak instalacja paczek z repo (ale tylko w debilianie)
Jeżeli kompilujesz to zacznij od ./configure --help - postudiuj opcje kompilacji, wybierz odpowiednie, zmejkuj program. Utwórz jakiś katalog (np debian) potem wykonaj

Kod: Zaznacz cały

make DESTDIR=debian install
Utwórz katalog debian/DEBIAN. W nim plik control wyglądajacy tak:
  • Section: misc
    Priority: optional
    Standards-Version: 3.0.1

    Package: <enter package name; defaults to equivs-dummy>
    Version: <enter version here; defaults to 1.0>
    Maintainer: <your name and email address; defaults to username>
    Pre-Depends: <packages>
    Depends: <packages>
    Recommends: <packages>
    Suggests: <package>
    Provides: <(virtual)package>
    Architecture: all
    Copyright: <copyright file; defaults to GPL2>
    Changelog: <changelog file; defaults to a generic changelog>
    Readme: <README.Debian file; defaults to a generic one>
    Extra-Files: <additional files for the doc directory, comma separated>
    Description: <short description; defaults to some wise words>
    long description and info
(wymagane pola to w zasadzie nazwa, sekcja, opis, ale dobrze jest zadbać o zależności)

Potem zbuduj paczkę poleceniem:

Kod: Zaznacz cały

dpkg -b debian nazwa-wersja_architektura.deb
P.S. Dobrym pomysłem jest robić binarki w innym niż źródła katalogu.

//EDIT:
Oczywiście nie każde źródła pobrane z cvs'u będą się kompilować za pomocą wczorajszego cvs'a gcc-4.3 i z niektórymi flagami linkera, czy kompilatora ;-)
Awatar użytkownika
rmika
Beginner
Posty: 117
Rejestracja: 14 czerwca 2007, 08:55

Post autor: rmika »

no człowiek uczy się na błędach... jak już zacząłem ten temat/problem bo chciałbym go pomyślnie ukończyć...
Wczoraj skończyłem na etapie instalacji pakietu gcc i zaczęły się większe schody mianowicie dostałem taki komunikat:

Kod: Zaznacz cały


rafal@debian:~/idesk-0.7.5$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... no


checking for working makeinfo... found
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for strerror in -lcposix... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc option to accept ANSI C... no
checking whether make sets $(MAKE)... (cached) no
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
i teraz to jestem w kropce :(
Najbardziej zastanawia mnie ten fragment

Kod: Zaznacz cały

checking for working aclocal-1.4... missing
checking for working autoconf... missing
checking for working automake-1.4... missing
checking for working autoheader... missing
Starałem się odszukać tych pakietów ale nie ma... i nie wiem co mam zrobić :(
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Co do budowania paczek deb to warto zapoznać się z tym artem: http://www.us.debian.org/doc/manuals/ma ... ex.pl.html
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

rmika pisze:checking whether we are using the GNU C++ compiler... no
No przecież jak byk jest napisane czego brakuje !
ODPOWIEDZ