Code::Blocks Forums

User forums => Help => Topic started by: Michael on July 05, 2006, 03:51:47 pm

Title: Errors building C::B rev2688
Post by: Michael on July 05, 2006, 03:51:47 pm
Hello,

Moe than the extra-qualification error, I am also getting the following errors when building on Windows XP C::B rev2688 with wxWidgets 2.6.3 Patch 2 and GCC 4.1.1:

Quote
sdk/scripting/sqplus/SqPlusConst.h:281:   instantiated from 'int SqPlus::Call(Callee&, RT (Callee::*)()const, SQVM*, int) [with Callee = CompileOptionsBase, RT = const wxArrayString&]'
sdk/scripting/sqplus/sqplus.h:1315:   instantiated from 'static SQInteger SqPlus::DirectCallInstanceMemberFunction<Callee, Func>::Dispatch(SQVM*) [with Callee = CompileOptionsBase, Func = const wxArrayString& (CompileOptionsBase::*)()const]'
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]'
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]'
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]'
sdk\scripting\bindings\scriptbindings.cpp:337:   instantiated from here
sdk/scripting/sqplus/SqPlusConst.h:46: error: no matching function for call to 'Push(SQVM*&, const wxArrayString&)'
sdk/scripting/sqplus/sqplus.h:595: note: candidates are: void SqPlus::Push(SQVM*, char)
sdk/scripting/sqplus/sqplus.h:596: note:                 void SqPlus::Push(SQVM*, unsigned char)
sdk/scripting/sqplus/sqplus.h:597: note:                 void SqPlus::Push(SQVM*, short int)
sdk/scripting/sqplus/sqplus.h:598: note:                 void SqPlus::Push(SQVM*, short unsigned int)
sdk/scripting/sqplus/sqplus.h:599: note:                 void SqPlus::Push(SQVM*, int)
sdk/scripting/sqplus/sqplus.h:600: note:                 void SqPlus::Push(SQVM*, unsigned int)
sdk/scripting/sqplus/sqplus.h:601: note:                 void SqPlus::Push(SQVM*, long int)
sdk/scripting/sqplus/sqplus.h:602: note:                 void SqPlus::Push(SQVM*, long unsigned int)
sdk/scripting/sqplus/sqplus.h:603: note:                 void SqPlus::Push(SQVM*, double)
sdk/scripting/sqplus/sqplus.h:604: note:                 void SqPlus::Push(SQVM*, float)
sdk/scripting/sqplus/sqplus.h:605: note:                 void SqPlus::Push(SQVM*, const SQChar*)
sdk/scripting/sqplus/sqplus.h:606: note:                 void SqPlus::Push(SQVM*, const SqPlus::SquirrelNull&)
sdk/scripting/sqplus/sqplus.h:607: note:                 void SqPlus::Push(SQVM*, SQInteger (*)(SQVM*))
sdk/scripting/sqplus/sqplus.h:608: note:                 void SqPlus::Push(SQVM*, SqPlus::SQAnything*)
sdk/scripting/sqplus/sqplus.h:609: note:                 void SqPlus::Push(SQVM*, SquirrelObject&)
sdk/scripting/sqplus/sqplus.h:618: note:                 void SqPlus::Push(SQVM*, bool)
sdk/scripting/sqplus/sqplus.h:619: note:                 void SqPlus::Push(SQVM*, const void*)
sdk/scripting/sqplus/sqplus.h:620: note:                 void SqPlus::Push(SQVM*, void* const&)

