LINUX.ORG.RU

gimp 2.0 не компилится, помогите


0

0

выдает следущую ошибку:

if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../app -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include -DG_LOG_DOMAIN=\"Gimp-Base\" -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE -O2 -mcpu=i686 -fomit-frame-pointer -pipe -Wall -MT cpu-accel.o -MD -MP -MF ".deps/cpu-accel.Tpo" \ -c -o cpu-accel.o `test -f 'cpu-accel.c' || echo './'`cpu-accel.c; \ then mv -f ".deps/cpu-accel.Tpo" ".deps/cpu-accel.Po"; \ else rm -f ".deps/cpu-accel.Tpo"; exit 1; \ fi

cpu-accel.c: In function `arch_get_vendor':

cpu-accel.c:124: error: can't find a register in class `BREG' while reloading `asm'

cpu-accel.c: At top level:

cpu-accel.c:330: warning: `sigill_handler' defined but not used

make: *** [cpu-accel.o] Ошибка 1

anonymous

Ответ на: комментарий от init

> Какой дистриб? Gentoo?

Угадал.

А это что-нибудь меняет?

Можно в файле, который не компилируется заменить пару макросов и все начнет собираться.

Но вопрос в том, будет ли после этого работать...

И вообще, зачем gimp знать cpuid.

Это mpalyer какой-нибдуь же, чтобы под cpu оптимизироваться.

anonymous
()
Ответ на: комментарий от init

Странно, все это. Нашел обсуждение на форуме похожей проблемы.

Там пеняли на -fPIC флаг, но у меня в CFLAGS нет такого.

Но если убрать вот эти строчки, то все

#if !defined(ARCH_X86_64) && defined(PIC) #define cpuid(op,eax,ebx,ecx,edx) \ __asm__ ("movl %%ebx, %%esi\n\t" \ "cpuid\n\t" \ "xchgl %%ebx,%%esi" \ : "=a" (eax), \ "=S" (ebx), \ "=c" (ecx), \ "=d" (edx) \ : "0" (op)) #else

компилиться.

Не знаю, правда работает ли.

Откуда интересно, он рюхает, что PIC определена. Я пробовал

USE="-pic" emerge ... Тот же результат.

anonymous
()
Ответ на: комментарий от Demetrio

>По-твоему для обработки графики, применения разных там фильтров >мощность процессора не важна?

Мощность важна, а вот понимание того, какая мощность у моего процессора я думаю ненужна.

Если он поймет, что у меня Целерон или Пентиум, я думаю быстрее от этого он не заработает.

Нафига это нужно на этапе выполнения?

Я думаю, это важно только на этапе компиляции.

anonymous
()
Ответ на: комментарий от anonymous

Вот например дополнительные параметры для сборки Gimp2 из .srpm в Mandrake:

--with mmx Enable MMX code support (default disabled)
--with sse Enable SSE code support (default disabled)

Demetrio ★★★★★
()
Ответ на: комментарий от Demetrio

>Вот например дополнительные параметры для сборки Gimp2 из .srpm в >Mandrake: > >--with mmx Enable MMX code support (default disabled) >--with sse Enable SSE code support (default disabled)

Это ты к чему?

Я же говорю, о файле cpu-accel.c, который дает gimp возможность определить во время ВЫПОЛНЕНИЯ (т.е. когда он уже скомпилирован с разными опциями под определенный процессор (--arch=i686 -mmx допустим)) какой сейчас в системе процессор.

Еще раз повторяю во время ВЫПОЛНЕНИЯ, а не во время компиляции.

Вот это нафига нужно?

anonymous
()
Ответ на: комментарий от init

>Это какая-то ошибка с mmx-оптимизацией. Обнови sys-devel/hardened-gcc >до 5.0

bash-2.05b$ pwd

/usr/portage

bash-2.05b$ ls sys-devel/

autoconf cc-config gcc-compat gettext makepp sparc32 automake cons gcc-config gnuconfig mips32 spython bc crossdev gcc-hppa64 kgcc odinmp bin86 distcc gcc-mips64 libperl omni binutils egcs64-sparc gcc-sparc64 libtool patch binutils-hppa64 flex gdb m4 pmake bison gcc gecc make prelink

bash-2.05b$

Это я к тому что у меня нет sys-devel/hardened-gcc.

Вы уверены что такой существует, в портежах его нет.

anonymous
()
Ответ на: комментарий от Selecter

Ещё нашёл:

Gentoo uses libtool (for fpic) to compile this code, which is invalid in
1.6.1.91 (the default tarball didn't do this, so gentoo messed this up).
It's fixed in latest CVS, cpu_accel.c can now be compiled with fpic.

Selecter ★★★★
()
Ответ на: комментарий от Selecter

>linux-headers какой версии?

Последний из 2.4 от gentoo

А gimp и на ядро завязан?

anonymous
()
Ответ на: комментарий от Selecter

>И вообще странно ты с mmx обошёлся: > >В USE mmx есть, а в CFLAGS - нет (-O2 -mcpu=i686 -fomit-frame-pointer >-pipe)

Исправил. Никакого результата.

anonymous
()
Ответ на: комментарий от Selecter

>Ещё нашёл: > >Gentoo uses libtool (for fpic) to compile this code, which is invalid >in >1.6.1.91 (the default tarball didn't do this, so gentoo messed this >up). >It's fixed in latest CVS, cpu_accel.c can now be compiled with fpic.

А не подскажите где вы это нашли?

anonymous
()
Ответ на: комментарий от Selecter

>http://www.mail-archive.com/mjpeg-users@lists.sourceforge.>net/msg03265.h tml > >Только что openoffice 1.1.2 откомпилил с флагом -fpic :) летает (хотя >главное чтобы документы на нём можно было делать, а не летать). >Заняло 7,5 часов.

А я забил на ОО и поставил abiword, компилировал пару часов, и делает все тоже самое.

fghj ★★★★★
()
Ответ на: комментарий от anonymous

> Вы уверены что такой существует, в портежах его нет.

хм.. странно, его убрали. Просто у меня была такая же ошибка, и я так исправилось

init ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.