Перейти к содержанию

gcc - глюк?


Рекомендуемые сообщения

здрасте! я первый раз на этом форуме.

вобщем, к делу:

недавно я скомпил LFS(www.linuxfromscratch.org). поставил, работает! начал настраивать. все вроде настроил, начал ставить дополнительное ПО, консультируясь с BLFS. поставил там mc и прочее.

все шло как по маслу! никаких ошибок компиляции, все строго по инструкции (ну или почти все.. =) ). далее поставил alsa, mpg123.

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

вчера ночью мне надо было перекомпилить ядро, чтоб подключить пару модулей. пишу make menuconfig, а он мне значит выдает кучу ошибок. и все они оттого, что почему то хидеры в /usr/include не подключаются автоматом. (права доступа в норме, хидеры сами есть).

написал значит следующее:

$ cat foo.c << EOF

#include <stdio.h>

int main() {

fputs("bug?");

return 0;

}

EOF

$ gcc foo.c

gcc: stdio.h not found (или что то вроде того)

$ CPATH=/usr/include gcc foo.c

все в норме. компилит!

начал выискивать, где настраиваются хидеры, включаемые по умолчанию. оказывается это "вшито" в gcc. ладно, забил я на это. надо было ядро перекомпилить срочно:

$ rm foo.c a.out

$ CPATH="..." make menuconfig

, где ... - страндартные пути хидеров (взял из info cpp)

ПИШЕТ ВСЯКУЮ ЧУШЬ!

типа какие то типы не определены (не помню какие, я щас не под линухой).

народ, посоветуйте чо-нить пожалусто! во первых то, что куда-то пропали настройки gcc уже пугает, а то, что ядро не могу скомпилить, это ваще ппц!

не хотелось бы перекомпилировать gcc. в чем может быть дело? я хочу знать, чтобы на те же вилы в будущем не напороться

Ссылка на комментарий
Поделиться на другие сайты

Nailgun писал(а) Mon, 29 January 2007 23:22

$ CPATH=/usr/include gcc foo.c

все в норме. компилит!

А что мешает сделать после этого export CPATH?

Цитата:

$ CPATH="..." make menuconfig

, где ... - страндартные пути хидеров (взял из info cpp)

ПИШЕТ ВСЯКУЮ ЧУШЬ!

Не припомню, чтоб ядро требовало сторонних хедеров.

Ссылка на комментарий
Поделиться на другие сайты

EvilShadow писал(а) Tue, 30 January 2007 00:38

А что мешает сделать после этого export CPATH?

ничо не мешает, вот только это не нормально. CPATH не предназначена для установки системных include директорий. во время компиляции куча варнингов появляется, да и хидеры имеют другой приоритет по сравнению с системным.

EvilShadow писал(а) Tue, 30 January 2007 00:38

Не припомню, чтоб ядро требовало сторонних хедеров.

требует стандартные системные glibc хидеры. на чем ядро написано? на С! как же тут без glibc?..

я решил проблему. у меня GCC непрально скомпилен был. странно, как он до этого все компилировал...

Ссылка на комментарий
Поделиться на другие сайты

Nailgun писал(а) Tue, 30 January 2007 20:08

EvilShadow писал(а) Tue, 30 January 2007 00:38

Не припомню, чтоб ядро требовало сторонних хедеров.

требует стандартные системные glibc хидеры. на чем ядро написано? на С! как же тут без glibc?..

Не вижу связи. Ядро - не прикладное ПО, ему glibc ни к чему. Наоборот, стабильные версии хедеров самого ядра обычно ставятся в /usr/include/linux.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...