[GnomeMeeting-list] gcc errors compiling pwlib and gnomemeeting



Hi all, 
I'm translating gnomemeeting to the dutch language and therefor want to
use the cvs version. 
But I have some problems compiling gnomemeeting. It starts with pwlib. 
I know you don't maintain pwlib/openh323 but maybe someone can help
though: 

I'm using gcc 3.1 (redhat rawhide version) 
It looks to me compiling of pwlib fails because it's not completely c++
compliant (gcc3?). see attachment 

When using pwlib/openh323 RPMs gnomemeeting fails to compile. I think
also because pwlib isn't iso c++ compliant... (see attachment) 

Any hints, thoughts? 

thanks, 
Huib 




make both
set -e; make -C src/ptlib/unix opt; make -C tools/asnparser opt;
make[1]: Binnengaan van map `/home/huib/pwlib/src/ptlib/unix'
g++ -Wall -DP_LINUX -D_REENTRANT -DP_HAS_SEMAPHORES -fPIC -DP_SSL -I/usr/include/include -I/usr/include/crypto -DP_PTHREADS -DPBYTE_ORDER=PLITTLE_ENDIAN -I/home/huib/pwlib/include/ptlib/unix -I/home/huib/pwlib/include -O3 -DNDEBUG  -c ../../ptclib/asner.cxx -o /home/huib/pwlib/lib/obj_linux_x86_r/asner.o
In file included from /usr/include/g++-v3/backward/iostream.h:31,
                 from /home/huib/pwlib/include/ptlib/object.h:282,
                 from /home/huib/pwlib/include/ptlib/contain.h:214,
                 from /home/huib/pwlib/include/ptlib/unix/ptlib/contain.h:112,
                 from /home/huib/pwlib/include/ptlib.h:128,
                 from ../../ptclib/asner.cxx:205:
/usr/include/g++-v3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
In file included from /home/huib/pwlib/include/ptlib/contain.h:753,
                 from /home/huib/pwlib/include/ptlib/unix/ptlib/contain.h:112,
                 from /home/huib/pwlib/include/ptlib.h:128,
                 from ../../ptclib/asner.cxx:205:
/home/huib/pwlib/include/ptlib/pstring.h:1880: ISO C++ forbids declaration of `
   streampos' with no type
/home/huib/pwlib/include/ptlib/pstring.h:1880: `streampos' declared as a 
   `virtual' field
/home/huib/pwlib/include/ptlib/pstring.h:1880: parse error before `(' token
/home/huib/pwlib/include/ptlib/pstring.h: In constructor 
   `PStringStream::PStringStream(int, const PStringStream&)':
/home/huib/pwlib/include/ptlib/pstring.h:1867: no matching function for call to    `std::basic_iostream<char, std::char_traits<char> >::basic_iostream()'
/usr/include/g++-v3/iosfwd:64: candidates are: std::basic_iostream<char, 
   std::char_traits<char> >::basic_iostream(const std::basic_iostream<char, 
   std::char_traits<char> >&)
/usr/include/g++-v3/istream:279:                 std::basic_iostream<_CharT, 
   _Traits>::basic_iostream(std::basic_streambuf<_CharT, _Traits>*) [with 
   _CharT = char, _Traits = std::char_traits<char>]
In file included from /home/huib/pwlib/include/ptlib/unix/ptlib/channel.h:103,
                 from /home/huib/pwlib/include/ptlib.h:217,
                 from ../../ptclib/asner.cxx:205:
/home/huib/pwlib/include/ptlib/channel.h: At global scope:
/home/huib/pwlib/include/ptlib/channel.h:181: ISO C++ forbids declaration of `
   streampos' with no type
/home/huib/pwlib/include/ptlib/channel.h:181: `streampos' declared as a 
   `virtual' field
/home/huib/pwlib/include/ptlib/channel.h:181: parse error before `(' token
In file included from /home/huib/pwlib/include/ptlib.h:265,
                 from ../../ptclib/asner.cxx:205:
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:56:24: localeinfo.h: Onbekend bestand of map
In file included from /home/huib/pwlib/include/ptlib.h:265,
                 from ../../ptclib/asner.cxx:205:
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl: In member function `BOOL 
   PDirectory::IsRoot() const':
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst 
   conversion for the former is better than worst conversion for the latter
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst 
   conversion for the former is better than worst conversion for the latter
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst 
   conversion for the former is better than worst conversion for the latter
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/home/huib/pwlib/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst 
   conversion for the former is better than worst conversion for the latter
In file included from /home/huib/pwlib/include/ptlib.h:266,
                 from ../../ptclib/asner.cxx:205:
/home/huib/pwlib/include/ptlib/osutil.inl: In copy constructor 
   `PChannel::PChannel(const PChannel&)':
/home/huib/pwlib/include/ptlib/osutil.inl:471: no matching function for call to    `std::basic_iostream<char, std::char_traits<char> >::basic_iostream()'
/usr/include/g++-v3/iosfwd:64: candidates are: std::basic_iostream<char, 
   std::char_traits<char> >::basic_iostream(const std::basic_iostream<char, 
   std::char_traits<char> >&)
