Author Topic: wxAssertFailure on Startup under Solaris  (Read 7220 times)

flanagak

  • Guest
wxAssertFailure on Startup under Solaris
« on: August 06, 2007, 07:23:22 pm »
I just completed the intructions from the WIKI on intalling codeblocks on Solaris.
Everything seem to go well but when I try to launch codeblocks now I am getting the following error.

./src/unix/dir.cpp(278): assert "wxAssertFailure" failed: must wxDir::Open() first

Any help would greatly be appreciated.


Kevin...

flanagak

  • Guest
Re: wxAssertFailure on Startup under Solaris
« Reply #1 on: August 06, 2007, 07:47:43 pm »
Ok question related to this.
The WIKI says to install 2.6.3 of WxWidgets, but the nightly build instructions say we need 2.8.4.
Could this issue be caused by the fact that installed 2.6.3 not 2.8.4?


Kevin...

Offline Biplab

  • Developer
  • Lives here!
  • *****
  • Posts: 1874
    • Biplab's Blog
Re: wxAssertFailure on Startup under Solaris
« Reply #2 on: August 06, 2007, 08:10:10 pm »
I guess it's not the case. Still you can give it a try. :)

If possible, please post the full error report so that we can trace it.

So far I have been unsuccessful in setting up Solaris in a Virtual machine. Thus I'm unable to test this bug. :(
Be a part of the solution, not a part of the problem.

flanagak

  • Guest
Re: wxAssertFailure on Startup under Solaris
« Reply #3 on: August 06, 2007, 08:48:03 pm »
OK  I downloaded and compiled WxWidgets 2.8.4...same error
Do I need to rerun ./configure on codeblocks and/or re-compile codeblocks once I have 2.8.4 installed?
As for logs, Im getting this error as a X11 popup.   Is there any specific log file I can post for you?
Or shoudl I just run a pstack on the core file and post it?

Kevin...

flanagak

  • Guest
Re: wxAssertFailure on Startup under Solaris
« Reply #4 on: August 06, 2007, 08:51:10 pm »
Here is an image of the error as well as a stack trace on the core file generated.

core 'core' of 14208:   ./codeblocks
 fc541a58 _lwp_kill (5, 1084, 93160, fca2b3a8, fc012000, 1000) + 8
 fc5eeca8 _Z6wxTrapv (6e150c, ffbff5f0, 21a, 0, ffffffff, ffffffff) + 8
 fca502e0 _ZN18wxGUIAppTraitsBase16ShowAssertDialogERK8wxString (14ed10, ffbff678, fc73a0b8, 116, fc73a108, ffbff678) + fc
 fc5ef2b4 _Z16ShowAssertDialogPKwiS0_S0_P11wxAppTraits (fc73a0b8, 116, fc73a108, fc73a6b8, 14ed10, 0) + 1f4
 fc5ee94c _ZN12wxAppConsole8OnAssertEPKwiS1_S1_ (1189f8, fc73a0b8, 116, fc73a108, fc73a6b8, 1) + 3c
 fc96fba0 _ZN5wxApp8OnAssertEPKwiS1_S1_ (1189f8, fc73a0b8, 116, fc73a108, fc73a6b8, 1189f8) + 38
 fc5eede4 _Z10wxOnAssertPKwiS0_S0_ (fc73a0b8, 116, fc73a108, fc73a6b8, ff3f42e8, 0) + dc
 fc5eecf4 _Z8wxAssertiPKwiS0_S0_ (0, fc73a0b8, 116, fc73a108, fc73a6b8, 0) + 38
 fc69514c _ZNK5wxDir8GetFirstEP8wxStringRKS0_i (ffbff928, ffbff930, ffbff938, 1, fc733aec, fc731c80) + 8c
 000347a8 _ZN13CodeBlocksApp10InitLocaleEv (118a5c, ffbff940, 1000, ffbff948, fc012000, 1000) + 3f8
 00037be8 _ZN13CodeBlocksApp6OnInitEv (ffbff9e0, ffbff9c8, ffbff9c0, ffbff9f0, ff3f42e8, ffbff9d0) + 22c
 000a00d4 _ZN12wxAppConsole10CallOnInitEv (1189f8, f80c0, 33d04, 1189b8, fc7a1988, 1189f8) + c
 fc636fd4 _Z7wxEntryRiPPw (ffbffc2c, f80c0, fc731c80, 0, ffbffb00, ffbffaf8) + a8
 fc6371d0 _Z7wxEntryRiPPc (ffbffc2c, ffbffc4c, 0, 0, 0, 0) + 40
 00033d04 main     (1, ffbffc4c, ffbffc54, f18ac, fc010100, fc010140) + c
 000339e8 _start   (0, 0, 0, 0, 0, 0) + 5c


