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

Building the Newest Version?
Goto page 1, 2  Next
 
Post new topic   Reply to topic     Forum Index -> Yage
View previous topic :: View next topic  
Author Message
Sage Rat



Joined: 25 Mar 2009
Posts: 10

PostPosted: Wed Mar 25, 2009 1:29 am    Post subject: Building the Newest Version? Reply with quote

I've been able to get revision 118 to build, but the newest (Tango based) version fails, giving a bunch of odd Phobos errors:

Quote:
T:\programs\yage\src>bud -IT:\tango\import -op -clean yage/all.d
t:\dmd\src\phobos\std\c\stdio.d(117): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(117): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(117): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\c\stdio.d(393): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(393): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(393): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\c\stdio.d(394): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(394): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(394): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\c\stdio.d(396): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(396): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(396): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\c\stdio.d(446): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(446): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(446): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\c\stdio.d(447): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(447): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(447): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\c\stdio.d(449): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(449): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(449): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\c\stdio.d(451): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\c\stdio.d(451): Error: va_list is used as a type
t:\dmd\src\phobos\std\c\stdio.d(451): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\array.d(6): Error: identifier 'Error' is not defined
t:\dmd\src\phobos\std\array.d(6): Error: Error is used as a type
t:\dmd\src\phobos\std\array.d(6): class std.array.ArrayBoundsError base type mus
t be class or interface, not void
t:\dmd\src\phobos\std\string.d(826): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\string.d(826): Error: string is used as a type
t:\dmd\src\phobos\std\string.d(826): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\string.d(826): Error: string is used as a type
t:\dmd\src\phobos\std\string.d(826): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\string.d(902): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\string.d(902): Error: string is used as a type
t:\dmd\src\phobos\std\string.d(902): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\string.d(902): Error: string is used as a type
t:\dmd\src\phobos\std\string.d(902): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\string.d(3459): Error: identifier 'va_list' is not defined

t:\dmd\src\phobos\std\string.d(3459): Error: va_list is used as a type
t:\dmd\src\phobos\std\string.d(3459): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\stdio.d(128): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\stdio.d(128): Error: string is used as a type
t:\dmd\src\phobos\std\stdio.d(128): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\stdio.d(146): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\stdio.d(146): Error: string is used as a type
t:\dmd\src\phobos\std\stdio.d(146): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\stdio.d(292): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\stdio.d(292): Error: string is used as a type
t:\dmd\src\phobos\std\utf.d(49): Error: identifier 'Error' is not defined
t:\dmd\src\phobos\std\utf.d(49): Error: Error is used as a type
t:\dmd\src\phobos\std\utf.d(49): class std.utf.UtfError base type must be class
or interface, not void
t:\dmd\src\phobos\std\format.d(71): Error: identifier 'Error' is not defined
t:\dmd\src\phobos\std\format.d(71): Error: Error is used as a type
t:\dmd\src\phobos\std\format.d(71): class std.format.FormatError base type must
be class or interface, not void
t:\dmd\src\phobos\std\format.d(80): Error: identifier 'string' is not defined
t:\dmd\src\phobos\std\format.d(80): Error: string is used as a type
t:\dmd\src\phobos\std\format.d(80): Error: cannot have parameter of type void
t:\dmd\src\phobos\std\format.d(448): Error: identifier 'va_list' is not defined
t:\dmd\src\phobos\std\format.d(448): Error: va_list is used as a type
t:\dmd\src\phobos\std\format.d(448): Error: cannot have parameter of type void


Do I need to disconnect Phobos? If so, how?

I've also noticed that the build instructions on the Wiki are quite out of date. The file that was yage/src/yage/main.d is now all.d, and the yage/proj folder has build files by a different name than what is in the instructions. Perhaps this could be updated?
Back to top
View user's profile Send private message
Sage Rat



Joined: 25 Mar 2009
Posts: 10

PostPosted: Thu Mar 26, 2009 3:37 pm    Post subject: Reply with quote

Well I've gotten tangobos all set up. (Doh.) So that deals with all of those errors. But now I get this error: "object.d: module object cannot read file 'object.d'"
Back to top
View user's profile Send private message
Sage Rat



Joined: 25 Mar 2009
Posts: 10

PostPosted: Thu Mar 26, 2009 3:54 pm    Post subject: Reply with quote

Right, got it:

bud -op -clean -It:\tangobos;t:\tango\import yage/all.d

