Code::Blocks Forums

User forums => Help => Topic started by: MortenMacFly on July 07, 2006, 01:15:27 pm

Title: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 01:15:27 pm
...I'm lost. I've already fixed a missing include but now I receive the following error:
Code
compilercommandgenerator.cpp: In member function `virtual void 
   CompilerCommandGenerator::DoBuildScripts(CompileOptionsBase*, const
   wxString&)':
compilercommandgenerator.cpp:258: error: no matching function for call to `
   SqPlus::SquirrelFunction<void>::SquirrelFunction(const wxString&)'
../../src/sdk/scripting/sqplus/sqplus.h:1523: error: candidates are:
   SqPlus::SquirrelFunction<void>::SquirrelFunction(const
   SqPlus::SquirrelFunction<void>&)
../../src/sdk/scripting/sqplus/sqplus.h:1535: error:                 
   SqPlus::SquirrelFunction<RT>::SquirrelFunction(const SQChar*) [with RT =
   void]
../../src/sdk/scripting/sqplus/sqplus.h:1530: error:                 
   SqPlus::SquirrelFunction<RT>::SquirrelFunction(const SquirrelObject&, const
   SQChar*) [with RT = void]
../../src/sdk/scripting/sqplus/sqplus.h:1529: error:                 
   SqPlus::SquirrelFunction<RT>::SquirrelFunction(const SquirrelObject&, const
   SquirrelObject&) [with RT = void]
../../src/sdk/scripting/sqplus/sqplus.h:1528: error:                 
   SqPlus::SquirrelFunction<RT>::SquirrelFunction(SQVM*, const SquirrelObject&,
   const SquirrelObject&) [with RT = void]
../../src/sdk/scripting/sqplus/sqplus.h:1527: error:                 
   SqPlus::SquirrelFunction<RT>::SquirrelFunction() [with RT = void]
compilercommandgenerator.cpp:258: error: invalid declarator
make[4]: *** [compilercommandgenerator.lo] Error 1
make[4]: Leaving directory `/home/ftmh/projects/codeblocks/src/sdk'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/ftmh/projects/codeblocks/src/sdk'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ftmh/projects/codeblocks/src/sdk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ftmh/projects/codeblocks/src'
make: *** [all-recursive] Error 1
I think it is not related to http://forums.codeblocks.org/index.php?topic=3481.0 (http://forums.codeblocks.org/index.php?topic=3481.0)... but I'm not sure. Any hint?

My configuration: SuSE Linux 9.3 (AMD64), gcc (GCC) 3.3.5 20050117 (prerelease) -> no PCH support.

With regards, Morten.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: mandrav on July 07, 2006, 01:57:12 pm
Try replacing #include <sqplus.h> in that file with


#include "scripting/bindings/sc_base_types.h"
#include "scripting/sqplus/sqplus.h"


If it works, don't commit this. I 'm in the process of cleaning up all the SDK files.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: Der Meister on July 07, 2006, 02:20:05 pm
Doesn't work with gcc 3.3.6 on my gentoo. I get the same error as Morton if I replace #include <sqplus.h>.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 02:39:06 pm
Try replacing #include <sqplus.h> in that file with
Nope, doesn't change anything. Anyway, are you aware that for a header-include-cleanup you can nicely use the SDK documenation?! I've added the option to include such graphs on purpose...
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: mandrav on July 07, 2006, 02:47:42 pm
OK, I got it.
Change line 259 from:
Code
SqPlus::SquirrelFunction<void>(cbU2C(funcName))(base);

to:

Code
SqPlus::SquirrelFunction<void> f(cbU2C(funcName));
f(base);

The compiler is choking, it seems...
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 02:54:36 pm
Change line 259 from: [...]
Yes, that was it. I've also changed back the include because this seems more clean.
Compilation continues, after it finished I would commit the changes I've done concerning non-precompiled headers support?! Ok?!
With regards, Morten.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: mandrav on July 07, 2006, 03:04:46 pm
OK then.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 03:23:03 pm
[...] I would commit the changes I've done concerning non-precompiled headers support?!
O dear, these are quite some... when was the last tiome somebody tried to compile C::B without precomp support?! ;-)

Ps.: I'm still in the process of compiling...
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: Der Meister on July 07, 2006, 03:23:43 pm
Just a week ago. But in this week there were a lot of changes. ;)
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: mandrav on July 07, 2006, 03:32:36 pm
[...] I would commit the changes I've done concerning non-precompiled headers support?!
O dear, these are quite some... when was the last tiome somebody tried to compile C::B without precomp support?! ;-)

Ps.: I'm still in the process of compiling...

You might want to update first. I commited a huge patch (cleaning up #includes in SDK). :)
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 03:57:20 pm
You might want to update first. I commited a huge patch (cleaning up #includes in SDK). :)
Ok, I did this and started over again (:roll: my fault - you've warned me), but still: there are quite some... we'll see if I can finish this today here at work...
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: TheTuxKeeper on July 07, 2006, 04:15:49 pm
Strange, just few hours ago I decided to try to build cb without pch  :shock:

I tried to build rev2705 and got few errors (FC4 and gcc 4.0.1). Now I try to build rev2708 and post the errors, if there are any. :)

Here's a short error summary of rev2708 till now (will post the whole error log later):
Code
daniel@linux:~> cat /mnt/daten/daniel/codeblocks-nightlybuilds.log | grep Error
make[5]: [scriptbindings.lo] Error 1 (ignored)
make[5]: [sc_consts.lo] Error 1 (ignored)
make[5]: [sc_globals.lo] Error 1 (ignored)
make[5]: [sc_wxtypes.lo] Error 1 (ignored)
make[5]: [sc_io.lo] Error 1 (ignored)
make[5]: [libsqbindings.la] Error 1 (ignored)
make[4]: [annoyingdialog.lo] Error 1 (ignored)
make[4]: [autodetectcompilers.lo] Error 1 (ignored)
make[4]: [cbeditor.lo] Error 1 (ignored)
make[4]: [cbplugin.lo] Error 1 (ignored)
make[4]: [cbproject.lo] Error 1 (ignored)
make[4]: [compilercommandgenerator.lo] Error 1 (ignored)
make[4]: [compilerfactory.lo] Error 1 (ignored)
make[4]: [compiletargetbase.lo] Error 1 (ignored)
make[4]: [configmanager.lo] Error 1 (ignored)
make[4]: [configmanager-revision.lo] Error 1 (ignored)
make[4]: [devcpploader.lo] Error 1 (ignored)
make[4]: [editkeywordsdlg.lo] Error 1 (ignored)
make[4]: [editorbase.lo] Error 1 (ignored)
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 04:25:11 pm
Here's a short error summary of rev2708 till now (will post the whole error log later):
I'm still here... comping and fixing... give some time and it'll work again...
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: TheTuxKeeper on July 07, 2006, 04:51:58 pm
I'm still here... comping and fixing... give some time and it'll work again...
8)
I'll wait for your commit(s) and then build it again :D

btw. I don't want to hurry you, take your time ;)
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: Der Meister on July 07, 2006, 04:52:26 pm
You might want to update first. I commited a huge patch (cleaning up #includes in SDK). :)
Your change in src/sdk/compilerfactory.h broke src/plugins/projectwizard/wiz.cpp as it now doesn't have a declaration of the type 'Compiler' any more. This patch solves this problem:
Code
Index: src/plugins/projectwizard/wiz.cpp
===================================================================
--- src/plugins/projectwizard/wiz.cpp   (revision 2708)
+++ src/plugins/projectwizard/wiz.cpp   (working copy)
@@ -30,6 +30,7 @@
 #include <compilerfactory.h>
 #include <projectbuildtarget.h>
 #include <filefilters.h>
+#include <compiler.h>
 #include <licenses.h> // defines some common licenses (like the GPL)
 
 #include <scripting/bindings/sc_base_types.h>
[/quote]
Note: This problem is *not* specific to gcc 3.3.x. It appeared here while compiling with gcc 3.4.6.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 04:59:35 pm
...oh dear oh dear... I'm still here... this is annoying. but I'm getting closer and closer... be prepared... ;-)

Edit: mandrav: If you read this: Could you wait with further commits until I finished this? I won't do it all again... :lol:
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: mandrav on July 07, 2006, 05:04:54 pm
You might want to update first. I commited a huge patch (cleaning up #includes in SDK). :)
Your change in src/sdk/compilerfactory.h broke src/plugins/projectwizard/wiz.cpp as it now doesn't have a declaration of the type 'Compiler' any more. This patch solves this problem:

I know some things broke. Morten is working on this right now.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: mandrav on July 07, 2006, 05:05:50 pm
Edit: mandrav: If you read this: Could you wait with further commits until I finished this? I won't do it all again... :lol:

Oh no!
/me pretends he didn't read this  :lol:
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 05:15:17 pm
Oh no!
/me pretends he didn't read this  :lol:
Well, this time it was no conflicts *phew!*. Anyway, I've decided to split this commit into sub-parts... the first one is already over, on Linux the libcodeblocks.a compiles again... more to come...
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 05:23:36 pm
Well, here I need a little help:
I receive the following error:
Code
scriptconsole.cpp: In function `void ScriptConsolePrintFunc(SQVM*, const 
   SQChar*, ...)':
