From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Content-Type: text/plain; charset="koi8-r" From: Dmitry Samoyloff To: mandrake-russian@altlinux.ru Subject: Re: [mdk-re] Re: [mdk-re] include_next, kdevelop =?koi8-r?q?=C9=20=D7=D3=20=C5=20=D4=C1=CB=CF=C5?= X-Mailer: KMail [version 1.2] References: <01042902210603.01698@localhost.localdomain> <20010430110915.A2259@boids.avilink.net> <20010430124809.783c4cf1.vsu@mivlgu.murom.ru> In-Reply-To: <20010430124809.783c4cf1.vsu@mivlgu.murom.ru> MIME-Version: 1.0 Message-Id: <01050107065800.07703@localhost.localdomain> Content-Transfer-Encoding: 8bit Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Thu May 3 12:30:09 2001 X-Original-Date: Tue, 1 May 2001 07:06:58 +0400 Archived-At: List-Archive: List-Post: 30 Апрель 2001 12:48, Sergey Vlasov wrote: > On Mon, 30 Apr 2001 11:09:16 +0300 > > Alexander Bokovoy wrote: > > On Mon, Apr 30, 2001 at 05:49:43AM +0400, Dmitry Samoyloff wrote: > > > 29 Апрель 2001 12:06, Sergey Vlasov wrote: > > > > On Sun, 29 Apr 2001 02:21:06 +0400 > > > > > > > > Dmitry Samoyloff wrote: > > > > > Здравствуйте! > > > > > > > > > > Извиняйте за оффтопик, но это появилось после установки Spring и > > > > кто-то, > > > > > > > может быть, знает в чем дело. Во-первых, мой Qt/KDE-проект стал > > > > выдавать > > > > > > > такие вот warnings: > > > > > > > > > > In file included from /usr/lib/qt2/include/qwindowdefs.h:48, > > > > > <...> > > > > > /usr/include/limits.h:124:3: warning: ISO C does not allow > > > > #include_next > > > > > > > В /usr/include/limits.h написано следующее: > > > > > > > > > > #if defined __GNUC__ && !defined _GCC_LIMITS_H_ > > > > > /* `_GCC_LIMITS_H_' is what GCC's file defines. */ > > > > > # include_next > > > > > > > > > > Думаю, что-то надо подкрутить в configure.in или где-то рядом :-) > > > > > Помогите > > > > > pls, а то в проекте полсотни исходных файлов -- и почти каждый > > > > ругается, > > > > > > > ужас > > > > > просто! > > > > > > > > А с какими ключами вызывается компилятор? Похоже, что это виновата > > > > комбинация -ansi -pedantic c -I/usr/include. Кстати, надо бы найти, > > > > откуда > > > > > > берется -I/usr/include, и выкорчевать - даже в info gcc написано, > > > > что эта > > > > > > опция может вызывать глюки. > > > > > > Спасибо, что откликнулись на мой вопрос! > > > Опции такие: > > > g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/usr/lib/qt2/include > > > -I/usr/X11R6/include -O2 -fno-exceptions -fno-check-new -Wall > > > > -pedantic > > > > > -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long > > > -fno-builtin -O0 -g3 -Wall -c file.cpp > > > > > > Значит, нужно попробовать убрать -pedantic и -I/usr/include (странно, > > > > кстати, > > > > > такой ведь безобидный ключик). Только вот эти опции генерятся > > > > автоматически > > > > > из Makefile.am, а что в нем подправить -- не знаю :( Буду очень > > > > признателен > > > > > за подсказку. > > > > -I/usr/include является отнюдь не безобидным ключем, ведь он вносит > > /usr/include в список директорий для поиска пользовательских файлов > > заголовков, причем в самое начало этого списка. Тем самым, Вы > > заставляете > > компилятор игнорировать, например, foo.h в /usr/lib/qt2/include, > > если он есть в /usr/include. > > В данном случае проблема не в таком конфликте, а в файлах из каталога > /usr/lib/gcc-lib/i586-mandrake-linux/2.96/include/. Например, там есть > limits.h от компилятора, а в /usr/include - от glibc, и они друг друга > включают через #include_next. Но при обработке файлов из gcc-lib > расширения gcc разрешены даже при использовании -pedantic, а в > /usr/include возникает ругань. > > А вообще с -I/usr/include у меня были серьезные проблемы, когда цеплялся > не тот db.h, который был нужен. > > И, кстати, подобная ошибка встречается во многих местах: > > $ gnome-config --cflags gnome > -I/usr/include -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include > -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include > -I/usr/X11R6/include > $ rpm -qf `which gnome-config` > gnome-libs-devel-1.2.11-ipl4mdk > $ gtkmm-config --cflags > -I/usr/lib/gtkmm/include -I/usr/include -I/usr/lib/glib/include > -I/usr/X11R6/include -I/usr/lib/sigc++/include > $ rpm -qf `which gtkmm-config` > gtkmm-devel-1.2.5-ipl1mdk > $ sane-config --cflags > -I/usr/include > $ rpm -qf `which sane-config` > sane-1.0.4-ipl1mdk > > Так что возможностей нацеплять -I/usr/include хоть отбавляй. Спасибо, я узнал много нового! Но вот как мне повлиять на ситуацию (через Makefile.am?) я не знаю :( Подскажите, пожалуйста. То есть, как сгенерить нужные опции? С уважением, Дмитрий Самойлов