Best wishes,
Michael
Title: Re: Errors building C::B rev2688
Post by: mandrav on July 05, 2006, 03:58:25 pm
Hmm... killerbot has the same errors but I don't.
But if this happens to you too, something's definetely wrong. I 'll check this out...
Title: Re: Errors building C::B rev2688
Post by: MortenMacFly on July 05, 2006, 05:19:06 pm
What helped me was to remove the .objs and devel folder recursively, search for *.a and *.gch to remove them, too and finally do a rebuild project (workspace). It could be that due to changes I had done the time of certain files was older which did not cause a re-compilation or something...?!
Title: Re: Errors building C::B rev2688
Post by: mandrav on July 05, 2006, 05:23:39 pm
I still don't know. Works fine here.
Maybe it's the compiler's version? I 'm using 4.0.3 and I see Michael is using 4.1.1...
Title: Re: Errors building C::B rev2688
Post by: feisal on July 05, 2006, 06:50:41 pm
I can confirm that problem also, Fedora Core 5, gcc 4.1.1 and wxWidgets 2.6.3
Title: Re: Errors building C::B rev2688
Post by: Michael on July 05, 2006, 07:22:40 pm
I still don't know. Works fine here.
Maybe it's the compiler's version? I 'm using 4.0.3 and I see Michael is using 4.1.1...

Hello,

Thank you very much for your help.

Some additional info that could help. I am using wxWidgets built with GCC 4.0.3, but I use GCC 4.1.1 to build C::B (as I did usually since Ceniza has made it available :)), because I cannot build C::B with GCC 4.0.3 (I got an internal compiler error :().

The C::B revision I am using is CB_20060703_rev2661_win32 (nightly build of 3 July).

Moreover, the I have not done a clean SVN checkout, but updated the SVN sources I had already (last update on 6 or 7 January 2006).

The MinGW I have, I have got it by using MinGW 5.0.3 and updated with GCC 4.1.1.

May be the problem is the compiler version. GCC 4.1.1 is stricter and it could not appreciate something...

Best  wishes,
Michael
Title: Re: Errors building C::B rev2688
Post by: Michael on July 05, 2006, 09:35:34 pm
Hello,

Yannis was right :). The compiler version seems to be the problem. GCC 4.1.1 fails, but not GCC 3.4.5.

Does not squirrel support GCC 4.1.1? If so, GCC compiler > 4.0.x could not be used to build C::B.

Best wishes,
Michael
 
Title: Re: Errors building C::B rev2688
Post by: mandrav on July 05, 2006, 09:54:39 pm
Does not squirrel support GCC 4.1.1? If so, GCC compiler > 4.0.x could not be used to build C::B.

First, I use 4.0.3 and it builds just fine.
Second, the error is not in Squirrel but in a template of SqPlus (the library we use to bind Squirrel).

I have to test it with gcc 4.1.x...
Title: Re: Errors building C::B rev2688
Post by: Michael on July 05, 2006, 09:59:46 pm
First, I use 4.0.3 and it builds just fine.

It is the same version that Ceniza is providing?

Second, the error is not in Squirrel but in a template of SqPlus (the library we use to bind Squirrel).

Thank you for pointing that out :).

I have to test it with gcc 4.1.x...

Thanks :). Just wonder if it is a local problem or other.

Best wishes,
Michael
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 06, 2006, 12:51:26 am
Same error here, GCC version 4.1.0 SuSe.

On windows with mingw builds fine.

Regards

Max
Title: Re: Errors building C::B rev2688
Post by: mandrav on July 06, 2006, 10:25:20 am
I need someone who has this problem to try the following:

Insert #include <wx/arrstr.h> at the top of src/sdk/scripting/bindings/sc_base_types.h (just below #include <wx/string.h>).
Does this fix it?
Title: Re: Errors building C::B rev2688
Post by: feisal on July 06, 2006, 03:52:05 pm
I need someone who has this problem to try the following:

Insert #include <wx/arrstr.h> at the top of src/sdk/scripting/bindings/sc_base_types.h (just below #include <wx/string.h>).
Does this fix it?

revision 2698, has this already.  But it still does not compile, same error about cannot find a matching function call
to 'Push(SQVM*&, const wxArrayString&)'

Fedora Core 5, gcc  4.1.1
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 06, 2006, 07:25:50 pm
I need someone who has this problem to try the following:

Insert #include <wx/arrstr.h> at the top of src/sdk/scripting/bindings/sc_base_types.h (just below #include <wx/string.h>).
Does this fix it?

