Author Topic: Having fun compiling C::B on Linux 64 bits  (Read 7368 times)

takeshimiya

  • Guest
Having fun compiling C::B on Linux 64 bits
« on: January 23, 2006, 04:36:32 pm »
Hi! I'm trying to get C::B working on Ubuntu Breezy x64.

Making it compile:

I attach a little patch, most fixes are because
Code: cpp
sizeof(void*) != sizeof(int)
It applies to AngelScript, wxAUI, and cbKeyBinder.
Note: I didn't sent the patch because I want to discuss the correctness here.

I had to define AS_MAX_PORTABILITY in as_config.h, because the faster calling conventions aren't availabe for x64 yet (thus if you don't enable this flag will get linker errors).
AS_MAX_PORTABILITY: Disables all platform specific code. Only the asCALL_GENERIC calling convention will be available in with this flag set.

After those changes, C::B compiles just fine. :D

Making it run:
Now, when running C::B, because "Only the asCALL_GENERIC calling convention is available" I get lot's of asserts
Code: cpp
assert( r >= 0 );
in /bindings/sc_wxstring.cpp and /bindings/sc_wxarraystring.cpp.
It's because the error return code of those functions is -7, which means asNOT_SUPPORTED (The feature you are trying to use is not yet supported.).
It's obviously because C::B doesn't use asCALL_GENERIC calling functions here.

Well, after removing the asserts, C::B runs just fine, at least doesn't crashes. :D
Or so I thought...

Errors when using it (discovered in a few minutes):
First of all, just because I know cbKeyBinder is buggy I disable it.

* Menu File->Save as is enabled, and only the Start page is open.
* Menu File->Close Project is enabled even trough there isn't any project open.
* The same goes for Save Workspace, Save Workspace as, and Close Workspace.

* Menu File->Export does nothing. It doesn't expand any list even (HTML, PDF, etc).

* Menu View->Manager hides the manager. But it never gets back. :( (but others like View->Messages does work).
* Menu View->Open files list hides the Open files list. But it never gets back. :(

* Menu View->FullScreen does absolutely nothing.

* In the new revamped settings dialogs, no icon is displayed (neither in Environment or Editor). Strange is that no message error appears.

* Some ocasionally segfaults when moving panels. Some segfaults when moving things around (dragging text, dragging toolbars, dragging panels, dragging anything).

* C::B hanged when I closed a project, but still a little responsive, but after doing some clicks on the menus, segfaulted (codeblocks_backtrace_rev1840-2.xml).
In the console:
Code
 (codeblocks:27485): Gtk-CRITICAL **: gtk_check_menu_item_set_active: assertion `GTK_IS_CHECK_MENU_ITEM (check_menu_item)' failed
addr2line: 'codeblocks': No such file
addr2line: 'codeblocks': No such file
addr2line: 'codeblocks': No such file
Aborted


* On stdio/stderr are displayed some ocassionaly messages (don't ask when):

Code
(codeblocks:25357): GLib-GObject-WARNING **: invalid cast from `GtkScrolledWindow' to `GtkWindow'

(codeblocks:25357): Gtk-CRITICAL **: gtk_window_set_transient_for: assertion `parent == NULL || GTK_IS_WINDOW (parent)' failed

(codeblocks:25357): Gtk-CRITICAL **: gtk_check_menu_item_set_active: assertion `GTK_IS_CHECK_MENU_ITEM (check_menu_item)' failed

* This too:
Code
(codeblocks:25734): Gtk-CRITICAL **: gtk_check_menu_item_set_active: assertion `GTK_IS_CHECK_MENU_ITEM (check_menu_item)' failed
...
addr2line: 'codeblocks': No such file
addr2line: 'codeblocks': No such file
addr2line: 'codeblocks': No such file
addr2line: 'codeblocks': No such file
addr2line: 'codeblocks': No such file
....
Segmentation fault

* Some fun for byo too (wxSmith):
Just closing tabs:
Code
codeblocks: ./wxsresource.cpp:43: void wxsResource::EditorSaysHeIsClosing(): Assertion `Editor != __null' failed.
Aborted

And all of this catched in a few minutes :lol:
Lot's of fun, but something tells me that C::B is not ready for the primetime yet. :P


[attachment deleted by admin]
« Last Edit: January 23, 2006, 04:40:51 pm by Takeshi Miya »

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: Having fun compiling C::B on Linux 64 bits
« Reply #1 on: January 23, 2006, 05:16:29 pm »
I think you'd better discuss the AngelScript issues with Andreas J├Ânsson. First of all, he is The One who knows, and second, it is better if he adds 64bit support to AngelScript rather than if we patch it... :)
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

takeshimiya

  • Guest
Re: Having fun compiling C::B on Linux 64 bits
« Reply #2 on: January 24, 2006, 01:06:25 am »
You might not have read the entire post, but AngelScript only errors on compiling. The other problems I'm talking are specifically on C::B, and probably they ocurr in any linux (not only 64 bits). (Example: http://forums.codeblocks.org/index.php?topic=2098.msg16522;topicseen#msg16522)

Anyways, Yiannis asked me for the patch, I'll talk with Andreas too.