digitalmars.D - Got Mango? ( installation / compiling instructions)
- jicman (12/12) Feb 22 2005 Folks,
- Kris (8/20) Feb 22 2005 You need to include mango.lib as one of the files supplied to dmd.exe, w...
- jicman (3/10) Feb 22 2005 Kris,
- Derek (7/24) Feb 22 2005 I haven't tried Mango yet, but I'll test it with my Build utility today.
- Kris (2/23) Feb 22 2005 Excellent; let us know how it works out?
- Derek Parnell (42/69) Feb 22 2005 It works okay, not fine but just okay. With the current v1.2 of Build (
- John Reimer (9/93) Feb 22 2005 Great work, Derek! Building Mango is an excellent stress test for
- Derek Parnell (18/112) Feb 22 2005 Sure, just pass them on the build command line...
- Kris (4/14) Feb 22 2005 Get's my vote. Just as Win32 should be the default on that platform?
- Derek Parnell (163/166) Feb 22 2005 I've just got 'build' to compile all of mango and create a mango.lib by
Folks, I have looked for more than 1/2 hour how to compile a simple sample mango program, but there are no instructions anywhere. Well, not that I can find. None of the documentation download (mango_release_1-1_doc.zip) contain any d sample compile commands. Does any one have any website where it would show some d compile samples? When I try dmd source.d I get a bunch of errors of libraries not found. How do I pass the mango libraries to dmd? I looked over mango and it's something that I want to do for the http stuff that I am doing, but I can't get it to work. thanks, josé
Feb 22 2005
In article <cvfld4$fba$1 digitaldaemon.com>, jicman says...Folks, I have looked for more than 1/2 hour how to compile a simple sample mango program, but there are no instructions anywhere. Well, not that I can find. None of the documentation download (mango_release_1-1_doc.zip) contain any d sample compile commands. Does any one have any website where it would show some d compile samples? When I try dmd source.d I get a bunch of errors of libraries not found. How do I pass the mango libraries to dmd? I looked over mango and it's something that I want to do for the http stuff that I am doing, but I can't get it to work. thanks, joséYou need to include mango.lib as one of the files supplied to dmd.exe, which will then pass it along to the linker; e.g. on windows: dmd myfile.d myotherfile.d mango.lib All libraries are handled this way with dmd ~ you would typically have to add phobos.lib also, but the compiler assumes you want that anyway. Hope that helps - Kris
Feb 22 2005
In article <cvg37n$15sk$1 digitaldaemon.com>, Kris says...You need to include mango.lib as one of the files supplied to dmd.exe, which will then pass it along to the linker; e.g. on windows: dmd myfile.d myotherfile.d mango.lib All libraries are handled this way with dmd ~ you would typically have to add phobos.lib also, but the compiler assumes you want that anyway. Hope that helps - KrisKris, that help a lot. Thanks.
Feb 22 2005
On Tue, 22 Feb 2005 16:08:04 +0000 (UTC), jicman wrote:Folks, I have looked for more than 1/2 hour how to compile a simple sample mango program, but there are no instructions anywhere. Well, not that I can find. None of the documentation download (mango_release_1-1_doc.zip) contain any d sample compile commands. Does any one have any website where it would show some d compile samples? When I try dmd source.d I get a bunch of errors of libraries not found. How do I pass the mango libraries to dmd? I looked over mango and it's something that I want to do for the http stuff that I am doing, but I can't get it to work. thanks, joséI haven't tried Mango yet, but I'll test it with my Build utility today. Hopefully then all one would have to do is type in "build source" on the command line. -- Derek Melbourne, Australia
Feb 22 2005
In article <1kj7oykh4lu8z$.17s4c3tmmsdpe.dlg 40tude.net>, Derek says...On Tue, 22 Feb 2005 16:08:04 +0000 (UTC), jicman wrote:Excellent; let us know how it works out?Folks, I have looked for more than 1/2 hour how to compile a simple sample mango program, but there are no instructions anywhere. Well, not that I can find. None of the documentation download (mango_release_1-1_doc.zip) contain any d sample compile commands. Does any one have any website where it would show some d compile samples? When I try dmd source.d I get a bunch of errors of libraries not found. How do I pass the mango libraries to dmd? I looked over mango and it's something that I want to do for the http stuff that I am doing, but I can't get it to work. thanks, joséI haven't tried Mango yet, but I'll test it with my Build utility today. Hopefully then all one would have to do is type in "build source" on the command line.
Feb 22 2005
On Tue, 22 Feb 2005 20:20:56 +0000 (UTC), Kris wrote:In article <1kj7oykh4lu8z$.17s4c3tmmsdpe.dlg 40tude.net>, Derek says...It works okay, not fine but just okay. With the current v1.2 of Build ( www.dsource.org ) you have to specify the directory in which the 'mango' tree is installed. For example, if I've installed mango into the directory C:\dlibs\ then the following command line works ... build msource -C:\dlibs BTW, the test source code I used is ... <code> module msource; private import mango.io.Buffer; private import std.stdio; void main() { Buffer B = new Buffer(4000); writefln("The buffer has readable:%d writeable:%d bytes.", B.readable, B.writable); } </code> For my first attempt to use build for mango apps, I edited the sc.ini file to include the mango lib path ... old: DFLAGS=-I% P%\..\src\phobos new: DFLAGS=-I% P%\..\src\phobos;c:\dlibs but this highlighted a bug in build; it didn't recognize semi-colon delimited flags. So I fixed that, but even though now 'build' could find the mango imports, 'dmd' still couldn't. So keeping the sc.ini file with the mango lib path in it, I tried invoking dmd with an explict -Ic:\dlibs on it and it worked! So my conclusion is that DMD does not use the sc.ini file correctly for DFLAG options. I have now updated build to explicitly add an DFLAG options in to the dmd command line it invokes, and now it works just fine. In other words, after updating your sc.ini file to include the mango path, all you will have to do to compile an app that uses mango is ... build msource Works a treat! :D I'll upload BUILD v1.3 later today, as I'll play with this workaround a bit more first. -- Derek Melbourne, Australia 23/02/2005 12:12:06 PMOn Tue, 22 Feb 2005 16:08:04 +0000 (UTC), jicman wrote:Excellent; let us know how it works out?Folks, I have looked for more than 1/2 hour how to compile a simple sample mango program, but there are no instructions anywhere. Well, not that I can find. None of the documentation download (mango_release_1-1_doc.zip) contain any d sample compile commands. Does any one have any website where it would show some d compile samples? When I try dmd source.d I get a bunch of errors of libraries not found. How do I pass the mango libraries to dmd? I looked over mango and it's something that I want to do for the http stuff that I am doing, but I can't get it to work. thanks, joséI haven't tried Mango yet, but I'll test it with my Build utility today. Hopefully then all one would have to do is type in "build source" on the command line.
Feb 22 2005
Derek Parnell wrote:On Tue, 22 Feb 2005 20:20:56 +0000 (UTC), Kris wrote:Great work, Derek! Building Mango is an excellent stress test for build. If you've succeeded there, that's good news. A question: Mango typically uses some commandline "-version" switches like -version=Mango and -version=Posix (for linux). I guess these statements will be needed to include some appropriate code in the build. How does build handle this? I assume we pass-thru to the compiler somehow? - John R.In article <1kj7oykh4lu8z$.17s4c3tmmsdpe.dlg 40tude.net>, Derek says...It works okay, not fine but just okay. With the current v1.2 of Build ( www.dsource.org ) you have to specify the directory in which the 'mango' tree is installed. For example, if I've installed mango into the directory C:\dlibs\ then the following command line works ... build msource -C:\dlibs BTW, the test source code I used is ... <code> module msource; private import mango.io.Buffer; private import std.stdio; void main() { Buffer B = new Buffer(4000); writefln("The buffer has readable:%d writeable:%d bytes.", B.readable, B.writable); } </code> For my first attempt to use build for mango apps, I edited the sc.ini file to include the mango lib path ... old: DFLAGS=-I% P%\..\src\phobos new: DFLAGS=-I% P%\..\src\phobos;c:\dlibs but this highlighted a bug in build; it didn't recognize semi-colon delimited flags. So I fixed that, but even though now 'build' could find the mango imports, 'dmd' still couldn't. So keeping the sc.ini file with the mango lib path in it, I tried invoking dmd with an explict -Ic:\dlibs on it and it worked! So my conclusion is that DMD does not use the sc.ini file correctly for DFLAG options. I have now updated build to explicitly add an DFLAG options in to the dmd command line it invokes, and now it works just fine. In other words, after updating your sc.ini file to include the mango path, all you will have to do to compile an app that uses mango is ... build msource Works a treat! :D I'll upload BUILD v1.3 later today, as I'll play with this workaround a bit more first.On Tue, 22 Feb 2005 16:08:04 +0000 (UTC), jicman wrote:Excellent; let us know how it works out?Folks, I have looked for more than 1/2 hour how to compile a simple sample mango program, but there are no instructions anywhere. Well, not that I can find. None of the documentation download (mango_release_1-1_doc.zip) contain any d sample compile commands. Does any one have any website where it would show some d compile samples? When I try dmd source.d I get a bunch of errors of libraries not found. How do I pass the mango libraries to dmd? I looked over mango and it's something that I want to do for the http stuff that I am doing, but I can't get it to work. thanks, joséI haven't tried Mango yet, but I'll test it with my Build utility today. Hopefully then all one would have to do is type in "build source" on the command line.
Feb 22 2005
On Tue, 22 Feb 2005 17:51:38 -0800, John Reimer wrote:Derek Parnell wrote:Sure, just pass them on the build command line... build mysource -version=Mango -version=Posix However, I've been thinking I might automatically set the Posix version if it runs on a linux system...dunno, I'll take some advice on that. Also, I've been thinking enabling build to use a response file, so that you could do something like ... build unix and it would get its command line options from a file called 'unix.brf' and that would look like ... mysource -version=Mango -version=Posix Anyhow, these are just ideas for now. -- Derek Melbourne, Australia 23/02/2005 1:11:40 PMOn Tue, 22 Feb 2005 20:20:56 +0000 (UTC), Kris wrote:Great work, Derek! Building Mango is an excellent stress test for build. If you've succeeded there, that's good news. A question: Mango typically uses some commandline "-version" switches like -version=Mango and -version=Posix (for linux). I guess these statements will be needed to include some appropriate code in the build. How does build handle this? I assume we pass-thru to the compiler somehow? - John R.In article <1kj7oykh4lu8z$.17s4c3tmmsdpe.dlg 40tude.net>, Derek says...It works okay, not fine but just okay. With the current v1.2 of Build ( www.dsource.org ) you have to specify the directory in which the 'mango' tree is installed. For example, if I've installed mango into the directory C:\dlibs\ then the following command line works ... build msource -C:\dlibs BTW, the test source code I used is ... <code> module msource; private import mango.io.Buffer; private import std.stdio; void main() { Buffer B = new Buffer(4000); writefln("The buffer has readable:%d writeable:%d bytes.", B.readable, B.writable); } </code> For my first attempt to use build for mango apps, I edited the sc.ini file to include the mango lib path ... old: DFLAGS=-I% P%\..\src\phobos new: DFLAGS=-I% P%\..\src\phobos;c:\dlibs but this highlighted a bug in build; it didn't recognize semi-colon delimited flags. So I fixed that, but even though now 'build' could find the mango imports, 'dmd' still couldn't. So keeping the sc.ini file with the mango lib path in it, I tried invoking dmd with an explict -Ic:\dlibs on it and it worked! So my conclusion is that DMD does not use the sc.ini file correctly for DFLAG options. I have now updated build to explicitly add an DFLAG options in to the dmd command line it invokes, and now it works just fine. In other words, after updating your sc.ini file to include the mango path, all you will have to do to compile an app that uses mango is ... build msource Works a treat! :D I'll upload BUILD v1.3 later today, as I'll play with this workaround a bit more first.On Tue, 22 Feb 2005 16:08:04 +0000 (UTC), jicman wrote:Excellent; let us know how it works out?Folks, I have looked for more than 1/2 hour how to compile a simple sample mango program, but there are no instructions anywhere. Well, not that I can find. None of the documentation download (mango_release_1-1_doc.zip) contain any d sample compile commands. Does any one have any website where it would show some d compile samples? When I try dmd source.d I get a bunch of errors of libraries not found. How do I pass the mango libraries to dmd? I looked over mango and it's something that I want to do for the http stuff that I am doing, but I can't get it to work. thanks, joséI haven't tried Mango yet, but I'll test it with my Build utility today. Hopefully then all one would have to do is type in "build source" on the command line.
Feb 22 2005
In article <bk9if392o44n$.m4hj3a7491bs.dlg 40tude.net>, Derek Parnell says...<snip> Sure, just pass them on the build command line... build mysource -version=Mango -version=PosixAwesome!However, I've been thinking I might automatically set the Posix version if it runs on a linux system...dunno, I'll take some advice on that.Get's my vote. Just as Win32 should be the default on that platform?Also, I've been thinking enabling build to use a response file, so that you could do something like ... build unix and it would get its command line options from a file called 'unix.brf' and that would look like ...Sounds good! Though the .brf is perhaps a bit chundery :~o
Feb 22 2005
On Wed, 23 Feb 2005 13:17:15 +1100, Derek Parnell wrote:I've just got 'build' to compile all of mango and create a mango.lib by typing in ... build mango.d -allobj where mango.d just contains an import statement for each of the mango source files. I used all files so I didn't have to work out the minimum set based on internal dependencies. Anyhow, it worked! Compiled and created the lib in about 1 to 2 seconds. <code for mango.d> module mangolib; // Stops dmd complaining about // mango.d and mango/ coexisting! import mango.cluster.qos.socket.ClusterEvent; import mango.cluster.qos.socket.ClusterServer; import mango.cluster.qos.socket.ClusterThread; import mango.cluster.qos.socket.RollCall; import mango.cluster.qos.socket.ClusterCache; import mango.cluster.qos.socket.ProtocolReader; import mango.cluster.qos.socket.ProtocolWriter; import mango.cluster.qos.socket.Cluster; import mango.http.server.model.IProvider; import mango.http.server.model.IProviderBridge; import mango.http.server.HttpParams; import mango.http.server.HttpProvider; import mango.http.server.HttpResponse; import mango.http.client.HttpClient; import mango.cluster.model.IConsumer; import mango.http.server.HttpRequest; import mango.http.server.HttpMessage; import mango.cluster.model.ICluster; import mango.io.model.IConduit; import mango.servlet.model.IServletRequest; import mango.servlet.model.IServletResponse; import mango.cluster.model.IEvent; import mango.log.model.ILevel; import mango.http.utils.Dictionary; import mango.cluster.model.IMessage; import mango.cache.model.IPayload; import mango.io.model.IPickle; import mango.http.server.HttpCookies; import mango.http.server.HttpHeaders; import mango.cluster.model.IChannel; import mango.io.model.IResource; import mango.utils.model.IServer; import mango.http.server.HttpServer; import mango.http.server.HttpThread; import mango.io.model.IWriter; import mango.http.server.HttpBridge; import mango.io.model.IBitBucket; import mango.http.utils.TokenStack; import mango.http.server.HttpTokens; import mango.cache.model.ICache; import mango.io.model.IReader; import mango.log.model.ILogger; import mango.io.model.IBuffer; import mango.io.Buffer; import mango.log.ConsoleAppender; import mango.io.FileSystem; import mango.log.Appender; import mango.io.ArrayAllocator; import mango.base.ByteSwap; import mango.cluster.CacheInvalidatee; import mango.cache.HashMap; import mango.log.Hierarchy; import mango.http.HttpWriter; import mango.io.AbstractReader; import mango.http.HttpReader; import mango.io.AbstractWriter; import mango.log.Admin; import mango.io.Conduit; import mango.io.ConduitStyle; import mango.log.Configurator; import mango.icu.ICU; import mango.io.DatagramSocket; import mango.log.DateLayout; import mango.utils.HeapSlice; import mango.io.DisplayWriter; import mango.io.EndianReader; import mango.io.EndianWriter; import mango.log.Event; import mango.io.Exception; import mango.io.ColumnWriter; import mango.io.FileBucket; import mango.io.FileConduit; import mango.io.FilePath; import mango.io.FileProxy; import mango.io.FileStyle; import mango.log.Layout; import mango.log.Logger; import mango.log.Manager; import mango.cluster.Message; import mango.io.MulticastSocket; import mango.cluster.NetworkAlert; import mango.utils.AbstractServer; import mango.log.FileAppender; import mango.cache.Payload; import mango.io.PickleReader; import mango.io.PickleRegistry; import mango.io.PickleWriter; import mango.cache.PlainCache; import mango.io.Properties; import mango.cluster.CacheInvalidator; import mango.cluster.Client; import mango.cache.QueuedCache; import mango.utils.Random; import mango.io.Reader; import mango.io.Resource; import mango.cluster.NetworkQueue; import mango.log.RollingFileAppender; import mango.io.ServerSocket; import mango.utils.ServerThread; import mango.servlet.Servlet; import mango.servlet.ServletConfig; import mango.servlet.ServletContext; import mango.servlet.ServletProvider; import mango.servlet.ServletRequest; import mango.servlet.ServletResponse; import mango.io.Socket; import mango.log.SocketAppender; import mango.io.SocketConduit; import mango.io.SocketListener; import mango.io.Stdio; import mango.base.System; import mango.cluster.TaskServer; import mango.utils.Text; import mango.io.TextFormat; import mango.io.TextLayout; import mango.io.TextReader; import mango.io.TextWriter; import mango.utils.Timer; import mango.io.Token; import mango.io.TokenEx; import mango.io.Tokenizer; import mango.cluster.NetworkCache; import mango.icu.UBreakIterator; import mango.icu.UCalendar; import mango.icu.UChar; import mango.icu.UCollator; import mango.icu.UConverter; import mango.icu.UDateFormat; import mango.icu.UDomainName; import mango.icu.UEnumeration; import mango.icu.ULocale; import mango.icu.UMango; import mango.icu.UMessageFormat; import mango.icu.UNormalize; import mango.icu.UNumberFormat; import mango.icu.UResourceBundle; import mango.io.Uri; import mango.icu.USearch; import mango.icu.USet; import mango.icu.UString; import mango.icu.UStringPrep; import mango.io.Utf8; import mango.icu.UTimeZone; import mango.icu.UTransform; import mango.cache.VirtualCache; import mango.io.Writer; import mango.log.XmlLayout; </code> -- Derek Melbourne, Australia 23/02/2005 3:08:48 PMWorks a treat! :D
Feb 22 2005