revision 2698, has this already.  But it still does not compile, same error about cannot find a matching function call
to 'Push(SQVM*&, const wxArrayString&)'

Fedora Core 5, gcc  4.1.1

The same here, with gcc 4.1.0 SuSe and revision 2699.
Title: Re: Errors building C::B rev2688
Post by: TDragon on July 06, 2006, 08:32:53 pm
Same here, using GCC 4.1.1 on XP.

The error message, at least, seems fairly straightforward. CompileOptionsBase::GetLinkerOptions returns type wxArrayString, for which there is no function to directly push it on the stack. I don't pretend to understand the SqPlus sources very well, but it seems that the ReturnSpecialization class handles calling the various types of functions, and if there is no specialization for wxArrayString than the compiler would choose the function in SqPlusConst.h that is throwing the error.

I can't see how GCC 3.4.5 would compile it, but 4.1.1 not; so I'm probably missing something important.
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 06, 2006, 09:16:47 pm
Same here, using GCC 4.1.1 on XP.

The error message, at least, seems fairly straightforward. CompileOptionsBase::GetLinkerOptions returns type wxArrayString, for which there is no function to directly push it on the stack. I don't pretend to understand the SqPlus sources very well, but it seems that the ReturnSpecialization class handles calling the various types of functions, and if there is no specialization for wxArrayString than the compiler would choose the function in SqPlusConst.h that is throwing the error.

I can't see how GCC 3.4.5 would compile it, but 4.1.1 not; so I'm probably missing something important.

Maybe gcc 3.4.5 uses "void SqPlus::Push(SQVM*, const void*)" and 4.1.1 doesn't accept the implicit type conversion ???

<edit>
No... adding a definition for SqPlus::Push(SQVM*, wxArrayString *) leads to duplicate definition error, as it's defined in sc_base_types, line 21...

It must be caused from the extra & in 'Push(SQVM*&, const wxArrayString&)', the funcs defined are all of kind 'Push(SQVM*...)'.



Title: Re: Errors building C::B rev2688
Post by: mandrav on July 06, 2006, 09:21:42 pm
Same here, using GCC 4.1.1 on XP.

The error message, at least, seems fairly straightforward. CompileOptionsBase::GetLinkerOptions returns type wxArrayString, for which there is no function to directly push it on the stack. I don't pretend to understand the SqPlus sources very well, but it seems that the ReturnSpecialization class handles calling the various types of functions, and if there is no specialization for wxArrayString than the compiler would choose the function in SqPlusConst.h that is throwing the error.

I can't see how GCC 3.4.5 would compile it, but 4.1.1 not; so I'm probably missing something important.

Thanks for looking into it, TDragon. I 'm practically blind here since I don't have gcc 4.1.1 (but it works with gcc 4.0.3) so I appreciate any help I can get :)

Note: Below, I 'm talking about files located inside src/sdk/scripting

If you look in sc_base_types.h (which by the way is included by all other files in that dir), you will see that all bound types (including wxArrayString) are registered using the DECLARE_INSTANCE_TYPE macro.

This macro resolves to DECLARE_INSTANCE_TYPE_NAME_ which is defined in ../sqplus/sqplus.h at line 561 (and in ../sqplus/SqPlusConst.h at line 26).

These macros contain all the specializations for the registered type so it can be passed as argument or used as a return value.

So, obviously, wxArrayString's specializations are indeed defined. You can take it from here and check why it breaks. I (and many others) will happily wait for your investigation results :)
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 06, 2006, 09:34:59 pm

If you look in sc_base_types.h (which by the way is included by all other files in that dir), you will see that all bound types (including wxArrayString) are registered using the DECLARE_INSTANCE_TYPE macro.

This macro resolves to DECLARE_INSTANCE_TYPE_NAME_ which is defined in ../sqplus/sqplus.h at line 561 (and in ../sqplus/SqPlusConst.h at line 26).

