# c compiler cannot create executables

## amandrake

witam

przy emerge'u jakiegokolwiek programu czy paczki wyskakuje mi błąd taki jak w temacie pomimo że po wydaniu polecenia "gcc-config -l" jest gwiazdka przy gcc-4.1.2, dodam że stawiam gentoo poprzez minimal cd i na platformie amd64

----------

## Raku

 *amandrake wrote:*   

> witam
> 
> przy emerge'u jakiegokolwiek programu czy paczki wyskakuje mi błąd taki jak w temacie pomimo że po wydaniu polecenia "gcc-config -l" jest gwiazdka przy gcc-4.1.2, dodam że stawiam gentoo poprzez minimal cd i na platformie amd64

 

szklana kula mówi, że spartoliłeś flagi kompilatora.

----------

## amandrake

chciałbym jakoś pokazać loga czy błąd ale nie przepisze całęgo błędu przecież a nie dam rady go wkleić:/

----------

## kwach

 *Raku wrote:*   

> szklana kula mówi, że spartoliłeś flagi kompilatora.

 

A moja mówi, że widocznie ustawiłeś flagę "biało-czerwona" i kompilator dzisiaj świętuje - spróbuj po północy

----------

## amandrake

wow, ale jesteście zabawni, radze so zrobić salwe na cześć niepodległości prosto w skroń

----------

## n3rd

 *amandrake wrote:*   

