← Back to team overview

sslug-teknik team mailing list archive

Re: gcc

 

On Fri, 20 Aug 1999 15:16:33 +0200, root <vedsted@xxxxxxxxxxxxx>
wrote:

>Hej SSLUG.
>
>Ja nu håber jeg at dette er stedet at poste dettte. Under alle
>omstændigheder har en grundig gennemsøgning af diverse lister både her
>på siden og hos GNU ikke givet det store resultat. det skal med det
>samme indskydes at jeg er mere end blank ud i Linux + alle de julelege
>der åbenbart er nødvendige for at få mere end blot det default
>installerede til at fungere.

Compilere og glibc synes jeg kan være slemme at installere, men de
fleste andre programmer er som regel lige til.

>
>Mit problem er meget kort fortalt at jeg vil installere gcc version
>2.95.1. Jeg har:
>
>Downloaded det fra GNU
>Lavet et bibliotek under root der hedder gcc
>Pakket  *.gz.tar filen ud i dette bibliotek, så der nu er en sti:
>/root/gcc//gcc-2.95.1/gcc-2.95.1 (Det skulle vel så være source-filerne
>der ligger her?)
Ja.

>Jeg har lavet et bibliotek i roden der hedder gcc. (Det er så meningen
>at det skal være object-filerne der skal ligge her?)
Ja.

>Jeg kører , mens jeg står i ./gcc (I overenstemmelse med Configure
>beskrivelsen) : ./root/gcc//gcc-2.95.1/gcc-2.95.1/configure i386. I det
>forfængelige håb at tilføjelsen i386 skal kunne gøre det ud for HOST.
>Men guderne skal vide at jeg ikke er sikker!!
Hos mig er det ikke nødvendigt at angive host. Den eneste parameter
jeg bruger er --with-prefix=/usr, som er til for at få den til at
installere over den gamle compiler.

>Nu får jeg den så til at lave en makefile + der bliver tilsyneladende
>oprette et bibliotek i386. Derudover intet!
>Det skal måske med at jeg laver dette i et Terminal vindue under Gnome
>og at jeg er på som root.
>Der kommer en meddelelse i forbindelse med denne configure der siger:
>
>Created "Makefile" in /root
Nu kan jeg ikke lige huske præcis hvad der plejer at stå hos mig, men
jeg mener da, at hele stien skulle stå her?! Det er i hvert fald
forkert, hvis Makefile havner i root, den skal ligge i build-dir'et
(/gcc). Er du sikker på, at du har stået i [build-dir] og derfra kaldt
[source-dir]/configure?

>/usr/bin/ld: cannot open crt1.0: No such file or directory
>collect2: ld returned 1 exit status
>*** The command 'gcc -0 conftest -g -o2  conftest.c'  failed.
>*** You must set the enviroment variable CC to a working compiler.
>
>I følge hvad jeg kan se ligger der godt nok en fil der hedder ld i
>/usr/bin.
Configure-scriptet laver her et hav af checks på dit system, for at
sikre sig at compileren overhovedet vil kunne virke, og for at sætte
en masse flags til compilingen af compileren.

Du skal som standard have en environment variabel kaldet CC sat til at
pege på din compiler, fx /usr/bin/gcc. Hvis den ikke er der, har du
måske slet ikke har (default-)compileren installeret.

Når du bygger en ny compiler, foregår det ved at den gamle compiler
bruges til at compile sourcen til en ny compiler, som derefter
compiler hele sourcen igen til endnu en ny compiler, således checkes
det, at den nye compiler er i stand til at compile sig selv (klar
tale, ikke). Du bruger altså den gamle compiler for at komme igang;
den skal være der (man skal ikke afinstallere den).

Jeg ved ikke hvad den crt1.0-fejl betyder. Hvis det er det, der er
problemet, kan CC-fejlen selvfølgelig bare være en afledt fejl.

>
>Spørgsmålet er: Hvad gør jeg nu for at komme videre? Hvad er det
>maskinen prøver at fortællle mig? Er det overkille det jeg prøver at
>lave?
Næ, det ser meget fornuftigt ud.

> de gange jeg har prøvet at installere nogle nye programmer selv
>(Og det er man vel næsten nød til at kunne?)
Det er en del af charmen :)

> synes jeg at jeg er havnet
>i at skulle bruge noget cc-compiler-noget whatever-det-nu-er.

Prøv at se hvad configure-scriptet ellers spytter ud; nogen warnings
e.l.? Ellers se Anders' svar. Hvis du har den gamle compiler
installereret, men ingen CC-variabel, kan du selv sætte den inden du
starter:
export CC=/usr/bin/gcc
[source-dir]/configure



/Simon




References