View previous topic :: View next topic |
Author |
Message |
Sage Rat
Joined: 25 Mar 2009 Posts: 10
|
Posted: Wed Mar 25, 2009 1:29 am Post subject: Building the Newest Version? |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Sage Rat
Joined: 25 Mar 2009 Posts: 10
|
Posted: Thu Mar 26, 2009 3:37 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Sage Rat
Joined: 25 Mar 2009 Posts: 10
|
Posted: Thu Mar 26, 2009 3:54 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Sage Rat
Joined: 25 Mar 2009 Posts: 10
|
Posted: Fri Mar 27, 2009 3:48 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sat Apr 11, 2009 3:38 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Sage Rat
Joined: 25 Mar 2009 Posts: 10
|
Posted: Sun May 10, 2009 12:11 am Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Sage Rat
Joined: 25 Mar 2009 Posts: 10
|
Posted: Sun May 10, 2009 3:23 am Post subject: |
|
|
Well, so I decided to say the heck with it and make my own build script that I knew how to debug myself.
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 |
|
![](templates/subSilver/images/spacer.gif) |
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sun May 10, 2009 6:48 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sun May 10, 2009 7:01 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Sage Rat
Joined: 25 Mar 2009 Posts: 10
|
Posted: Mon May 11, 2009 9:15 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Tue Jun 23, 2009 7:14 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
johnhenry
Joined: 17 Jul 2009 Posts: 3
|
Posted: Fri Jul 17, 2009 5:46 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sat Jul 18, 2009 1:01 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
johnhenry
Joined: 17 Jul 2009 Posts: 3
|
Posted: Sat Jul 18, 2009 7:06 pm Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
Posted: Sun Jul 19, 2009 9:52 am Post subject: |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
|