> przy emerge'u jakiegokolwiek programu czy paczki wyskakuje mi błąd taki jak w temacie pomimo że po wydaniu polecenia "gcc-config -l" jest gwiazdka przy gcc-4.1.2

 Dzieje się tak podczas kompilacji czy ./configure (stawiam na to drugie)? I pytanie nr. dwa, to czy gcc-config nie zgłasza problemów? Jest szansa, że możesz mieć trochę zamieszane w specyfikacji gcc (może nie masz do niej PATH'a).

Czy nakładałeś jakieś łaty na glibc?   :Cool: 

pozdr.

dc

----------

## amandrake

dzieje mi sie tak przy ./configure, gcc nie zgłasza żadnych błędów a na glibca nic nie nakładałem bo nie miałem jak jeszcze, jestem w trakcie stawiania gentoo na nogi

----------

## n3rd

Przekompiluj gcc - myślę, że emerge  przebiegnie bez większych problemów.

Jeżeli zobaczysz, że w /etc trzeba zrobić aktualizację to zrób to (przy założeniu, że problemem jest błąd w ustawieniach env specyfikacji gcc).

d.

-----------

I jeszcze jedno. Jakby to nie zadziałało to możesz zacząć zastanawiać się nad ściągnięciem stage z innego serwera. Ostatnio również stawiałem gentoo i zauważyłem, że teoretycznie te same paczki (ściągnięte z dwóch różnych serwerów) były różne! Grom wie o co chodziło.. paczki gentoo trzymane są na różnych serwerach rozsianych na całym świecie.. nie chcę zgadywać, co mogło być przyczyną... ale martwi mnie to trochę   :Sad: 

I EDIT 2: Tak jak już napisano.. flagi.. jakie masz ustawione???

----------

## unK

Może lepiej niech te flagi najpierw pokaże, bo na 99% zrobił w nich literówkę, a nie bezsensownie rekompiluje gcc.

----------

## Kurt Steiner

amandrake, podawaj w wątkach więcej informacji - nikt Ci nie pomoże jak nie wiadomo o co chodzi. Jeśli działasz tylko w konsoli w przeklejaniu błędów pomogą Ci gpm (myszka w konsoli  :Wink:  ) i links (przeglądarka).

----------

## n3rd

 *unK wrote:*   

> ...a nie bezsensownie rekompiluje gcc.

 Miałem kiedyś identyczny błąd. Okazało się, że powodem były błędne ustawienia zmiennych dla gcc w /etc/env.d.  Po ręcznym wpisaniu ścieżki do specyfikacji kompilatora w końcu zadziałało (jak się robi aktualizacje to nowe konfigi nie nadpisują od razu starych ustawień).

Innym razem ten sam błąd miałem po majsterkowaniu przy glibc... i znowu powodem było eksportowanie zmiennych.. ale wtedy nawet gcc-config nie działało... wtedy ręcznie obchodziłem problem w tym skrypciku...  :Wink: 

Ale masz rację.. na 99% może to być głupia literówka w flagach... (akurat to mam ustawione bardzo bezpiecznie).

Ostatnio.. kilka dni temu, stawiałem gentoo i (tak jak już napisałem) trafiłem na jakiś lewe stage  :Confused:  Uszkodzone jakiś czy co.. Pobrałem z innego serwera i już nie było problemów. Dziwna sprawa.

d.

Ach.. wątek o dacie w systemie.. https://forums.gentoo.org/viewtopic-t-710236.html

@Kurt Steiner: Sam przepadnie w czeluściach forum

Ale będzie zaśmiecał forum. Na jeden dobry wątek będzie przypadało XXX śmieciowych.

----------

## SlashBeast

Ja stawiam tygodniowe obiady, ze to literówka w CFLAGS, dokładniej w march.

----------

## Raku

 *SlashBeast wrote:*   

> Ja stawiam tygodniowe obiady, ze to literówka w CFLAGS, dokładniej w march.

 

A ja obstawiam 02 <> O2.

A stawiam tygodniowe śniadania.   :Razz: 

----------

## Poe

na 100% literowka. daj make.conf

----------

## qermit

ja postawię 50 groszy na związek z binutils  ( binutils-config  -l ) albo gcc ( gcc-config -l )

----------

## arturx

od jakiego staga stawiasz system ? jeśli stage ma inną architekturę niż amd64 to wtedy : emerge -av1 glibc binutils gcc

PS

loga możesz wkleić jak sie do gentoo zachrootujesz z jakiegoś livecd np knoppix

----------

## timor

A ja stawiam browar za każdą skuteczną metodę opartą na wykonaniu poleceń typu: emerge cokolwiek - w momencie kiedy koleś ma errora, że gcc nie potrafi zbudować binarek  :Very Happy: 

----------

## lazy_bum

Kiedyś się nadziałem na podobny błąd jak zrobiłem /tmp i /var/tmp na partycji z opcją noexec, ale nie obstawiam. (-;

----------

## SlashBeast

 *lazy_bum wrote:*   

> Kiedyś się nadziałem na podobny błąd jak zrobiłem /tmp i /var/tmp na partycji z opcją noexec, ale nie obstawiam. (-;

  Wtedy dajesz np. PORTAGE_TMPDIR="/root/tmp" i problem znika. Sam tak mam, /tmp i /var/tmp z nosuid,noexec

----------

## n3rd

 *SlashBeast wrote:*   

> Wtedy dajesz np. PORTAGE_TMPDIR="/root/tmp" i problem znika. Sam tak mam, /tmp i /var/tmp z nosuid,noexec

 Ciekawe  :Cool:  Wcześniej również wywaliłem nosuid,noexec właśnie przez problemy z portage. Tyko wydaje mi się, że lepiej byłoby jednak stworzyć np. /var/portage_tmp/ z atrybutami portage:portage 700. 

Edit: i ustawić w make.conf 

```
FEATURES="userpriv"

PORTAGE_TMPDIR="/portage_tmp/"
```

 Z 'userpriv' nie możesz tego trzymać w /root/

Inną ciekawą opcją jaka właśnie przyszła mi do głowy, to wymuszenie stosowania pam_mktemp z projektu openwall. Działa to na zasadzie attr (extended attributes) w taki sposób, że tylko właściciel takiego /tmp/dira posiada uprawnienia do operowania w tym katalogu - nawet root ma ograniczone uprawnienia (oczywiście posiada on możliwość zdjęcia tych atrybutów i operowania w katalogu). W wolnej chwili pomyślę, jak to można wdrożyć  :Wink: 

Edit: chyba nic z tego nie wyjdzie. Można wymusić dla sesji pam_mktemp ale musi być wsparcie w aplikacji dla pam.

Pozdrawiam

daniel

----------

