# emerge ati-drivers [solved]

## smk

Доброго времени суток.

Раньше видяха работала на radeon'овских дровах, но что то меня подвигло поставить родные атишные драйвера. Не долго думая

```
emerge ati-drivers
```

На что быстро вылетела такая вот ошибка: 

```

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/x11-drivers/ati-drivers-8.40.4/work ...

 * Preparing fglrx module

make -C /usr/src/linux M=/var/tmp/portage/x11-drivers/ati-drivers-8.40.4/work/common/lib/modules/fglrx/build_mod/2.6.x modules

make[1]: Entering directory `/usr/src/linux-2.6.22-gentoo-r2'

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-8.40.4/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o

/var/tmp/portage/x11-drivers/ati-drivers-8.40.4/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:46:2: error: #error unknown or undefined architecture configured

make[2]: *** [/var/tmp/portage/x11-drivers/ati-drivers-8.40.4/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1

make[1]: *** [_module_/var/tmp/portage/x11-drivers/ati-drivers-8.40.4/work/common/lib/modules/fglrx/build_mod/2.6.x] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.22-gentoo-r2'

make: *** [kmod_build] Error 2

!!! ERROR: x11-drivers/ati-drivers-8.40.4 failed.

Call stack:

  ebuild.sh, line 1632:   Called dyn_compile

  ebuild.sh, line 983:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  ati-drivers-8.40.4.ebuild, line 177:   Called linux-mod_src_compile

  linux-mod.eclass, line 516:   Called die

!!! Unable to make  GCC_VER_MAJ=4 KVER=2.6.22-gentoo-r2 KDIR=/usr/src/linux kmod_build.

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/x11-drivers/ati-drivers-8.40.4/temp/build.log'.
```

sys-devel/gcc-4.1.2.

```
# cat /etc/make.conf

CFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

CHOST="i686-pc-linux-gnu"

MAKEOPTS="-j2"

...etc

```

При этом всем, если запустить ручками

# sh ati-driver-installer-8.40.4-x86.x86_64.run

то все ставится как надо. Но почему ж этот же драйвер через emerge не ставится?

Где же остановился процесс моего умственного развития?  :Smile: 

В гугле упоминания есть, но в большинстве на федоре или xen'e.

----------

## smk

Никто с таким не встречался что ли?  :Sad: 

----------

## Laitr Keiows

1) Google: firegl_public.c error unknown or undefined architecture configured

2) http://www.gentoo.ru/node/6058

----------

## smk

Замечательное решение, блин

 *Quote:*   

> 
> 
> Нашел в чем грабли...
> 
> Ошибка в ДНК 
> ...

 

Что то я не совсем понимаю. Если имеется ввиду 

```
Processor family (Athlon/Duron/K7)  ---> 
```

То тут вроде все как надо. Ибо я когда то ставил эти более раннюю версию ати-шных драйверов с примерно теми же настройками ядра (с незначительными изменениями в модулях) то все было нормально.

----------

## fank

видимо, подразумевается, что в ядре этот параметр должен совпадать с содержимым make.conf

----------

## smk

Ааа! Все, понял. При переходе на новое ядро,видимо, по недосмотру был неправильно выставлен параметр 

```
Subarchitecture Type (PC-compatible)  --->
```

----------

## _Sir_

Пиши в заголовке [SOLVED] чтобы было ясно в чем было дело  :Smile: 

----------

## smk

Все ясно кроме того что все плохо.

```
Building fgl_glxgears

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lGL

collect2: ld returned 1 exit status

!!! ERROR: x11-drivers/ati-drivers-8.40.4 failed.

Call stack:

  ebuild.sh, line 1632:   Called dyn_compile

  ebuild.sh, line 983:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  ati-drivers-8.40.4.ebuild, line 189:   Called die

!!! fgl_glxgears build failed

!!! If you need support, post the topmost build error, and the call stack if relevant
```

Это спустя 3 строчки после предидущей проблемы... Гуглил. 

В результате пересобрал ядро, gcc, mesa, xf86-video-ati, libsdl, libstdc++. 

Вот вывод localhost ~ # ldconfig -v | grep -i libgl

```
        libglade-2.0.so.0 -> libglade-2.0.so.0.0.7

        libglib-1.2.so.0 -> libglib.so

        libglib-2.0.so.0 -> libglib-2.0.so.0.1200.12

        libglibmm_generate_extra_defs-2.4.so.1 -> libglibmm_generate_extra_defs-2.4.so.1.0.24

        libglut.so.3 -> libglut.so.3.8.0

        libglitz.so.1 -> libglitz.so.1.0.0

        libGLw.so.1 -> libGLw.so.1.0.0

        libglibmm-2.4.so.1 -> libglibmm-2.4.so.1.0.24

        libGLU.so.1 -> libGLU.so.1.3.060502

        libglitz-glx.so.1 -> libglitz-glx.so.1.0.0

        libGL.so.1 -> libGL.so.0 
```

Соответственно /usr/i686-pc-linux-gnu/bin/ld существует и функционирует...

Файды libGL.so libGL.la libGL.so.* в наличии. Пакеты пересобирал нужные безрезультатно. 

В гугле есть решение - пересобрать драйвера видео. Я сейчас сижу на ати-шных драйверах, но не emerge-шнутых, а ручками поставленных.

----------

## smk

Осознал собственную тупость. Каюсь.  :Embarassed: 

----------

## _Sir_

```
emerge -va gentoolkit && revdep-rebuild -- -v -p
```

Эту утиль очень полезно запускать, когда кто-то что-то не находит. Далее.

```
gcc-config -l
```

хочется увидеть.

Ну и, что немаловажно, профиль. То есть 

```
eselect profile list
```

У меня на amd64 данная версия драйверов пока в таком виде:

```

sir@swan ~ $ eix ati-drivers

[I] x11-drivers/ati-drivers

     Available versions:  8.27.10-r1 (~)8.28.8 8.32.5 (~)8.33.6 (~)8.33.6-r1 (~)8.34.8 8.35.5 (~)8.36.5 (~)8.37.6 (~)8.37.6-r1 8.39.4 [m](~)8.40.4 {acpi doc kernel_linux multilib opengl qt3}

     Installed versions:  8.39.4(23:59:45 08/06/07)(acpi kernel_linux -multilib)

     Homepage:            http://www.ati.com

     Description:         Ati precompiled drivers for recent chipsets
```

так что я сижу на 8.39.4 и не жужжу.

----------

