LINUX.ORG.RU
решено ФорумAdmin

CentOS, древний GCC 4.1.2, вообще левые *.h файлы...


0

1

Довелось мне за прошедший месяц испытать все радости разработки на Си. Софт написан, органзим измучан, пришло время сборки на сервере. В моей системе все собирается без единого варнинга, -Wall в теме.

Ставить софт нужно на сервер под CentOS 5.7. В ней есть gcc 4.1.2, это последняя версия в репах.

Проблема: При поптыке сборки программы получаю огромный высер от gcc с сообщениями типа:

In file included from /usr/include/pthread.h:24,
                 from app_logger.h:15,
                 from app_rssfeed.c:9:
/usr/include/sched.h:41: ошибка: класс хранения в декларации параметра ‘sched_setparam’
/usr/include/sched.h:44: ошибка: класс хранения в декларации параметра ‘sched_getparam’
/usr/include/sched.h:48: ошибка: класс хранения в декларации параметра ‘sched_setscheduler’
/usr/include/sched.h:51: ошибка: класс хранения в декларации параметра ‘sched_getscheduler’
/usr/include/sched.h:54: ошибка: класс хранения в декларации параметра ‘sched_yield’

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

Может кто сталкивался?


[~]$ yum info gcc44
Loaded plugins: downloadonly, fastestmirror, kernel-module
Available Packages
Name       : gcc44
Arch       : i386
Version    : 4.4.4
Release    : 13.el5
Size       : 9.5 M
Repo       : sl-base
Summary    : Preview of GCC version 4.4
URL        : http://gcc.gnu.org
License    : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
Description: The gcc44 package contains preview of the GNU Compiler Collection
           : version 4.4.

Хотя надо сказать что это SL

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

Пробовал, тоже самое. Такое ощущение, что именно содержимое /usr/include, которое относится к стандартной библиотеке, как - то криво там лежит.

Вот что выдал gcc44: [code] /usr/include/glib/gmem.h:47: ошибка: старый стиль деклараций параметров в определении функции с прототипом [/code]

Seraph
() автор топика
Ответ на: комментарий от AptGet

Это glib-2.0, в программе используется либа, она установлена. Примечательно, что gcc в моей системе успешно ее переваривает.

Seraph
() автор топика
Ответ на: комментарий от AptGet

=) Хотелось бы. Вобщем в хедерах glib-2.0 есть такие инклуды:

#include <glib/***.h>
*** - любой хедер из glib-2.0/glib

Чтобы компилято смог достучаться до этих хедеров я создал в /usr/include симлинк glib на glib-2.0/glib.

Seraph
() автор топика

hello world собирается?

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

Чтобы компилято смог достучаться до этих хедеров я создал в /usr/include симлинк glib на glib-2.0/glib.

все с ТС ясно - расходимся

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

Чтобы компилято смог достучаться до этих хедеров я создал в /usr/include симлинк glib на glib-2.0/glib.

Странный способ.

[~]$ pkg-config --cflags glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  
AptGet ★★★
()
Ответ на: комментарий от anonymous

Блин, ну простите, правда уже плевать на все, главное чтобы завелось)))

Seraph
() автор топика
Ответ на: комментарий от d_a

Специальное спасибо Вам уважаемый! Вы навели меня на нужное место. Перекодировка исходников в cp1251 спасла отца русской демократии..

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

Перекодировка исходников в cp1251

make me unsee this

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

Четко наврал я))) Простите, не спал давно. Все решилось этим флагом: -std=C99 Учится мне еще и учится...

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