scriptconsole.cpp:26: error: `InjectScriptOutput' undeclared (first use this
   function)
scriptconsole.cpp:26: error: (Each undeclared identifier is reported only once
   for each function it appears in.)
scriptconsole.cpp: In member function `void
   ScriptConsole::OnbtnExecuteClick(wxCommandEvent&)':
scriptconsole.cpp:113: error: `LoadBuffer' undeclared (first use this function)
scriptconsole.cpp:116: error: `GetErrorString' undeclared (first use this
   function)
scriptconsole.cpp: In member function `void
   ScriptConsole::OnbtnLoadClick(wxCommandEvent&)':
scriptconsole.cpp:132: error: `LoadScript' undeclared (first use this function)
scriptconsole.cpp:139: error: `GetErrorString' undeclared (first use this
   function)
make[3]: *** [scriptconsole.o] Error 1
make[3]: Leaving directory `/home/ftmh/projects/codeblocks/src/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/ftmh/projects/codeblocks/src/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ftmh/projects/codeblocks/src'
make: *** [all-recursive] Error 1
...allthouh I have defined:
Code
#ifndef CB_PRECOMP
    #include <globals.h>
    #include <manager.h>
    #include <configmanager.h>
    #include <scriptingmanager.h>
#endif
...any hints?!
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 05:31:53 pm
...any hints?!
...forget about this one. I was editing the wrong file. :?
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: MortenMacFly on July 07, 2006, 06:21:48 pm
OK, I'm done - all is in SVN. C::B compiles again fully with a compiler without PCH support. I cannot do intensive testing, however - normally these changes shouldn't do any harm.
With regards, Morten.
Title: Re: Cannot compile R2706 under SuSE Linux 9.3 (AMD64)
Post by: TheTuxKeeper on July 07, 2006, 07:48:55 pm
I've still an error. But it only appears if I don't use pch and as it compiles on suse 9.3 it seems to be a gcc4 related error (the error message also say something is deprecated). I'll start a new thread for this when I have a complete error log.

@MortenMacFly: Thanks for fixing the other errors :D