# gcc 3.3.6 trouble [solved]

## larrikin

Здравствуйте.

При очередном

```
 emerge world
```

обновился gcc с версии 3.3.5-20050130 до 3.3.6.

При установке media-libs/jpeg-6b-r5 возникла ошибка следующего содержания:

[code]libtool --mode=link i686-pc-linux-gnu-gcc -o libjpeg.la jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo jcinit.lo jcmas 

ter.lo jcmarker.lo jcmainct.lo jcprepct.lo jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo jcdctmgr.lo jfdctfst.lo jfdctf             lt.lo 

jfdctint.lo jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo jdmainct             .lo jdcoefct.lo 

jdpostct.lo jddctmgr.lo jidctfst.lo jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo jquant1.lo jquant2             .lo jdmerge.lo jcomapi.lo 

jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo -rpath /usr/lib -version-info 62

g++ -shared -nostdlib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../crti.o 

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/crtbeginS.o  .libs/jcapimin.o .li[code]bs/jcapistd.o .libs/jctrans.o .libs/jcparam.o 

.libs/jdatadst.o .libs/jcinit.o .libs/jcm             aster.o .libs/jcmarker.o .libs/jcmainct.o .libs/jcprepct.o .libs/jccoefct.o .libs/jccolor.o 

.libs/jcsample.o .libs/jchuff.o .libs             /jcphuff.o .libs/jcdctmgr.o .libs/jfdctfst.o .libs/jfdctflt.o .libs/jfdctint.o .libs/jdapimin.o 

.libs/jdapistd.o .libs/jdtrans.o              .libs/jdatasrc.o .libs/jdmaster.o .libs/jdinput.o .libs/jdmarker.o .libs/jdhuff.o .libs/jdphuff.o 

.libs/jdmainct.o .libs/jdcoefct             .o .libs/jdpostct.o .libs/jddctmgr.o .libs/jidctfst.o .libs/jidctflt.o .libs/jidctint.o .libs/jidctred.o 

.libs/jdsample.o .libs/j             dcolor.o .libs/jquant1.o .libs/jquant2.o .libs/jdmerge.o .libs/jcomapi.o .libs/jutils.o .libs/jerror.o 

.libs/jmemmgr.o .libs/jmem             nobs.o  -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130 

-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../../i686-             pc-linux-gnu/lib 

-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc-lib/i686-pc-l             

inux-gnu/3.3.5-20050130/crtendS.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../crtn.o  -Wl,-soname -Wl,libjpeg.so.6             

2 -o .libs/libjpeg.so.62.0.0

g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../crti.o: No such file or directory

g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/crtbeginS.o: No such file or directory

g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/crtendS.o: No such file or directory

g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../crtn.o: No such file or directory

make: *** [libjpeg.la] Ошибка 1

!!! ERROR: media-libs/jpeg-6b-r5 failed.

!!! Function src_compile, Line 41, Exitcode 2

!!! make failed

!!! If you need support, post the topmost build error, NOT this status message.

[/code]

Как я понимаю, ошибка из за того, что линковщик ищет библиотеки по старым путям, а их там естественно нет.

Дальнейшие мои действия:

обновил (точнее пересобрал) gcc-config, glibc и еще раз пересобрал gcc.

Что делать не знаю.Last edited by larrikin on Thu Sep 08, 2005 7:41 pm; edited 1 time in total

----------

## cha-chaynik

Покажите Ваш make.conf

----------

## larrikin

```
CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

USE="-ipv6 nls -gnome -kde -gtk -gtk2 -java"

GENTOO_MIRRORS="http://mirror.aiya.ru/pub/gentoo/ ftp://mirror.aiya.ru/pub/gentoo/ http://ftp.citkit.ru/pub/Linux/gentoo ftp://ftp.citkit.ru/pub/Linux/gentoo"
```

----------

## viy

(Куски кода и вывода программ лучше обрамлять тэгами [code]...[/code], для удобства читающих.)

Запусти скрипт fix_libtool.sh (не помню точное название, пользуйся клавишей <Tab>).

Не поможет --- запускай revdep-rebuild из пакета gentoolkit.

----------

## larrikin

 *viy wrote:*   

> (Куски кода и вывода программ лучше обрамлять тэгами 
> 
> ```
> ...
> ```
> ...

 

Куски кода я "обрамил" тегами code, их видно, но почему то код не выглядит как код  :Sad: 

----------

## cha-chaynik

При сборке gcc я бы попробовал использовать меньшую оптимизацию.

-O2 или -Os

----------

## viy

Надо еще внизу убрать галочку от опции "Отключить в этом сообщении BBCode"...

----------

## larrikin

 *viy wrote:*   

> (Куски кода и вывода программ лучше обрамлять тэгами 
> 
> ```
> ...
> ```
> ...

 

Сделал, не помогает  :Sad: .

----------

## viy

Что тебе говорит gcc-config -l?

----------

## larrikin

 *viy wrote:*   

> Что тебе говорит gcc-config -l?

 

```
~ # gcc-config -l

 [1] i686-pc-linux-gnu-3.3.6 *

 [2] i686-pc-linux-gnu-3.3.6-hardened

 [3] i686-pc-linux-gnu-3.3.6-hardenednopie

 [4] i686-pc-linux-gnu-3.3.6-hardenednopiessp

 [5] i686-pc-linux-gnu-3.3.6-hardenednossp

```

----------

## larrikin

хм, замечено вот что.

файлик 

```
main(){}

```

затем 

```
g++ t.cpp
```

собирается нормально.

Даже не знаю куда копать...

----------

## doonkel

#fix_libtool_files.sh 3.3.5-20050130

#fix_libtool_files.sh 3.3.6.3.3.5-20050130

#etc-update

#source /etc/profile

Точно не помню,толи 3.3.5 - или так,как написал выше 3.3.5-20050130

Если это не поможет,то нужно будет сделать линк.

----------

## larrikin

а это не может быть трабла именно пакета media-libs/jpeg-6b-r5 ?

Сейчас попытаюсь собрать какой нибудь пакет... например fluxbox...

----------

## larrikin

Однако странно. links собраля без проблем. Господа, есть еще какие то соображения? Все рекомендации, данные Вами я выполнил.

----------

## viy

Проблема, кажется, с g++...

----------

## larrikin

Все, победил.

Проблема заключалась в libtool. Просто нужно было повнимательнее посмотреть в сборку media-libs/jpeg-6b-r5.

Пересобрал libtool, все заработало.

Всем стасибо за участие.  :Smile: 

----------

## cha-chaynik

Кстати, правильно ли я понимаю, что в GCC 3.3.6 принципиальных отличий от 3.3.5 нет, за исключением исправлений ошибок?

----------

## rusxakep

это проблема глобальная., чтобы нормально собрался 3.3.6 после 3.3.5 - надо пересобирать libtool (и jpeg-6b тут не причем)

----------

