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
ShprotX



Joined: 28 Aug 2007
Posts: 24
Location: Ukraine

PostPosted: Sun Dec 16, 2007 11:17 am    Post subject: Reply with quote

Pse wrote:
Where should I commit these changes? Anonymous git?

if you are using kaarna's branch then
kaarna wrote:
If you already know git, there's a branch named mob that you can push your changes anonymously.
Back to top
View user's profile Send private message
Pse



Joined: 13 Dec 2007
Posts: 36

PostPosted: Sun Dec 16, 2007 1:32 pm    Post subject: Reply with quote

Done, compilation with DSSS should work from the root of the project. Demos should work too, but DSSS invocation should be done from within the demos folder and after gtkD is properly installed. Building with Tango is not tested, if problems arise I'll try to fix them.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 1:40 pm    Post subject: Reply with quote

Yes, there appears to be enough interest in gtkD to justify maintaining it in trunk. I don't think Ant would mind anyway. I think I'll go ahead and update the svn trunk (I assume the git repository is the best source for this?).

I may also look into starting a new simpler/cleaner branch of gtkD. The loader itself needs some revamping too... it seems to have hardly been touched over the years. There are a few new D features that could simplify some things in gtkD.

About dsss... pse, would you be able to add some simple instructions to a text file indicating how to use dsss on gtkD? Seems this isn't always clear to some.

Something like:
Code:

Build gtkd.lib or libgtkd.a:
dsss build

Install the library and headers for dsss use:
dsss install

Build the demos:
cd demos\<folder>
dsss build


If that's correct? Smile

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



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 2:25 pm    Post subject: Reply with quote

Pse wrote:
Done, compilation with DSSS should work from the root of the project. Demos should work too, but DSSS invocation should be done from within the demos folder and after gtkD is properly installed. Building with Tango is not tested, if problems arise I'll try to fix them.


I assume you updated the dsss.conf in the git repository? I did a checkout of gtkd from git and dsss.conf for building the main library still doesn't work on windows (it just spits out the three build sections and leaves no error message). Are you using linux?
Back to top
View user's profile Send private message
Pse



Joined: 13 Dec 2007
Posts: 36

PostPosted: Sun Dec 16, 2007 3:06 pm    Post subject: Reply with quote

JJR wrote:
Pse wrote:
Done, compilation with DSSS should work from the root of the project. Demos should work too, but DSSS invocation should be done from within the demos folder and after gtkD is properly installed. Building with Tango is not tested, if problems arise I'll try to fix them.


I assume you updated the dsss.conf in the git repository? I did a checkout of gtkd from git and dsss.conf for building the main library still doesn't work on windows (it just spits out the three build sections and leaves no error message). Are you using linux?


Yes, I'm on linux. Did you do the checkout from the mob branch? I don't have commit access to HEAD.

I have added README_DSSS to the mob branch with instructions on how to build gtkD with DSSS and its demos. I've also updated the README and INSTALL files with references to DSSS.

JJR, would you mind posting the output of your DSSS build process? I'll see what I can do.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 3:20 pm    Post subject: Reply with quote

Ah, I see. No I didn't know there was a "mob" branch. I guess I'll try checking that out. Using the HEAD branch, nothing is working on windows other than compgtkD.bat (which builds the gtkD.lib). But I can't even use a source based build (using rebuild) to make a demo -- there are errors in phobos link stage and one undefined symbol from gtk-Widget.obj (even though all symbols that are undefined do seem to exist in the object/lib files).

I'll try the "mob" branch and let you know how it goes.

the output of "dsss build" for HEAD is:
Code:
src => gtkD

srcgl => gtkDgl

srcgstreamer => gstreamerD]


which ends quickly, results in no object files, and gives no error. I'm using dmd 1.024 with phobos.

It could be my configuration, but, like I said earlier, some other projects build fine in the same configuration/environment (eg. guisterax project, which has a dsss.conf file).
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 4:02 pm    Post subject: Reply with quote

Basically the same problem with "mob" branch. The output of "dsss build":

Code:
atk => DD-atk

cairoLib => DD-cairoLib

gdk => DD-gdk

gdkpixbuf => DD-gdkpixbuf

glade => DD-glade

glib => DD-glib

gobject => DD-gobject

gthread => DD-gthread

gtk => DD-gtk

gtkc => DD-gtkc

pango => DD-pango


Seems windows just doesn't like the dsss setup. I'll look at the file and play with a few settings.
Back to top
View user's profile Send private message
Pse



Joined: 13 Dec 2007
Posts: 36

PostPosted: Sun Dec 16, 2007 4:16 pm    Post subject: Reply with quote

JJR wrote:
Basically the same problem with "mob" branch. The output of "dsss build":