Obviously, needing to be corrected to wherever your packages are on your system.
Back to top
View user's profile Send private message
Sage Rat



Joined: 25 Mar 2009
Posts: 10

PostPosted: Fri Mar 27, 2009 3:48 pm    Post subject: Reply with quote

Sorry, I'm working on this a little bit each day. It seems that while the above did succeed in some fashion, it didn't produce any visible output. If I remove the -clean section I end up with a bunch of object files, but if anything else is being output I don't know what it is. And if I try to build the demo1 files, I get linker errors.

Overall it would really help if I could know what all packages I need, where they need to be in relation to each other, whether you're using sc.ini files, what versions of tango/tangobos you're using, etc.
Back to top
View user's profile Send private message
JoeCoder



Joined: 29 Oct 2005
Posts: 294

PostPosted: Sat Apr 11, 2009 3:38 pm    Post subject: Reply with quote

If you look in the proj folder, there's a build script that takes care of everything for you (maybe I should just put it in the root so it's easier to find).

dmd -run buildyage.d should be all you need to do on Windows or Linux. The project currently works with tango 0.99.7 + tangobos, but I'm still phasing out the tangobos and hope to move to tango 0.99.8 soon. You can also modify the config at the top of buildyage.d to select between building demo1 or demo2.

Sorry it took me so long to get back to you on this, I really should check this forum more often.
Back to top
View user's profile Send private message
Sage Rat



Joined: 25 Mar 2009
Posts: 10

PostPosted: Sun May 10, 2009 12:11 am    Post subject: Reply with quote

No worries, I'm slow here as well, obviously.

Okay, I downloaded the 0.99.7 Tango + Tangobos binary release for Windows. I unzipped that to C:\tango and set my PATH to include C:\tango\bin. My PATH doesn't include the dmc or dmd packages from Digital Mars at all. Now I go to yage, which has been checked out from SVN and updated to the newest revision (r130), enter the proj directory and do:

dmd -run buildyage.d -verbose

The output of that is:

Code:
Building Yage...
If you're curious, the options are:
   -clean     Delete all intermediate object files.
   -ddoc      Generate documentation in ../doc/api
   -debug     Include debugging symbols.
   -gdc       Compile using gdc instead of dmd.
   -profile   Compile in profiling code.
   -release   Optimize, inline expand functions, and remove unit tests/asserts.
   -run       Run when finished.
   -silent    Hide this helpful message.
   -verbose   Print all commands as they're being executed.
Example:  dmd -run buildme.d -clean -release -run
[Cleaning]
dmd -O -inline -release build.d -ofbuild.exe
[Compiling]
dmd @compile
OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
OPTLINK : Warning 9: Unknown Option : PROGRAMS
OPTLINK : Warning 9: Unknown Option : YAGE
OPTLINK : Warning 9: Unknown Option : PROJ
OPTLINK : Warning 9: Unknown Option : ..
OPTLINK : Warning 9: Unknown Option : .OBJ\YAGE3D
T:.obj
 Error 2: File Not Found T:.obj
--- errorlevel 1
Compile failed.  Please fix the errors and try again.


Is any of my setup different from what you have?
Back to top
View user's profile Send private message
Sage Rat



Joined: 25 Mar 2009
Posts: 10

PostPosted: Sun May 10, 2009 3:23 am    Post subject: Reply with quote

Well, so I decided to say the heck with it and make my own build script that I knew how to debug myself. Wink

I've made a library (.lib) version of Yage+Derelict and included .di files for everything so anyone can build their own app without having to build Yage. That can be downloaded from here. I've tested it against demo1, and it builds out fine.
Back to top
View user's profile Send private message
JoeCoder



Joined: 29 Oct 2005
Posts: 294

PostPosted: Sun May 10, 2009 6:48 pm    Post subject: Reply with quote

Sorry that you had so much trouble building it. I recently moved to tango 0.99.8 to fix some xml issues I was having, but I think your problems may have been deeper than that. I think that once I'm finished with the transition from phobos to tango, building it will be easier once again (the build script is also in this transition--works for me, but I'll test it more thoroughly when phobos is removed). In the mean time, keep emailing or posting here if you need more help.

Out of curiosity, what's your interest in yage?
Back to top
View user's profile Send private message
JoeCoder



Joined: 29 Oct 2005
Posts: 294

PostPosted: Sun May 10, 2009 7:01 pm    Post subject: Reply with quote

