Bug #8140 2006-07-19 20:18

tdb

Fails to build on Linux

I'm been unable to compile Code::Blocks on Linux for several weeks.  The first revision where I noticed this was r2699, and the latest one r2772 (which I just checked out).  I'm using Debian unstable with GCC 4.1.  I tried to figure out the problem myself, but without much success due to not being familiar with the code.  Below is the output concerning the failed file.  I can provide full output if needed.

make[6]: Entering directory `/home/tdb/src/codeblocks/codeblocks-1.0+svn2772/src/sdk/scripting/bindings'
if /bin/sh ../../../../libtool --tag=CXX --mode=compile i486-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src/sdk -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA   -I../../../../src/sdk -I../../../../src/sdk/wxscintilla/include -I../../../../src/sdk/scripting/include -I../../../../src/sdk/scripting/sqplus    -O2 -ffast-math -g -O2 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -MT scriptbindings.lo -MD -MP -MF ".deps/scriptbindings.Tpo" -c -o scriptbindings.lo scriptbindings.cpp; \
        then mv -f ".deps/scriptbindings.Tpo" ".deps/scriptbindings.Plo"; else rm -f ".deps/scriptbindings.Tpo"; exit 1; fi
mkdir .libs
 i486-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src/sdk -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -I../../../../src/sdk -I../../../../src/sdk/wxscintilla/include -I../../../../src/sdk/scripting/include -I../../../../src/sdk/scripting/sqplus -O2 -ffast-math -g -O2 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -MT scriptbindings.lo -MD -MP -MF .deps/scriptbindings.Tpo -c scriptbindings.cpp  -fPIC -DPIC -o .libs/scriptbindings.o
../../../../src/sdk/scripting/sqplus/SqPlusConst.h: In static member function ‘static int SqPlus::ReturnSpecialization<RT>::Call(Callee&, RT (Callee::*)()const, SQVM*, int) [with Callee = CompileOptionsBase, RT = const wxArrayString&]’:
../../../../src/sdk/scripting/sqplus/SqPlusConst.h:281:   instantiated from ‘int SqPlus::Call(Callee&, RT (Callee::*)()const, SQVM*, int) [with Callee = CompileOptionsBase, RT = const wxArrayString&]’
../../../../src/sdk/scripting/sqplus/sqplus.h:1315:   instantiated from ‘static SQInteger SqPlus::DirectCallInstanceMemberFunction<Callee, Func>::Dispatch(SQVM*) [with Callee = CompileOptionsBase, Func = const wxArrayString& (CompileOptionsBase::*)()const]’
../../../../src/sdk/scripting/sqplus/sqplus.h:1383:   instantiated from ‘void SqPlus::sq_pushdirectinstanceclosure(SQVM*, const Callee&, Func, SQUnsignedInteger) [with Callee = CompileOptionsBase, Func = const wxArrayString& (CompileOptionsBase::*)()const]’
../../../../src/sdk/scripting/sqplus/sqplus.h:1467:   instantiated from ‘void SqPlus::RegisterInstance(SQVM*, HSQOBJECT, Callee&, Func, const SQChar*) [with Callee = CompileOptionsBase, Func = const wxArrayString& (CompileOptionsBase::*)()const]’
../../../../src/sdk/scripting/sqplus/sqplus.h:1817:   instantiated from ‘SqPlus::SQClassDef<TClassType>& SqPlus::SQClassDef<TClassType>::func(Func, const SQChar*) [with Func = const wxArrayString& (CompileOptionsBase::*)()const, TClassType = CompileOptionsBase]’
scriptbindings.cpp:337:   instantiated from here
../../../../src/sdk/scripting/sqplus/SqPlusConst.h:46: error: no matching function for call to ‘Push(SQVM*&, const wxArrayString&)’
../../../../src/sdk/scripting/sqplus/sqplus.h:595: note: candidates are: void SqPlus::Push(SQVM*, char)
../../../../src/sdk/scripting/sqplus/sqplus.h:596: note:                 void SqPlus::Push(SQVM*, unsigned char)
../../../../src/sdk/scripting/sqplus/sqplus.h:597: note:                 void SqPlus::Push(SQVM*, short int)
../../../../src/sdk/scripting/sqplus/sqplus.h:598: note:                 void SqPlus::Push(SQVM*, short unsigned int)
../../../../src/sdk/scripting/sqplus/sqplus.h:599: note:                 void SqPlus::Push(SQVM*, int)
../../../../src/sdk/scripting/sqplus/sqplus.h:600: note:                 void SqPlus::Push(SQVM*, unsigned int)
../../../../src/sdk/scripting/sqplus/sqplus.h:601: note:                 void SqPlus::Push(SQVM*, long int)
../../../../src/sdk/scripting/sqplus/sqplus.h:602: note:                 void SqPlus::Push(SQVM*, long unsigned int)
../../../../src/sdk/scripting/sqplus/sqplus.h:603: note:                 void SqPlus::Push(SQVM*, double)
../../../../src/sdk/scripting/sqplus/sqplus.h:604: note:                 void SqPlus::Push(SQVM*, float)
../../../../src/sdk/scripting/sqplus/sqplus.h:605: note:                 void SqPlus::Push(SQVM*, const SQChar*)
../../../../src/sdk/scripting/sqplus/sqplus.h:606: note:                 void SqPlus::Push(SQVM*, const SqPlus::SquirrelNull&)
../../../../src/sdk/scripting/sqplus/sqplus.h:607: note:                 void SqPlus::Push(SQVM*, SQInteger (*)(SQVM*))
../../../../src/sdk/scripting/sqplus/sqplus.h:608: note:                 void SqPlus::Push(SQVM*, SqPlus::SQAnything*)
../../../../src/sdk/scripting/sqplus/sqplus.h:609: note:                 void SqPlus::Push(SQVM*, SquirrelObject&)
../../../../src/sdk/scripting/sqplus/sqplus.h:618: note:                 void SqPlus::Push(SQVM*, bool)
../../../../src/sdk/scripting/sqplus/sqplus.h:619: note:                 void SqPlus::Push(SQVM*, const void*)
../../../../src/sdk/scripting/sqplus/sqplus.h:620: note:                 void SqPlus::Push(SQVM*, void* const&)
make[6]: *** [scriptbindings.lo] Error 1
Category
 
Group
 
Status
Closed
Close date
2006-09-08 11:06
Assigned to
 
czarny 2006-07-21 10:27

Confirmed

PLD Linux

[czarny@kacper SPECS]$ gcc -v

Reading specs from /usr/lib/gcc/i686-pld-linux/4.1.2/specs

Target: i686-pld-linux

Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --libdir=/usr/lib --libexecdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --x-libraries=/usr/lib --enable-shared --enable-threads=posix --enable-languages=c,c++,fortran,objc,obj-c++,ada,java --enable-c99 --enable-long-long --disable-multilib --enable-nls --disable-werror --with-gnu-as --with-gnu-ld --with-demangler-in-ld --with-system-zlib --with-slibdir=/lib --without-system-libunwind --enable-cmath --with-long-double-128 --with-gxx-include-dir=/usr/include/c++/4.1.2 --disable-libstdcxx-pch --enable-__cxa_atexit --enable-libstdcxx-allocator=new --with-qt4dir=/usr/lib/qt4 --disable-libjava-multilib --enable-libgcj --enable-libgcj-multifile --enable-libgcj-database --enable-gtk-cairo --enable-java-awt=qt,gtk,xlib --enable-jni --enable-xmlj --enable-alsa --enable-dssi i686-pld-linux

Thread model: posix

gcc version 4.1.2 20060712 (prerelease) (PLD-Linux)

[czarny@kacper SPECS]$ uname -r

2.6.16.22-2

killerbot 2006-07-21 17:25

It seems this is a bug in the GCC 4.1.x. Other gcc versions (3.4.x 4.0.x) do it correctly.

Solution : downgrade your gcc, I am suffering the same problem, but still need to find out first how to downgrade my GCC.

horakdan 2006-07-25 12:15

please see a patch at bug 008132, it is taken from CB forums

mandrav 2006-09-08 11:06

This bug has been already fixed in HEAD.

Thank you.