www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Strange Segfault using XCB bindings from dsource

reply "Mpnordladn" <mpnordland gmail.com> writes:
Hey all,
I'm poking around D, trying to see if it will be worth my while 
to learn it.
I've used XCB in C++ and Python before, and I was delighted to 
see that D has an XCB
binding as well. The problem, however, is in the example program, 
there is a segfault.
Here's the program:
http://pastebin.com/gKwxrNFx
It segfaults at around line 31 consistently.
Apr 16 2013
parent Marco Leise <Marco.Leise gmx.de> writes:
Am Tue, 16 Apr 2013 17:57:55 +0200
schrieb "Mpnordladn" <mpnordland gmail.com>:

 Hey all,
 I'm poking around D, trying to see if it will be worth my while 
 to learn it.
 I've used XCB in C++ and Python before, and I was delighted to 
 see that D has an XCB
 binding as well. The problem, however, is in the example program, 
 there is a segfault.
 Here's the program:
 http://pastebin.com/gKwxrNFx
 It segfaults at around line 31 consistently.
Is the 64-bit C ABI on Linux fixed yet? (Asked to the general D community, not you.) That's where I got segfaults with dmd compiled code and XCB. Try LDC or GDC and see if that works. One final note: There are now a few people using X with D. XCB is C bindings to X generated mostly from XML definitions. This process is language independent, but requires a header file generator that parses the XML definitions and core that handles connecting to the X server. This core would open socket connections to X and ideally work on Windows as well, in case someone wants to connect to a remote X server from there. It is not a mini-project, but would be quite neat since once the core and generator exist, bindings to all future extensions to X can be created automatically by just going recursively through X's XML directory. In fact "XDB" could be distributed as just the core and the generator and build the actual bindings from what's on the local system. -- Marco
Apr 28 2013