Code:
atk => DD-atk

cairoLib => DD-cairoLib

gdk => DD-gdk

gdkpixbuf => DD-gdkpixbuf

glade => DD-glade

glib => DD-glib

gobject => DD-gobject

gthread => DD-gthread

gtk => DD-gtk

gtkc => DD-gtkc

pango => DD-pango


Seems windows just doesn't like the dsss setup. I'll look at the file and play with a few settings.


You may try running DSSS with "-n -v" as arguments:
Code:
dsss distclean
dsss build -n -v

That should flood you with details, hopefully pointing to what's wrong.

What version of DSSS are you running?
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 4:25 pm    Post subject: Reply with quote

Uh... hold on for a bit... I think the problem might be my fault (my configuration). I have my compiler directories and some project directories set up with "periods" as deliminators (eg. C:\compiler\dmd.v1 and C:\projects\d.v1.phobos\<project>). I'm not certain but this may confuse dsss and/or dmd because namesapces replace slashes with periods. I'll fix this and try again. I'm not sure why guiesterax works... maybe just because it's not as complicated a project.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 5:19 pm    Post subject: Reply with quote

Ok, I downloaded the dsss binaries again and reinstalled. I also simplified my dmd configuration drastically and reinstalled dmd 1.024.

dsss is 0.73 (as it was before, but last time I was using an svn build; it seems rebuild was not behaving)

Now... the gtkD lib's build properly with dmd/phobos/dsss. *phew*

I then tried doing a "dsss build" in the demos directory. Almost worked except that the link process failed... seems the linker can't find the win32 registry functions even though they exist in phobos Sad

Code:
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegQueryValueExA@24
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegCloseKey@4
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegQueryInfoKeyA@48
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegCreateKeyExA@36
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegOpenKeyExA@20
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegOpenKeyA@12
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegDeleteKeyA@8
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegSetValueExA@24
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegDeleteValueA@8
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegFlushKey@4
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegEnumKeyExA@32
C:\compiler\dmd\bin\..\lib\phobos.lib(registry)
 Error 42: Symbol Undefined _RegEnumValueA@32
--- errorlevel 12
Command C:\compiler\dsss\bin\rebuild.exe returned with code -1, aborting.
Error: Command failed, aborting.


These are the same errors I had before. I'm not sure what's wrong here.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 5:36 pm    Post subject: Reply with quote

Ah, I think I've figured it out.

It looks like I have to link with advapi32.lib in order to resolve those symbols.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 5:47 pm    Post subject: Reply with quote

Example Cairo clock now compiles and links. Smile

I just needed to add "-lladvapi32" to dsss.conf's buildflags section.

The executable won't run without failing, at the moment; but this is a good start.

Looks like "libiconv_set_relocation_prefix" doesn't exist in iconv.dll... strange.
Back to top
View user's profile Send private message
Pse



Joined: 13 Dec 2007
Posts: 36

PostPosted: Sun Dec 16, 2007 6:02 pm    Post subject: Reply with quote

JJR wrote:
Example Cairo clock now compiles and links. Smile

I just needed to add "-lladvapi32" to dsss.conf's buildflags section.

The executable won't run without failing, at the moment; but this is a good start.

Looks like "libiconv_set_relocation_prefix" doesn't exist in iconv.dll... strange.


Something must be wrong if the needed libs are not getting automatically appended to the commands being executed by rebuild. I just wonder what that might be...

Once you've sorted out the necessary buildflags, a "version (Windows)" section could be added to the dsss.conf file to handle this automatically.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 9:58 pm    Post subject: Reply with quote

Yes, a version statement is likely a necessary addition.

So far so good. I've tracked down the problem with iconv.dll... it's the typical horrid dll version issue in windows. There are other pieces of software that add their binary directory to the environment PATH. They have older versions of iconv.dll in them.. those get loaded first and, as a result, fail. Sad

Some offenders with iconv.dll are subversion, cvs, mercurial... the installer for all these programs add their location to the path (and thus the associated iconv.dll in each directory). Mercurial is a little more deadly because it has all the gtk dll's as well.

The way to fix it was to put the GTK directory first in the path and hope it doesn't mess with those pieces... or to remove all these from the path and ensure that each has it's own set of GTK dll's (as needed). What a pain!

Anyway... cairo_clock now runs great... gladetest is compiling but failing on line 25 with an ArrayBounds error. Looking good, otherwise.

I'll continue to test these and clean things up.
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Sun Dec 16, 2007 10:01 pm    Post subject: Reply with quote

oh.. and I see why line 25 exited with an ArrayBounds error.

Seems you need to submit a commandline argument for gladeTest. Smile
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 3 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