/usr/include/g++-v3/istream:279:                 std::basic_iostream<_CharT, 
   _Traits>::basic_iostream(std::basic_streambuf<_CharT, _Traits>*) [with 
   _CharT = char, _Traits = std::char_traits<char>]
../../ptclib/asner.cxx: In member function `BOOL 
   PASN_ObjectId::CommonDecode(PASN_Stream&, unsigned int)':
../../ptclib/asner.cxx:1193: choosing `P_PUnsignedArray_PTemplate_Base_Type& 
   PUnsignedArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1193:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1195: choosing `P_PUnsignedArray_PTemplate_Base_Type& 
   PUnsignedArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1195:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1196: choosing `P_PUnsignedArray_PTemplate_Base_Type& 
   PUnsignedArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1196:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1199: choosing `P_PUnsignedArray_PTemplate_Base_Type& 
   PUnsignedArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1199:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1200: choosing `P_PUnsignedArray_PTemplate_Base_Type& 
   PUnsignedArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1200:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1203: choosing `P_PUnsignedArray_PTemplate_Base_Type& 
   PUnsignedArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1203:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1204: choosing `P_PUnsignedArray_PTemplate_Base_Type& 
   PUnsignedArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1204:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx: In member function `BOOL 
   PASN_BitString::DecodePER(PPER_Stream&)':
../../ptclib/asner.cxx:1536: choosing `P_PBYTEArray_PTemplate_Base_Type& 
   PBYTEArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1536:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1542: choosing `P_PBYTEArray_PTemplate_Base_Type& 
   PBYTEArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1542:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1547: choosing `P_PBYTEArray_PTemplate_Base_Type& 
   PBYTEArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1547:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx: In member function `void 
   PASN_BitString::EncodePER(PPER_Stream&) const':
../../ptclib/asner.cxx:1566: choosing `P_PBYTEArray_PTemplate_Base_Type 
   PBYTEArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:1566:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1568: choosing `P_PBYTEArray_PTemplate_Base_Type 
   PBYTEArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:1568:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1569: choosing `P_PBYTEArray_PTemplate_Base_Type 
   PBYTEArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:1569:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx: In member function `BOOL 
   PASN_OctetString::DecodePER(PPER_Stream&)':
../../ptclib/asner.cxx:1833: choosing `P_PBYTEArray_PTemplate_Base_Type& 
   PBYTEArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1833:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1839: choosing `P_PBYTEArray_PTemplate_Base_Type& 
   PBYTEArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1839:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1842: choosing `P_PBYTEArray_PTemplate_Base_Type& 
   PBYTEArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1842:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx: In member function `void 
   PASN_OctetString::EncodePER(PPER_Stream&) const':
../../ptclib/asner.cxx:1865: choosing `P_PBYTEArray_PTemplate_Base_Type 
   PBYTEArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:1865:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1869: choosing `P_PBYTEArray_PTemplate_Base_Type 
   PBYTEArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:1869:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:1870: choosing `P_PBYTEArray_PTemplate_Base_Type 
   PBYTEArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:1870:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx: In member function `PASN_ConstrainedString& 
   PASN_ConstrainedString::operator=(const char*)':
../../ptclib/asner.cxx:1959: choosing `P_PCharArray_PTemplate_Base_Type& 
   PCharArray_PTemplate::operator[](unsigned int)' over `operator[]'
../../ptclib/asner.cxx:1959:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx: In member function `PTime 
   PASN_GeneralisedTime::GetValue() const':
../../ptclib/asner.cxx:2635: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2635:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2635: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2635:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2637: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2637:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2637: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2637:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2641: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2641:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2641: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2641:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2647: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2647:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2647: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2647:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx: In member function `PTime 
   PASN_UniversalTime::GetValue() const':
../../ptclib/asner.cxx:2686: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2686:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2686: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2686:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2692: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2692:   because worst conversion for the former is 
   better than worst conversion for the latter
../../ptclib/asner.cxx:2692: choosing `P_PCharArray_PTemplate_Base_Type 
   PCharArray_PTemplate::operator[](unsigned int) const' over `operator[]'
../../ptclib/asner.cxx:2692:   because worst conversion for the former is 
   better than worst conversion for the latter
