Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
January 28, 2005 Trying to use MinTL... | ||||
---|---|---|---|---|
| ||||
I've download MinTL and am having some difficulties getting it to work... I'm running WinXP, DMD 0.111, MinTL ver.? (whatever is currently on Ben's website) What works: 1) The make file does it's thing without a hitch... 2) I've taken the sample program in the MinTL documentation (as listed in the "Build and Install" section) and have successfully compiled that when I compile right above the mintl directory and use the compiler flag -release. What doesn't work: 1) If I leave out the -release flag (but still right above the mintl directory) I get the following errors (even though I have both the mintl.lib and mintl_debug.lib in the library path): testmintlapp.obj(testmintlapp) Error 42: Symbol Undefined _assert_5mintl4list testmintlapp.obj(testmintlapp) Error 42: Symbol Undefined _array_5mintl4list 2) I don't think this is a MinTL issue, but I'll list it anyways since I'm confused on how it works. If I don't compile above the mintl directory but use the compiler -I flag to point it to the directory with all the mintl source files, the compiler says it can't read (for my example) "mintl\list.d". Then if I include list.d in the compile command line it bawks at the next file it says it can't read. I'm running on WinXP and use spaces in my paths (i.e. c:\my documents\my code\d"). I'm not sure, but I don't think dmd likes the spaces in paths. Is there any solution for the import issue? General library question: When I use phobos modules, why doesn't the compiler complain it can't find the imports. Is the compiler hard-coded with an import path? Is there a way to compile all the MinTL source files into one library that I can just link to without having to specify an import path? -Kramer |
January 28, 2005 Re: Trying to use MinTL... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kramer | "Kramer" <Kramer_member@pathlink.com> wrote in message news:ctcgm3$13q4$1@digitaldaemon.com... > I've download MinTL and am having some difficulties getting it to work... > > I'm running WinXP, DMD 0.111, MinTL ver.? (whatever is currently on Ben's > website) > > What works: > 1) The make file does it's thing without a hitch... > 2) I've taken the sample program in the MinTL documentation (as listed in > the > "Build and Install" section) and have successfully compiled that when I > compile > right above the mintl directory and use the compiler flag -release. > > What doesn't work: > 1) If I leave out the -release flag (but still right above the mintl > directory) > I get the following errors (even though I have both the mintl.lib and > mintl_debug.lib in the library path): > testmintlapp.obj(testmintlapp) > Error 42: Symbol Undefined _assert_5mintl4list > testmintlapp.obj(testmintlapp) > Error 42: Symbol Undefined _array_5mintl4list > 2) I don't think this is a MinTL issue, but I'll list it anyways since I'm > confused on how it works. If I don't compile above the mintl directory > but use > the compiler -I flag to point it to the directory with all the mintl > source > files, the compiler says it can't read (for my example) "mintl\list.d". > Then if > I include list.d in the compile command line it bawks at the next file it > says > it can't read. I'm running on WinXP and use spaces in my paths (i.e. > c:\my > documents\my code\d"). I'm not sure, but I don't think dmd likes the > spaces in > paths. > > Is there any solution for the import issue? I wasn't able to reproduce the error - could you either post or email me the exact steps you took from a fresh MinTL install? Try not rebuilding the library since maybe the rebuild overwrote something important. For example I can imagine it's pretty easy to run make and it builds mintl_debug.lib but with the -release option or something. > General library question: When I use phobos modules, why doesn't the > compiler > complain it can't find the imports. Is the compiler hard-coded with an > import > path? Is there a way to compile all the MinTL source files into one > library > that I can just link to without having to specify an import path? The path to phobos is set in the file "dmd\bin\sc.ini" on Windows and in "dmd.conf" on Linux. So to add other packages to the list modify sc.ini to say something like LIB="%@P%\..\lib";\dm\lib;"C:\d\mintl" DFLAGS="-I%@P%\..\src\phobos";"C:\d" (where MinTL was unpacked in C:\d) then building something like dmd test.d mintl_debug.lib will look for the module mintl.list in C:\d\mintl\list.d and mintl_debug.lib in C:\d\mintl\mintl_debug.lib I tried renaming my "d" directory to "d code" and I couldn't get anything to work. Maybe I'm not quoting the paths correctly but assuming I am I agree that it seems like dmd doesn't like directories with spaces in the names. -Ben |
January 28, 2005 Re: Trying to use MinTL... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kramer | > 1) If I leave out the -release flag (but still right above the mintl
> directory)
> I get the following errors (even though I have both the mintl.lib and
> mintl_debug.lib in the library path):
> testmintlapp.obj(testmintlapp)
> Error 42: Symbol Undefined _assert_5mintl4list
> testmintlapp.obj(testmintlapp)
> Error 42: Symbol Undefined _array_5mintl4list
ah - I think I see what happened. I bet you tried
dmd test.d mintl.lib
instead of
dmd test.d mintl_debug.lib
The Build and Install instructions have the first line when it should have
the second line. I'll update those instructions to be more explicit about
when to type
dmd test.d -release mintl.lib
vs
dmd test.d mintl_debug.lib
And I'll take out the part that suggests you always rebuild the library.
Instead I'll suggest people stick with the pre-built versions unless they
want to change some compiler flags.
-Ben
|
January 28, 2005 Re: Trying to use MinTL... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ben Hinkle | In article <ctde1h$2g36$1@digitaldaemon.com>, Ben Hinkle says... > > >"Kramer" <Kramer_member@pathlink.com> wrote in message news:ctcgm3$13q4$1@digitaldaemon.com... >> I've download MinTL and am having some difficulties getting it to work... >> >> I'm running WinXP, DMD 0.111, MinTL ver.? (whatever is currently on Ben's >> website) >> >> What works: >> 1) The make file does it's thing without a hitch... >> 2) I've taken the sample program in the MinTL documentation (as listed in >> the >> "Build and Install" section) and have successfully compiled that when I >> compile >> right above the mintl directory and use the compiler flag -release. >> >> What doesn't work: >> 1) If I leave out the -release flag (but still right above the mintl >> directory) >> I get the following errors (even though I have both the mintl.lib and >> mintl_debug.lib in the library path): >> testmintlapp.obj(testmintlapp) >> Error 42: Symbol Undefined _assert_5mintl4list >> testmintlapp.obj(testmintlapp) >> Error 42: Symbol Undefined _array_5mintl4list >> 2) I don't think this is a MinTL issue, but I'll list it anyways since I'm >> confused on how it works. If I don't compile above the mintl directory >> but use >> the compiler -I flag to point it to the directory with all the mintl >> source >> files, the compiler says it can't read (for my example) "mintl\list.d". >> Then if >> I include list.d in the compile command line it bawks at the next file it >> says >> it can't read. I'm running on WinXP and use spaces in my paths (i.e. >> c:\my >> documents\my code\d"). I'm not sure, but I don't think dmd likes the >> spaces in >> paths. >> >> Is there any solution for the import issue? > >I wasn't able to reproduce the error - could you either post or email me the exact steps you took from a fresh MinTL install? Try not rebuilding the library since maybe the rebuild overwrote something important. For example I can imagine it's pretty easy to run make and it builds mintl_debug.lib but with the -release option or something. > >> General library question: When I use phobos modules, why doesn't the >> compiler >> complain it can't find the imports. Is the compiler hard-coded with an >> import >> path? Is there a way to compile all the MinTL source files into one >> library >> that I can just link to without having to specify an import path? > >The path to phobos is set in the file "dmd\bin\sc.ini" on Windows and in "dmd.conf" on Linux. So to add other packages to the list modify sc.ini to say something like > LIB="%@P%\..\lib";\dm\lib;"C:\d\mintl" > DFLAGS="-I%@P%\..\src\phobos";"C:\d" >(where MinTL was unpacked in C:\d) then building something like > dmd test.d mintl_debug.lib >will look for the module mintl.list in C:\d\mintl\list.d and mintl_debug.lib >in C:\d\mintl\mintl_debug.lib >I tried renaming my "d" directory to "d code" and I couldn't get anything to >work. Maybe I'm not quoting the paths correctly but assuming I am I agree >that it seems like dmd doesn't like directories with spaces in the names. > >-Ben > > I changed my configuration file and this works like a champ if I /don't/ specify a library right after my source file /and/ specify the -release flag. If I leave out the relase flag, then it still complains about undefined symbols. So: # This will get me the undefined symbols errors dmd TestMinTLApp.d -v # This will get me the undefined symbols errors and file mintl_debug.lib not found dmd TestMinTLApp.d mintl_debug.lib -v If I add -release to either of the above command, it works, except when the library is specified, then it still complains it can't find it. Might that make more sense in an if/else block? <g> I'm sure most of this is just due to my not understanding of how libraries and linking works and if you have LIB set in the dmd configuration file but also as an environment variable on your OS, which one takes precedence. Given all that, I do like it when it does work and I want more of that. :) I've checked the Wiki and there seems to be plenty of examples on how to code in D, but not much (that I could find) on actually using and getting the most out of dmd and the other tools. Does anyone have anything like that? Might that be useful? For myself I know I've spent more time in tool and environment configuration than in D coding. :( -Kramer |
January 28, 2005 Re: Trying to use MinTL... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kramer | > # This will get me the undefined symbols errors > dmd TestMinTLApp.d -v Adding the mintl directory to the library search path doesn't include the library itself - it just says where to look for the library. So you still have to list either mintl.lib or mintl_debug.lib on the command line. There probably is a way to always include the mintl library without having to list it on the command line but I don't know how to do that. > # This will get me the undefined symbols errors and file mintl_debug.lib > not > found > dmd TestMinTLApp.d mintl_debug.lib -v The symbols it can't find should be in mintl_debug.lib so getting that library should solve your other problems. Check to see if the library exists in the mintl directory. If no then extract it from the zip file again because it got deleted at some proint (probably during a rebuild). If the library is there then the paths listed in the sc.ini are probably wrong. > If I add -release to either of the above command, it works, except when > the > library is specified, then it still complains it can't find it. Might > that make > more sense in an if/else block? <g> The reason why -release simplifies life is that most of mintl is a bunch of templates so the mintl_debug.lib really just has a few Exception classes and lots of assert functions and little else. > > I'm sure most of this is just due to my not understanding of how libraries > and > linking works and if you have LIB set in the dmd configuration file but > also as > an environment variable on your OS, which one takes precedence. Given all > that, > I do like it when it does work and I want more of that. :) > > I've checked the Wiki and there seems to be plenty of examples on how to > code in > D, but not much (that I could find) on actually using and getting the most > out > of dmd and the other tools. Does anyone have anything like that? Might > that be > useful? For myself I know I've spent more time in tool and environment > configuration than in D coding. :( I don't know of any pages like that. It would be nice since these things can get frustrating. |
January 28, 2005 Re: Trying to use MinTL... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ben Hinkle | Thanks for the help! :) -Kramer In article <cte6cl$f96$1@digitaldaemon.com>, Ben Hinkle says... > >> # This will get me the undefined symbols errors >> dmd TestMinTLApp.d -v > >Adding the mintl directory to the library search path doesn't include the library itself - it just says where to look for the library. So you still have to list either mintl.lib or mintl_debug.lib on the command line. There probably is a way to always include the mintl library without having to list it on the command line but I don't know how to do that. > >> # This will get me the undefined symbols errors and file mintl_debug.lib >> not >> found >> dmd TestMinTLApp.d mintl_debug.lib -v > >The symbols it can't find should be in mintl_debug.lib so getting that library should solve your other problems. Check to see if the library exists in the mintl directory. If no then extract it from the zip file again because it got deleted at some proint (probably during a rebuild). If the library is there then the paths listed in the sc.ini are probably wrong. > >> If I add -release to either of the above command, it works, except when >> the >> library is specified, then it still complains it can't find it. Might >> that make >> more sense in an if/else block? <g> > >The reason why -release simplifies life is that most of mintl is a bunch of templates so the mintl_debug.lib really just has a few Exception classes and lots of assert functions and little else. > >> >> I'm sure most of this is just due to my not understanding of how libraries >> and >> linking works and if you have LIB set in the dmd configuration file but >> also as >> an environment variable on your OS, which one takes precedence. Given all >> that, >> I do like it when it does work and I want more of that. :) >> >> I've checked the Wiki and there seems to be plenty of examples on how to >> code in >> D, but not much (that I could find) on actually using and getting the most >> out >> of dmd and the other tools. Does anyone have anything like that? Might >> that be >> useful? For myself I know I've spent more time in tool and environment >> configuration than in D coding. :( > >I don't know of any pages like that. It would be nice since these things can get frustrating. > > |
Copyright © 1999-2021 by the D Language Foundation