These macros contain all the specializations for the registered type so it can be passed as argument or used as a return value.

So, obviously, wxArrayString's specializations are indeed defined. You can take it from here and check why it breaks. I (and many others) will happily wait for your investigation results :)

The error states that 'Push(SQVM*&, const wxArrayString&)' is missing; that's seems true to me, the function defined by DECLARE_INSTANCE_TYPE is 'Push(SQVM*, const wxArrayString&)', without extra indirection '&'.

Best Regards

Max
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 07, 2006, 10:04:55 pm
Did somebody find a solution ?
I was trying all day with no success....

Regards

Max
Title: Re: Errors building C::B rev2688
Post by: killerbot on July 07, 2006, 11:08:16 pm
no solution, been out of country for 2 days, just confirming I have this also, from the first revision with squirrel and still in today's revision. Suse Linux 10.1 (64bit) GCC 4.1.0
Just did a quick reading of the responses can we add both definitions for the pointer based and reference based (or even pointer reference based) ???

I hope this is fixed soon, otherwise I can't debug :-(  (since GDB on winXP64-bit crashes  and now I can't build on linux ...)
Title: Re: Errors building C::B rev2688
Post by: Game_Ender on July 07, 2006, 11:57:36 pm
I saw it mentioned here (http://www.ogre3d.org/phpBB2/viewtopic.php?p=160671&highlight=gcc#160671) on the Ogre forums that there are problems with Sqplus and GCC 4.1.x, but is there even a stable release of 4.1.x or is it still in testing?  I don't think this is something Code::Blocks specific.

EDIT:  We probably want to jump in on the discussion over at the squirrel forums (http://www.squirrel-lang.org/forums/857/ShowPost.aspx).
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 08, 2006, 12:03:36 am
no solution, been out of country for 2 days, just confirming I have this also, from the first revision with squirrel and still in today's revision. Suse Linux 10.1 (64bit) GCC 4.1.0
Just did a quick reading of the responses can we add both definitions for the pointer based and reference based (or even pointer reference based) ???

I hope this is fixed soon, otherwise I can't debug :-(  (since GDB on winXP64-bit crashes  and now I can't build on linux ...)

Updated to GCC 4.1.2 prerelease SuSe, no changes.... I guess it's a problem of 4.1 series. It seems that when templates are instantiated the definition of Push(SQVM *, wxArrayString *) is not yet known, even it should.....

Inserting this
                ......................
                var(&ProjectFile::weight, "weight").
                var(&ProjectFile::compilerVar, "compilerVar");

SQVM *sss ;                                   <==
wxArrayString *xxx ;                       <==
SqPlus::Push(sss, xxx) ;                 <==

        SqPlus::SQClassDef<CompileOptionsBase>("CompileOptionsBase").
                func(&CompileOptionsBase::SetLinkerOptions, "SetLinkerOptions").
                func(&CompileOptionsBase::SetLinkLibs, "SetLinkLibs").
                ......................

gives no error in inserted lines, so the problem is not a definition missing of Push(SQVM*, wxArrayString *); I think is a template problem in 4.1 compiler. No solution yet   :cry:

<edit>
I found a similar problem in squirrel forum.... I'll ask there if somebody solved it.

Title: Re: Errors building C::B rev2688
Post by: TDragon on July 08, 2006, 01:57:51 am
It seems that when templates are instantiated the definition of Push(SQVM *, wxArrayString *) is not yet known, even it should.....

Indeed. This has the appearance of either a GCC regression or some funky stuff in wxArrayString that GCC doesn't like.

A Temporary Fix:
Add the following to scriptbindings.cpp above the inclusion of "scriptbindings.h":
Code
class SQVM;
namespace SqPlus { void Push(SQVM*, const wxArrayString&); }


What I've Found So Far:
For some reason, the version of Push that is declared with the DECLARE_INSTANCE_TYPE macro trickery is not being found by the compiler. This is only happening for the wxArrayString version; others such as wxString appear not to have any issues. If its declaration or definition appears before the definition of struct ReturnSpecialization in sqplus.h (inside of which SqPlusConst.h and the Call function are included), the compiler is happy; if anywhere after (as far as I've seen), it complains.

I've been digging around in the preprocessed scriptbindings.cpp and found no reason it shouldn't work (as it apparently does in GCC 4.0 series and earlier), as the function is certainly defined before the template is actually instantiated with the call to func(). Further reports as results warrant.
Title: Re: Errors building C::B rev2688
Post by: tekel on July 08, 2006, 03:53:20 am
from reading the GCC 4.1 release notes they did some fixes to the way GCC handles inlines
if you add these two CFLAGS the program compiles just fine

-frepo -fno-implement-inlines

However I am now getting linking errors, Might be the new flags might be somethign else.
I am implementing your fix now and will report back.

So I still have linking errors which tell me that the GCC options do in fact work :-D

Title: Re: Errors building C::B rev2688
Post by: tekel on July 08, 2006, 07:30:05 am
After Passing the inline error I can compile C::B Properly but now I get this In linking

.libs/libcodeblocks.so.0.0.1
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object.
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: scripting/bindings/.libs/libsqbindings.a(scriptbindings.o): relocation R_X86_64_PC32 against `SqPlus::SQClassDef<ConfigManager>::SQClassDef(char const*, char const*)' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value


Any Suggestions ???


Title: Re: Errors building C::B rev2688
Post by: killerbot on July 08, 2006, 12:31:23 pm
Quote
class SQVM;
namespace SqPlus { void Push(SQVM*, const wxArrayString&); }
allowed me to build :-)

But it get this error message when CB starts up :
Code
SquirrelFunction<> call failed
AN ERROR HAS OCCURED [arith op + on between 'userdata' and 'userdata']

CALLSTACK
*FUNCTION [RegisterWizard()] /usr/local/share/codeblocks/templates/wizard/config.script line [51]
*FUNCTION [RegisterWizards()] /usr/local/share/codeblocks/templates/wizard/config.script line [11]

LOCALS
[category] USERPOINTER
[title] USERPOINTER
[folder] USERPOINTER
[type] 0
[this] TABLE
[this] TABLE

clicking on OK; leads the to the next error message :
Quote
GetInstance: Invalid argument type

clickin on OK --> finally in CB :-)
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 08, 2006, 02:45:06 pm

............
clicking on OK; leads the to the next error message :
Quote
GetInstance: Invalid argument type

clickin on OK --> finally in CB :-)

The same here with GCC 4.1.2 SuSe.......... still some problems, but at least now it works  :D

<edit>
it works, but about all relating to scriptings is broken... don't know if it's only my build's fault or because of SqPlus bug.

Regards

Max

Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 09, 2006, 06:54:03 pm
The only thing that really helped was to install gcc 4.0.3 as an alternate compiler and rebuild all codeblocks sources.
Whith the warkaround more than half of the features were broken.

Here a page with a good howto for the installation of more GCC versions :

http://www.mjmwired.net/resources/mjm-fedora-gcc.html

I suggest to have gcc sources configured to give a suffix to executable names (e.g. gcc403 for the 4.0.3 version), in order to avoid mistakes on use. This is done with "--program-suffix=403" option, as explained in text.
I suggest also the installation in /opt/gcc/<version>, this allow for quick uninstall when needed. This is done with the --prefix=/opt/gcc/<version> option in configure.

After installing the new GCC, codeblocks can be built using it with these steps

export CC=/opt/gcc/4.0.3/gcc403
export CXX=/opt/gcc/4.0.3/g++403
./configure --enable-contrib
make

(all those for the 4.0.3 version I installed)

Best Regards

Max
Title: Re: Errors building C::B rev2688
Post by: tr1gun on July 13, 2006, 06:26:37 pm
Hi,
is there a fix for the problem that solves it without any errors?

cu
Title: Re: Errors building C::B rev2688
Post by: zlbruce on July 13, 2006, 08:50:09 pm
In C::B rev2745, I must add this two red lines to src/plugins/compilergcc/Makefile for building
Quote
INCLUDES = $(WX_CXXFLAGS) \
                -I$(top_srcdir)/src/sdk \
                -I$(top_srcdir)/src/sdk/wxscintilla/include \
                -I$(top_srcdir)/src/plugins/compilergcc/depslib/src \
                -I$(top_srcdir)/src/sdk/scripting/include \
                -I$(top_srcdir)/src/sdk/scripting/sqplus
My system is Debian Sid, and use dpkg-buildpackage to build a deb
Title: Re: Errors building C::B rev2688
Post by: mandrav on July 13, 2006, 09:06:25 pm
Hi,
is there a fix for the problem that solves it without any errors?

cu

I 'm currently installing SuSE 10.1 to see the problem myself (and attempt to fix it).
I won't tell you much, just that I remembered why I ditched rpm-based distros long ago ;)
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 13, 2006, 11:41:50 pm

I 'm currently installing SuSE 10.1 to see the problem myself (and attempt to fix it).


You can also install the GCC only side-by-side to your GCC... Install SuSe distro only to fix a bug is quite time-expensive !  :shock:

Ciao

Max
Title: Re: Errors building C::B rev2688
Post by: SharkCZ on July 27, 2006, 10:22:54 am
Is the problem with "no matching function for call to 'Push(SQVM*&, const wxArrayString&)'" reported into GCC Bugzilla? I am preparing RPMs for inclusion into Fedora Extras and this is a blocker.
Title: Re: Errors building C::B rev2688
Post by: killerbot on July 27, 2006, 10:33:13 am
In C::B rev2745, I must add this two red lines to src/plugins/compilergcc/Makefile for building
Quote
INCLUDES = $(WX_CXXFLAGS) \
                -I$(top_srcdir)/src/sdk \
                -I$(top_srcdir)/src/sdk/wxscintilla/include \
                -I$(top_srcdir)/src/plugins/compilergcc/depslib/src \
                -I$(top_srcdir)/src/sdk/scripting/include \
                -I$(top_srcdir)/src/sdk/scripting/sqplus
My system is Debian Sid, and use dpkg-buildpackage to build a deb
I already checked for the last line : this is needed, strange nobody else suffers from this ????


EDIT : FORGET ABOUT THIS, IT HAD ALREADY BEEN FIXED (was looking at old stuff)
Title: Re: Errors building C::B rev2688
Post by: mdelfede on July 27, 2006, 04:47:37 pm
Is the problem with "no matching function for call to 'Push(SQVM*&, const wxArrayString&)'" reported into GCC Bugzilla? I am preparing RPMs for inclusion into Fedora Extras and this is a blocker.

I don't know, I posted to squirrel forum too, but they (correctly) tell that is a GCC issue.
I think we should make a short code snippet showing the problem and then post it to bugzilla. Like that is too long code to post there.

Ciao

Max
Title: Re: Errors building C::B rev2688
Post by: SharkCZ on July 28, 2006, 10:18:49 am
Is the problem with "no matching function for call to 'Push(SQVM*&, const wxArrayString&)'" reported into GCC Bugzilla? I am preparing RPMs for inclusion into Fedora Extras and this is a blocker.

I don't know, I posted to squirrel forum too, but they (correctly) tell that is a GCC issue.
I think we should make a short code snippet showing the problem and then post it to bugzilla. Like that is too long code to post there.
Any problem, that is not in a bugzilla, is not a problem ;-) And the shorter will be the test case the better. And because the code is right (I trust you :-) ), it worked in earlier versions then there is a high chance that it will be fixed quickly. Can somebody create the test case?
Title: Re: Errors building C::B rev2688
Post by: SharkCZ on August 05, 2006, 02:15:30 pm
I have tried to compile the scriptbindings.cpp file with C++ from the latest snapshot of GCC 4.2 and the problem is still there.