[attachment deleted by admin]

Offline Biplab

  • Developer
  • Lives here!
  • *****
  • Posts: 1874
    • Biplab's Blog
Re: wxAssertFailure on Startup under Solaris
« Reply #5 on: August 07, 2007, 05:35:53 am »
You are using Debug version of wxWidgets which may break. Please install a Release version of wxWidgets. Just add --disable-debug while configuring wxWidgets.
Be a part of the solution, not a part of the problem.

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: wxAssertFailure on Startup under Solaris
« Reply #6 on: August 07, 2007, 11:29:56 am »
This points to a bad installation.

The reason why you see this message is that InitLocale() assumes the locale directory to be there, and tries to enumerate its content. If you have properly installed Code::Blocks, this directory should have been created by the install script. For some reason, this hasn't happened.

One could say that simply assuming things exists is a bold thing, and that's generally true :)
But in this particular case, nothing bad happens if they don't (except the annoying assertion in debug build).

I have added an if() in revision 4356, so even in debug build, this assertion should no longer fail now (but there may be others).
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline Biplab

  • Developer
  • Lives here!
  • *****
  • Posts: 1874
    • Biplab's Blog
Re: wxAssertFailure on Startup under Solaris
« Reply #7 on: August 07, 2007, 01:34:24 pm »
This points to a bad installation.

The reason why you see this message is that InitLocale() assumes the locale directory to be there, and tries to enumerate its content. If you have properly installed Code::Blocks, this directory should have been created by the install script. For some reason, this hasn't happened.

The locale dir is not created during make install. This problem exists on Windows and as well as on Linux.

I have added an if() in revision 4356, so even in debug build, this assertion should no longer fail now (but there may be others).

I've fixed it in couple of other places.

@flanagak

If you still get that error, please post. Also please switch to Release build of wx.
Be a part of the solution, not a part of the problem.

flanagak

  • Guest
Re: wxAssertFailure on Startup under Solaris
« Reply #8 on: August 07, 2007, 10:43:15 pm »
All right.

I downloaded 4356 and when I went to run ./bootstrap I got errors telling me that I needed newer versions of automake,autoconf and m4.
I have downloaded the lastest from sun freeware and attempting the install again.


Kevin...
« Last Edit: August 07, 2007, 10:56:33 pm by flanagak »

flanagak

  • Guest
Re: wxAssertFailure on Startup under Solaris
« Reply #9 on: August 07, 2007, 10:56:11 pm »
./bootstrap finaly ran successfully after updating versions of automake, autoconf, libtool and m4.

Now when I run ./configure --prefix=/usr/local/test_cb/  --enable-debug I am gettign the following.
Code
checking whether to build the debugger plugin... yes
checking whether to build the default MIME handler plugin... yes
checking whether to build the foreign projects importer plugin... yes
checking whether to build the scripted wizard plugin... yes
checking whether to build the to-do plugin... yes
checking which (if any) contrib plugins to build... Unknown contrib plugin none, ignoring
none
checking if the compiler supports precompiled headers... yes
checking for pkg-config... yes
You don't have pkg.m4 properly installed

Thats the last few lines of the standard output.
I have verified that I have pkg-config and that pkg.m4 is in /usr/share/aclocal.

I have attached the config.log, hopefully this will help.

[attachment deleted by admin]

flanagak

  • Guest
Re: wxAssertFailure on Startup under Solaris
« Reply #10 on: August 08, 2007, 06:14:04 pm »
ok just for good measure I removed everything I had installed and re-installed everything.
downloaded the lastest build of C::B and still getting the same error about pkg.m4 not being properly installed

any thoguhts?



Kevin...

zofer

  • Guest
Re: wxAssertFailure on Startup under Solaris
« Reply #11 on: September 20, 2007, 05:45:46 pm »
You need to tell autoconf where to find it. I used a command like this:

setenv ACLOCAL_FLAGS "-I `wx-config --prefix`/share/aclocal -I /usr/local/share/aclocal"

The first part says where wxwin.m4 is located and the last one tell autoconf where to find all other m4 files (if not at default location). Add other path as needed.

Do it before running bootstrap.

You may also need to set PKG_CONFIG_PATH