FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[BUGFIX] ObjectG.d
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic     Forum Index -> gtkD
View previous topic :: View next topic  
Author Message
stealth



Joined: 06 May 2007
Posts: 9

PostPosted: Thu Dec 13, 2007 9:39 am    Post subject: Reply with quote

Actually i just posted a working one Wink

I did this also for gstreamer gtkgl etc, and now it looks like this:

src/dsss.conf:
Code:
name = gtkd

[atk]
[cairoLib]
[gdk]
[gdkpixbuf]
[glade]
[glib]
[gobject]
[gthread]
[gtk]
[gtkc]
[pango]


srcgda/dsss.conf:
Code:
name = gda

requires = gtkd

[gda]
[gdac]


srcgl/dsss.conf:
Code:
name = gtkdgl

requires = gtkd

[glgdk]
[glgtk]
[gtkglc]


srcgstreamer/dsss.conf:
Code:
name = gstreamerd

requires = gtkd

[gstinterfaces]
[gstreamer]
[gstreamerc]


srcsv/dsss.conf
Code:
name = gtkdsv

requires = gtkd

[gsv]
[gsvc]


You should commit these files to the (git) trunk Wink
And there should not be a dsss.conf file in ./ (next to the compd scripts)
Back to top
View user's profile Send private message
okibi



Joined: 04 Jan 2007
Posts: 170

PostPosted: Thu Dec 13, 2007 12:24 pm    Post subject: Reply with quote

I'll revise the preview release as well, probably tonight.

Should we start committing these changes to the svn repo here? It kinda is the official source and should work. I don't know if Ant would have a problem with that.

I believe I still have commit access, if needed I can commit the changes.
Back to top
View user's profile Send private message
Pse



Joined: 13 Dec 2007
Posts: 36

PostPosted: Thu Dec 13, 2007 1:18 pm    Post subject: Reply with quote

Mauer wrote:

I did that, and i can build programs, but when i run one, this happens:
Code:
Loaded lib = {}, libgtk-x11-2.0.so
Loaded lib = {}, libglib-2.0.so
Loaded lib = {}, libatk-1.0.so
Loaded lib = {}, libgobject-2.0.so
Loaded lib = {}, libgdk-x11-2.0.so
Loaded lib = {}, libgdk_pixbuf-2.0.so
Loaded lib = {}, libgthread-2.0.so
Loaded lib = {}, libpango-1.0.so
Segmentation fault (core dumped)

It doesnt tell me which library is not found Confused


Hi there, first message here, I can confirm this using gdc-0.25 (gutsy repos). DMD seems to work fine.
A quick gdb backtrace points to g_option_context_get_summary(GOptionContext *context), which I guess is probably called by GtkD.init(char[][]) or something in it. Not sure how to proceed here, I'll see what I can find...

Quote:
Actually i just posted a working one Wink

I did this also for gstreamer gtkgl etc, and now it looks like this:

I can confirm this correctly builds gtkD and installs the libs to the right paths.

Who's the active maintainer of this project?
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Thu Dec 13, 2007 10:45 pm    Post subject: Reply with quote

okibi wrote:
I'll revise the preview release as well, probably tonight.

Should we start committing these changes to the svn repo here? It kinda is the official source and should work. I don't know if Ant would have a problem with that.

I believe I still have commit access, if needed I can commit the changes.


Does this release include both phobos and tango compatibility?

Anyway, I'm not sure who is actively maintaining gtkD anymore. I think it is fine to commit to the svn "branches" directory for now, until it can be determined that this is appropriate to update the main branch (ie, trunk). So go ahead if you still have commit rights.

Thanks for fixing these things up, guys.

-JJR
Back to top
View user's profile Send private message
okibi



Joined: 04 Jan 2007
Posts: 170

PostPosted: Fri Dec 14, 2007 4:34 am    Post subject: Reply with quote

This release (as well as preview 6 posted on the main page) works with both Phobos and Tango, however I need to fix the dsss.conf issue.

Ant is the "maintainer", but as for active, I make preview releases, and that's pretty much all anyone does...

I'll email Ant before I commit any changes. I'd like to get his approval before doing anything to the svn. Releases via the main page are sufficient in most cases.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Fri Dec 14, 2007 8:06 am    Post subject: Reply with quote

