# problem z instalacja syslog-ng

## Dzanar

Witam wlasnie dzisiaj chcialem zobie zainstalowac gentoo. Robilem wszystko wg podrecznika dla wersji amd64 i wszystko poszlo dobrze do momentu instalacji syslog-ng. Podczas instalacji syslog-ng wywala mi blad z ktorym nie wiem za bardzo jak sobie poradzic gdyz jestem pocxatkujacy jezeli chodzi o gentoo. Tresc tego bledu jest nastepujaca.

```

/var/tmp/portage/dev-libs/glib-2.22.5/work/glib-2.22.5/gobject/.libs/glib-genmarshal: error while loading shared libraries: libglib-2.0.so.0: cannot open shared object file: No such file or directory

make[2]: *** [stamp-gmarshal.h] Error 127

make[2]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.22.5/work/glib-2.22.5/gobject'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.22.5/work/glib-2.22.5'

make: *** [all] Error 2

 * ERROR: dev-libs/glib-2.22.5 failed:

 *   emake failed

 *

 * Call stack:

 *     ebuild.sh, line   54:  Called src_compile

 *   environment, line 3019:  Called _eapi2_src_compile

 *     ebuild.sh, line  646:  Called die

 * The specific snippet of code:

 *              emake || die "emake failed"

 *

 * If you need support, post the output of 'emerge --info =dev-libs/glib-2.22.5',

 * the complete build log and the output of 'emerge -pqv =dev-libs/glib-2.22.5'.

 * The complete build log is located at '/var/tmp/portage/dev-libs/glib-2.22.5/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/glib-2.22.5/temp/environment'.

 * S: '/var/tmp/portage/dev-libs/glib-2.22.5/work/glib-2.22.5'

>>> Failed to emerge dev-libs/glib-2.22.5, Log file:

>>>  '/var/tmp/portage/dev-libs/glib-2.22.5/temp/build.log'

 * Messages for package dev-libs/glib-2.22.5:

 * ERROR: dev-libs/glib-2.22.5 failed:

 *   emake failed

 *

 * Call stack:

 *     ebuild.sh, line   54:  Called src_compile

 *   environment, line 3019:  Called _eapi2_src_compile

 *     ebuild.sh, line  646:  Called die

 * The specific snippet of code:

 *              emake || die "emake failed"

 *

 * If you need support, post the output of 'emerge --info =dev-libs/glib-2.22.5',

 * the complete build log and the output of 'emerge -pqv =dev-libs/glib-2.22.5'.

 * The complete build log is located at '/var/tmp/portage/dev-libs/glib-2.22.5/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/glib-2.22.5/temp/environment'.

 * S: '/var/tmp/portage/dev-libs/glib-2.22.5/work/glib-2.22.5'

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

(chroot) livecd / #

```

Z gory dziekuje za pomoc.

----------

## dziadu

Sprawdź czy masz plik /usr/lib/libglib-2.0.so

Prawdopodobnie brakuje Ci go - coś Ci się stało z plikami gliba. Daj

```
emerge dev-libs/glib -1
```

Powinno to naprawić gliba i Twój problem powinien zniknąć.

Powodzenia,

dziadu

----------

## Dzanar

Problem w tym wlasnie ze to sie pojawia podczas emerge gliba  :Wink: 

Probowalem nawet tego https://forums.gentoo.org/viewtopic-t-786386.html i jakos nie wyszlo  :Sad: 

----------

## dziadu

Ups, zagapiłem się   :Embarassed: 

No to taki szybki workaround.

1. Sprawdź, czy poszukiwana biblioteka istnieje gdzieś w katalogach kompilacji:

```
find /var/tmp/portage/dev-libs/glib-2.22.6/work -iname libglib-2.0.so.0
```

2. Jeśli istnieje, to mały trick: skopiuje ta bibliotekę do /usr/lib. Mała uwaga, u mnie to wygląda tak:

```
# ls -all /usr/lib/libglib-2.0.so*

lrwxrwxrwx 1 root root      23 07-08 19:57 /usr/lib/libglib-2.0.so -> libglib-2.0.so.0.2400.1

lrwxrwxrwx 1 root root      23 07-08 19:57 /usr/lib/libglib-2.0.so.0 -> libglib-2.0.so.0.2400.1

-rwxr-xr-x 1 root root 1016008 07-08 19:57 /usr/lib/libglib-2.0.so.0.2400.1
```

Zatem zrób to mądrze. Skopiuj bibliotekę (a nie dowiązanie symboliczne) i najwyżej zmień jej nazwę aby pasowało do tego co szuka kompilator.

3. Uruchom kompilacje jeszcze raz albo lepiej wykonaj to:

```
ebuild /usr/portage/dev-libs/glib/glib-2.22.5.ebuild compile install
```

Jeśli przejdzie bez problemów to pozbywamy się biblioteki którą wcześniej skopiowałeś do /usr/lib , i przystępujemy do instalacji gliba:

```
ebuild /usr/portage/dev-libs/glib/glib-2.22.5.ebuild qmerge clean
```

4. Wszystko powinno już hulać.

Jeśli biblioteki nie ma to jest problem, być może coś po drodze się popsuło i odpowiedni plik nie został stworzony. Jeśli masz ustawione w MAKEOPTS -j większe niż 1 to spróbuj przestawić tymczasowo na 1. Może z powodu wielowątkowej kompilacji coś się rozmija w czasie. Jeśli to też nie to, to pytaj dalej, powalczymy.

PS Polecenia pisałem z pamięci nie sprawdzając ich wszystkich więc proszę o zachowanie rozsądku w czasie (bez)myślnego przepisywania  :Smile: 

----------

## Dzanar

No wiec tak sprawdzilen nastepujace rzeczy. Ta biblioteka niestety nie istnieje w folderach kompilacji. Po zmianie MAKEOPTS na 1 niestety bez zmian.  Nie mam pojecia co dalej robic. Jakis czas temu instalowalem gentoo i nie mialem tego problemu.

----------

## gexcite

Spróbuj wziąć ją z pliku *stage*, tego co masz, lub ściągnij jakiś inny

----------

## Dzanar

nie mam jej w lib ani w usr/lib ;|

----------

## dziadu

Wklej gdzieś CAŁY log kompilacji. Zobaczymy co jest nie tak.

----------

## Dzanar

Prosze bardzo.

Build log http://wklej.org/id/370429/

emerge --info =dev-libs/glib-2.22.5 http://wklej.org/id/370432/

----------

## dziadu

Przepraszam za późną odpowiedz. Niepokoją mnie dwa fragmenty z Twojego logu odnoszące się do skryptu ./configure:

```
checking for dlopen in -ldl... yes

checking for dlsym in -ldl... yes

/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/../../../../lib64/crt1.o: In function `_start':

(.text+0x20): undefined reference to `main'

collect2: ld returned 1 exit status
```

oraz

```
checking whether the x86_64-pc-linux-gnu-c++ linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes

libtool.m4: error: problem compiling CXX test program
```

Przekompiluj dla pewności swoje gcc.

----------

## Dzanar

Witam troszke mnie nie bylo jednak niestety przekompilowalem gcc libtoola i nic z tego blad ten sam  :Sad: 

----------

## dziadu

Przepraszam, wprowadziłem Cię w błąd. crt1.o należy do pakietu glibc i jego powinieneś przekompilować.

----------