make[1]: *** [/home/huib/pwlib/lib/obj_linux_x86_r/asner.o] Fout 1
make[1]: Weggaan uit map `/home/huib/pwlib/src/ptlib/unix'
make: *** [opt] Fout 2
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/ptlib/unix -I/usr/include/ptlib/.. -I/usr/include/ptlib/../ptclib -I/usr/include  -I/usr/include/openh323 -I/usr/include/openssl -DP_LINUX -D_REENTRANT -DP_HAS_SEMAPHORES -DP_PTHREADS -DPBYTE_ORDER=PLITTLE_ENDIAN -DHAS_OSS -O2 -Wall  -I/usr/include/gdk-pixbuf-1.0 -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gconf/1 -I/usr/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -DGNOMELOCALEDIR=\""/usr/share/locale"\" -I../src -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include -DGNOMEMEETING_IMAGES=\""/usr/share/pixmaps"\"  -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include  -g -O2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -c -o callbacks.o `test -f callbacks.cpp || echo './'`callbacks.cpp
cc1plus: warning: changing search order for system directory "/usr/include"
cc1plus: warning:   as it has already been specified as a non-system directory
In file included from /usr/include/g++-v3/backward/iostream.h:31,
                 from /usr/include/ptlib/object.h:282,
                 from /usr/include/ptlib/contain.h:214,
                 from /usr/include/ptlib/unix/ptlib/contain.h:112,
                 from /usr/include/ptlib.h:125,
                 from gnomemeeting.h:33,
                 from callbacks.cpp:34:
/usr/include/g++-v3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
In file included from /usr/include/ptlib/contain.h:753,
                 from /usr/include/ptlib/unix/ptlib/contain.h:112,
                 from /usr/include/ptlib.h:125,
                 from gnomemeeting.h:33,
                 from callbacks.cpp:34:
/usr/include/ptlib/pstring.h:1876: ISO C++ forbids declaration of `streampos' 
   with no type
/usr/include/ptlib/pstring.h:1876: `streampos' declared as a `virtual' field
/usr/include/ptlib/pstring.h:1876: parse error before `(' token
/usr/include/ptlib/pstring.h: In constructor `PStringStream::PStringStream(int, 
   const PStringStream&)':
/usr/include/ptlib/pstring.h:1863: no matching function for call to `
   std::basic_iostream<char, std::char_traits<char> >::basic_iostream()'
/usr/include/g++-v3/iosfwd:64: candidates are: std::basic_iostream<char, 
   std::char_traits<char> >::basic_iostream(const std::basic_iostream<char, 
   std::char_traits<char> >&)
/usr/include/g++-v3/istream:279:                 std::basic_iostream<_CharT, 
   _Traits>::basic_iostream(std::basic_streambuf<_CharT, _Traits>*) [with 
   _CharT = char, _Traits = std::char_traits<char>]
In file included from /usr/include/ptlib/unix/ptlib/channel.h:99,
                 from /usr/include/ptlib.h:214,
                 from gnomemeeting.h:33,
                 from callbacks.cpp:34:
/usr/include/ptlib/channel.h: At global scope:
/usr/include/ptlib/channel.h:181: ISO C++ forbids declaration of `streampos' 
   with no type
/usr/include/ptlib/channel.h:181: `streampos' declared as a `virtual' field
/usr/include/ptlib/channel.h:181: parse error before `(' token
In file included from /usr/include/ptlib.h:268,
                 from gnomemeeting.h:33,
                 from callbacks.cpp:34:
/usr/include/ptlib/unix/ptlib/ptlib.inl:56:24: localeinfo.h: Onbekend bestand of map
In file included from /usr/include/ptlib.h:268,
                 from gnomemeeting.h:33,
                 from callbacks.cpp:34:
/usr/include/ptlib/unix/ptlib/ptlib.inl: In member function `BOOL 
   PDirectory::IsRoot() const':
/usr/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/usr/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst conversion for the 
   former is better than worst conversion for the latter
/usr/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/usr/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst conversion for the 
   former is better than worst conversion for the latter
/usr/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/usr/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst conversion for the 
   former is better than worst conversion for the latter
/usr/include/ptlib/unix/ptlib/ptlib.inl:86: choosing `
   P_PCharArray_PTemplate_Base_Type PCharArray_PTemplate::operator[](unsigned 
   int) const' over `operator[]'
/usr/include/ptlib/unix/ptlib/ptlib.inl:86:   because worst conversion for the 
   former is better than worst conversion for the latter
In file included from /usr/include/ptlib.h:269,
                 from gnomemeeting.h:33,
                 from callbacks.cpp:34:
/usr/include/ptlib/osutil.inl: In copy constructor `PChannel::PChannel(const 
   PChannel&)':
/usr/include/ptlib/osutil.inl:468: no matching function for call to `
   std::basic_iostream<char, std::char_traits<char> >::basic_iostream()'
/usr/include/g++-v3/iosfwd:64: candidates are: std::basic_iostream<char, 
   std::char_traits<char> >::basic_iostream(const std::basic_iostream<char, 
   std::char_traits<char> >&)
/usr/include/g++-v3/istream:279:                 std::basic_iostream<_CharT, 
   _Traits>::basic_iostream(std::basic_streambuf<_CharT, _Traits>*) [with 
   _CharT = char, _Traits = std::char_traits<char>]
make[2]: *** [callbacks.o] Fout 1
make[2]: Weggaan uit map `/home/huib/gnomemeeting/src'
make[1]: *** [all-recursive] Fout 1
make[1]: Weggaan uit map `/home/huib/gnomemeeting'
make: *** [all] Fout 2


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]