Haven't had time to boot into windows yet, but noticed that the build script has issues when the path has a space in it. I'll see if I can't get that fixed for the next release.
Back to top
View user's profile Send private message
Sage Rat



Joined: 25 Mar 2009
Posts: 10

PostPosted: Mon May 11, 2009 9:15 pm    Post subject: Reply with quote

JoeCoder wrote:
Haven't had time to boot into windows yet, but noticed that the build script has issues when the path has a space in it.

Nope, no spaces in the folder paths I'm using. If you can modify buildyage.d to output more data under -verbose I can put it here, but I guess it's not a big deal for the moment.

Quote:
Out of curiosity, what's your interest in yage?

Hopefully to build a few games. I'm dissatisfied with the quality and originality of multiplayer casual games, and D seems like a pretty ideal language for gaming since there's no speed hit, the compiler's free, the language is safer and simpler to use than C++, and you can use any C libraries you could ever want.

Having never used a game engine before (though I've coded up some simple 3D libraries just to verify I know the basic math), something small and even incomplete like Yage seems pretty ideal. Once I understand the code possibly I'll add to it, but at the moment I can't say anything. My full-time job now is to create a game, so something should be coming out from me decently soon now.

There's an open source Java engine called jMonkeyEngine that might be a good source for stealing code, since Java is more easily converted to D than C++, which is what all other 3D engines seem to be in.
Back to top
View user's profile Send private message
JoeCoder



Joined: 29 Oct 2005
Posts: 294

PostPosted: Tue Jun 23, 2009 7:14 pm    Post subject: Reply with quote

Your trouble with the build script inspired me to write a new build script. I called it cdc (Compile D Code) and put it in the ./build folder. It works similarly to bud/dsss except that it's a single d script file (so it can easily be included with any project), and accepts folders as well as files for input. I'll probably eventually create a separate project for it on dsource, but for now I was curious if it worked for you. buildyage.d now calls it directly.
Back to top
View user's profile Send private message
johnhenry



Joined: 17 Jul 2009
Posts: 3

PostPosted: Fri Jul 17, 2009 5:46 pm    Post subject: Reply with quote

Clever build script, :) After a few min scanning your forums here, I installed tangobos and updated tango to the latest revision. I was left with only one build error that I was able to quick and dirty patch in to submission with a short look at tangos API.

One of the easiest Zero to Built experiences I have had dealing with Open Source projects.
Back to top
View user's profile Send private message
JoeCoder



Joined: 29 Oct 2005
Posts: 294

PostPosted: Sat Jul 18, 2009 1:01 pm    Post subject: Reply with quote

Thanks. I hope to get rid of the tangobos dependency eventually.

I've been using tango 0.99.8. What was the error (and on what os?)

Glad to see you're still in the programming world. How's the southwest?
Back to top
View user's profile Send private message
johnhenry



Joined: 17 Jul 2009
Posts: 3

PostPosted: Sat Jul 18, 2009 7:06 pm    Post subject: Reply with quote

Yea I have Tango 0.99.8, it wont compile with 99.7 due to minor changes in directory structure.

Win vista 64 bit

the error, (tolower) was undefined, in yage.resource.manager.d since I have no idea where it was supposed to be defined I scanned Tango API and replaced it with (toLower) from tango.text.Unicode after adding an Import.

That doesn't actually resolve the issue but it builds :)
I thought it was probably caused by minor dependency version issues but was to lazy (I know your shocked right?) to actually track down where it was supposed to be defined at.


I actually haven't programmed in a long while but I am considering using Yage in a non game project provisionally code named Glimpse :P a concept modeler attempting to build a 3D Paradigm representation to easily keep track of concept dependencies, assumptions, and inferences. I have found words to be highly cumbersome vectors for concepts/ideas, and it would be just plain neat to be able to communicate more efficiently using a less lossy medium.

As for the south west its hot and dry, a little more so than typical.
Back to top
View user's profile Send private message
JoeCoder



Joined: 29 Oct 2005
Posts: 294

PostPosted: Sun Jul 19, 2009 9:52 am    Post subject: Reply with quote

Sounds a little bit like a mind map? What features is yage missing that Glimpse would require?

I had been using tango.text.Ascii's toLower, but I didn't realize that Unicode had one as well, so that's even better.

"That doesn't actually resolve the issue but it builds" Are you getting runtime errors now?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Yage All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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