Compilation error when building FAM with gcc 3.2

Vassili Dzuba vassilidzuba at nerim.net
Fri Sep 6 13:52:13 PDT 2002


Hello,

I'm currently trying to build a ABLFS profile, and trying to compile the BLFS
packages.

When trying to compile FAM in a chrooted environment build using the current LFS
packages (including gcc3.2)n i obtain the error message :

c++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -DCONFIG_ETC_CONFIG_PATH=\"/usr/etc/fam.conf\"    -g -O2 -c Scheduler.c++
Scheduler.c++:37: uninitialized const member `Scheduler::IOTypeInfo::iotype'
Scheduler.c++:38: uninitialized const member `Scheduler::IOTypeInfo::iotype'
make[2]: *** [Scheduler.o] Error 1
make[2]: Leaving directory `/usr/src/fam-2.6.9/fam'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/fam-2.6.9'
make: *** [all-recursive-am] Error 2


while a compilation on my old LFS using gcc 2.95.3 compiles it without
any error message.

The C++ code seems quite OK, the declaration of Scheduler::IOTypeInfo is :

    struct IOTypeInfo {
	FDInfo::FDIOHandler FDInfo::*const iotype;
	unsigned int nbitsset;		// number of bits set in fds
	fd_set fds;
	IOTypeInfo(FDInfo::FDIOHandler FDInfo::* a_iotype) :
            iotype(a_iotype), nbitsset(0) { FD_ZERO(&fds); }
    };

and the 'erroneous' lines are declarations of class variables :

Scheduler::IOTypeInfo	 Scheduler::read(&FDInfo::read);
Scheduler::IOTypeInfo	 Scheduler::write(&FDInfo::write);

so that, to me, iotype should be initialized by the constructor.

Any advice ? is it a gcc3.2 bug ?

Vassili Dzuba
-- 
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe blfs-dev' in the subject header of the message



More information about the blfs-dev mailing list