Yep, I know Ant is the original maintainer (but doesn't appear to be active)... I helped him with gtkD a few years ago and use to contribute a little to the project (windows and linux). I supported him and his project for quite a while. Smile

If you feel you want to add it to svn trunk right away, then emailing a request to him is the correct thing to do.

Otherwise, we can put it in the branches folder, and we can sort things out from there (ie. move it to trunk eventually if we receive no reply from Ant). I can do it for you if you don't feel comfortable with that Smile. I have admin rights here, still, so I don't think it would be abusing the position to keep gtkD going Razz.

-JJR
Back to top
View user's profile Send private message
Pse



Joined: 13 Dec 2007
Posts: 36

PostPosted: Fri Dec 14, 2007 9:49 am    Post subject: Reply with quote

okibi wrote:
I'll email Ant before I commit any changes. I'd like to get his approval before doing anything to the svn. Releases via the main page are sufficient in most cases.


Would you mind posting back when you get a reply? It'd probably be wise to do as JJR suggested in the meantime. Is anyone willing to set up a development roadmap in case the original maintainer cannot be reached? Okibi, are you still working on documentation? I'd be willing to lend a hand if we could agree on the things that need to be done.
Back to top
View user's profile Send private message
kaarna



Joined: 03 Apr 2006
Posts: 92
Location: Finland

PostPosted: Sat Dec 15, 2007 8:57 am    Post subject: Reply with quote

Mauer wrote:
Actually i just posted a working one Wink


I missed your previous post for some reason... I haven't tested your dsss.conf file yet, but it looks nice. I tried to do something similar back in the days, but dsss refused to build it.

I haven't tested the okibi release either, but if it works for Tango and Phobos, and if it uses the gtkwrap program to generate the code, then I don't think there's no reason to ask Ant about committing to the trunk. The trunk is broken. It should be fixed. (If anyone has the time.) I've made several commits in the past, and first I asked Ant about them, but as it always was ok for him, I stopped asking and just did it. This project will go nowhere if we'll always ask everything. If the commit isn't good, it can always be cancelled, and replaced with something better... That's what version control systems are for.

This project has far too little commits to the svn and just too many fixes of it in different places. (I'm guilty of that too Smile )

And even if okibi didn't use gtkwrap to generate it, I'd suggest you just commit it if you know how, and have commit rights.

And then other people can start adding to that.
Back to top
View user's profile Send private message AIM Address MSN Messenger
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sat Dec 15, 2007 11:26 am    Post subject: Reply with quote

Good points, kaarna.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sat Dec 15, 2007 5:49 pm    Post subject: Reply with quote

I just tested the pre-release 6 package and I have a few comments:

***************

Unfortunately, it does not work in my configuration for either phobos or tango, using compd or dsss.

My configuration:

Windows XP, dmd 1.024, dsss 0.73 (svn)

****************

Using Phobos, I'm able to run compdGtkD.bat, and it successfully creates the gtkd.lib, yet I cannot build (that is "link" stage failure) any of the tests programs by running compdGtkDTests.bat because compd[ appears to ignore my environment settings (for linking in phobos.lib) and force it's own search for phobos.lib (which it cannot find). Bad, bad compd. Sad

**************

The newly added dsss.conf does not seem to work either... it outputs this:
Code:
src => gtkD

srcgl => gtkDgl

srcgstreamer => gstreamerD


but it completes quickly and there are no generated object files and no error output, so I really don't understand what is wrong at this point.

**************

There are no instructions for how to compile all this with Tango either. When I try to build for Tango, compd appears to be defaulting to Phobos, so it's a no go there. There is no "version=Tango" added to compd.

**************

I see these issues as being related to using a proprietary build tool (compd). This actually is becoming an issue across several different projects, in that each has no standard build installation structure, although dsss seems to be slowly becoming more popular.

I think dsss/rebuild is the best bet for standardizing a build procedure. I would suggest that compd eventually be deprecated in favour of dsss at some point. In it's current state, gtkD and compd assume too much about dmd settings. Further, there is no obvious way on how to use compd properly. I believe at some point it would be wise to separate the gtkd's "leds" connection (the primary user of compd) and move gtkd to a more generic build system.

- JJR
Back to top
View user's profile Send private message
Auria



Joined: 29 May 2006
Posts: 44

PostPosted: Sat Dec 15, 2007 6:12 pm    Post subject: Reply with quote

+1 with JJR

When trying to build gtkD, compd also was the first problem I met ( and it was solved by not using it Laughing )
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sat Dec 15, 2007 10:10 pm    Post subject: Reply with quote

On linux,

USING compd:

compdGtkD.sh works (produces libgtkd.a)
compdGtkTests.sh does not work (error in link stage again)

USING DSSS:

success building main libraries
NO success building any demos (error in link stage -- undefined symbols).

I don't think this is a configuration issue on windows or linux since other projects compile fine.

Setup and building of gtkd seems overly complicated, and there is really no instructions to say what the expected dmd configuration should be... I hope we can figure out away to simplify it drastically and make it work reliably. (I realize that part of the problem is that "compd" was mostly designed for use with leds.)

The setup/build system may need an overhall.

Sometimes I wish there existed some sort of packaging system for these libraries such that using a new library in a project were as easy as placing something like a gtkd.pak (archived vfs) in a directory and allowing a special tool to extract the necessary "headers" and "library" on demand for the compiler and linker; it could even be "fat", similar to Mac OSX universal binaries, to accomodate linux and windows. It certainly would be much tidier. Razz

-JJR
Back to top
View user's profile Send private message
stealth



Joined: 06 May 2007
Posts: 9

PostPosted: Sun Dec 16, 2007 8:45 am    Post subject: Reply with quote

JJR wrote:
USING DSSS:

success building main libraries
NO success building any demos (error in link stage -- undefined symbols).

With the dsss.conf files it should be possible to build the libraries.

But you can not yet build any programs using gtkD because of a bug in dsss (http://dsource.org/projects/dsss/ticket/175)
Until this is fixed, you can work around this, by opening "include/d/gtkc/Loader.di" (when it is installed by dsss) and moving the imports in lines 79 to 86 out of the class "Linker".
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 8:59 am    Post subject: Reply with quote

Mauer wrote:
But you can not yet build any programs using gtkD because of a bug in dsss (http://dsource.org/projects/dsss/ticket/175)
Until this is fixed, you can work around this, by opening "include/d/gtkc/Loader.di" (when it is installed by dsss) and moving the imports in lines 79 to 86 out of the class "Linker".


Hmmm... thanks for the tip, Maur. This should actually be fixed in the gtkD source, not dsss. I'm surprised that imports in classes are still allowed; they should have long been deprecated in D. A few years ago, Ant used to put imports inside most of the classes in DUI (old gtkd) to workaround short-comings in the dmd compiler. It really shouldn't be necessary anymore. And I don't think dsss should have to be fixed to accomodate this bad practice (unless I'm missing something).

-JJR
Back to top
View user's profile Send private message
Pse



Joined: 13 Dec 2007
Posts: 36

PostPosted: Sun Dec 16, 2007 10:18 am    Post subject: Reply with quote

JJR wrote:
Mauer wrote:
But you can not yet build any programs using gtkD because of a bug in dsss (http://dsource.org/projects/dsss/ticket/175)
Until this is fixed, you can work around this, by opening "include/d/gtkc/Loader.di" (when it is installed by dsss) and moving the imports in lines 79 to 86 out of the class "Linker".


Hmmm... thanks for the tip, Maur. This should actually be fixed in the gtkD source, not dsss. I'm surprised that imports in classes are still allowed; they should have long been deprecated in D. A few years ago, Ant used to put imports inside most of the classes in DUI (old gtkd) to workaround short-comings in the dmd compiler. It really shouldn't be necessary anymore. And I don't think dsss should have to be fixed to accomodate this bad practice (unless I'm missing something).

-JJR


I can successfully compile gtkD from the GIT repos without touching any imports (just messing with the dsss.conf files), are you sure this hasn't been fixed already?

Quote:
USING DSSS:

success building main libraries
NO success building any demos (error in link stage -- undefined symbols).

I have created and/or fixed the dsss.conf files for the following demos in gtkD: cairo, glade, gtk and gtkD. All of them compile and work as expected. Manual modification of one demo in the gtk subdir was necessary because it depended on deprecated features in gtkD. I have also created a dsss.conf file that should allow dsss to correctly build the libraries from the root folder of the project.
Where should I commit these changes? Anonymous git?

Edit: Might I add, DSource repos should be fixed ASAP, as well as migration (or not) to a new version control system. All changes/improvements should go to a central repository if development is to continue.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> gtkD All times are GMT - 6 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group