Программы нет в portage, а в обход не хочет ставится
Unclewaighty 12 марта, 2007 - 02:10
Скачал я тут Ularn с SF.net, ибо в дереве пакетов его нет.
Распаковал, сделал ./Configure. Он сказал - теперь запустите make.
make выдает вот что:
eddie Ularn # make
cc -c action.c
In file included from header.h:30,
from action.c:2:
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/varargs.h:4:2: error: #error "GCC no longer implements
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include/varargs.h:5:2: error: #error "Revise your code to use
In file included from action.c:5:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
make: *** [action.o] Ошибка 1
какие-то флаги не указаны или все совсем плохо?
»
- Для комментирования войдите или зарегистрируйтесь
решения 1
решения
1 пошариться на багзилле
2 написать ебилд самому
_________________
Gentoo GNU/Linux 2.6.20 GCC 4.1.2 Dual Xeon
Working on Gentoo for iPAQ hx4700 :-)
А что тебе даст
А что тебе даст ручное написание ебилда в данном случае? Он позволит лишь включить прогу в систему портежей, но если в коде баги - это не спасёт.
Прога старая
Прога твоя написана под древний gcc. Собсно из сих сообщений следует, что тебе надо подправить файл header.h этой проги, 30ую строку. Вместо varargs.h напиши stdarg.h. Но, возможно ещё ошибки компатибилити будут...
Или можно собирать более старым gcc.
а как собирать
а как собирать более старым?
Не помогла эта замена
Теперь пишет вот что:
eddie Ularn # make
cc -c action.c
In file included from action.c:5:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
cc -c bill.c
In file included from bill.c:4:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
bill.c: In function ‘mailbill’:
bill.c:163: warning: incompatible implicit declaration of built-in function ‘exit’
cc -c create.c
In file included from create.c:6:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
cc -c data.c
cc -c diag.c
In file included from diag.c:6:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
cc -c display.c
In file included from display.c:6:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
cc -c fortune.c
In file included from fortune.c:3:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
fortune.c: In function ‘fortune’:
fortune.c:19: warning: conflicting types for built-in function ‘malloc’
cc -c player.c
In file included from player.c:27:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
cc -c help.c
In file included from help.c:4:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
cc -c io.c
In file included from io.c:51:
extern.h:95: warning: conflicting types for built-in function ‘lrint’
io.c: In function ‘lprintf’:
io.c:105: error: expected declaration specifiers before ‘va_dcl’
io.c:113:13: error: macro "va_start" requires 2 arguments, but only 1 given
io.c:233: error: expected declaration specifiers before ‘lprint’
io.c:238: error: ‘x’ undeclared (first use in this function)
io.c:238: error: (Each undeclared identifier is reported only once
io.c:238: error: for each function it appears in.)
io.c: In function ‘init_term’:
io.c:565: warning: conflicting types for built-in function ‘malloc’
io.c:570: warning: incompatible implicit declaration of built-in function ‘exit’
io.c:598: warning: incompatible implicit declaration of built-in function ‘exit’
io.c:610: warning: incompatible implicit declaration of built-in function ‘exit’
io.c:616: warning: incompatible implicit declaration of built-in function ‘exit’
io.c:622: warning: incompatible implicit declaration of built-in function ‘exit’
make: *** [io.o] Ошибка 1
Re: а как собирать
Надо его вначале поставить, явно указав версию. Это не лучший путь.
Лучше:
1. Обратиться к разработчику и объяснить проблему.
2. Постараться самому портировать программу на современный gcc. Если с сями не знаком - можешь дать ссылку на программу, постараюсь дома покопать.
Как конкретно исправить выданные тобою ошибки тяжело сказать без исходников.