digitalmars.D.bugs - Pretty frustrating
- David Medlock (15/15) May 17 2005 Walter, I _IMPLORE_ you to clean up the error messages.
- Russ Lewis (3/18) May 17 2005 Are you importing certain modules without compiling those same modules
- David Medlock (21/42) May 17 2005 I am using my DManager project tool so I am certain all files are
- Thomas Kuehne (67/67) May 17 2005 -----BEGIN PGP SIGNED MESSAGE-----
- John Reimer (11/85) May 17 2005 This even more proof of the similarity to the problem I was having with
- John Reimer (3/3) May 17 2005 ...And yes the problem was very frustrating. It had me occupied almost
- David Medlock (10/84) May 17 2005 CList in and of itself isnt the problem. Its using CList with another
- Thomas Kuehne (11/17) May 17 2005 -----BEGIN PGP SIGNED MESSAGE-----
- Ben Hinkle (6/21) May 17 2005 Try deleting all the obj files and recompiling cleanly. Also it seems od...
- David Medlock (4/34) May 17 2005 Dmanager has a full build option, so I had tried that. I just deleted
- Thomas Kuehne (12/39) May 17 2005 -----BEGIN PGP SIGNED MESSAGE-----
- David Medlock (15/60) May 17 2005 Actually the file stream issue was due to a mis-copy of the link command...
- John Reimer (8/78) May 17 2005 Heh... This looks like a similar error to the one I just finished
- David Medlock (16/103) May 17 2005 I just read Walter's reply in that thread, and I am not sure I fully
- John Reimer (7/44) May 17 2005 Well... true. It may not be the same issue then. This problem should
- John Reimer (8/32) May 17 2005 Just out of curiosity, maybe you can try Walter's trick... it can't hurt...
- David Medlock (4/41) May 17 2005 Sadly that does not fix it...same results.
- John Reimer (4/9) May 17 2005 Okay... thanks for trying. I was curious. I don't know what else could...
- Ben Hinkle (8/12) May 17 2005 Note the __init_ isn't for an init() method but is the initial values of...
- David Medlock (3/22) May 17 2005 Yes. The type CList is still not making its way into the object file.
- Walter (24/39) May 17 2005 It's looking for the constructor:
- David Medlock (11/45) May 17 2005 Where is the initializer inserted?
- David Medlock (6/63) May 17 2005 I just dropped my CList implementation for Ben's CircularList and I
- Walter (4/10) May 17 2005 I suggest doing a grep for __init_29TypeInfo_C5world11SectorCache across...
- David Medlock (7/25) May 17 2005 I reverted back to my original list class and did a grep for the missing...
- Walter (6/15) May 17 2005 all
- David Medlock (13/39) May 17 2005 Its an extern reference when i disassemble.
- David Medlock (3/41) May 17 2005 PS. The other reference is also an extrn
- John Reimer (2/20) May 17 2005 I wouldn't mind giving it a try troubleshooting. brk_6502@yahoo.com
- Walter (5/6) May 17 2005 I don't know either, but these problems become understandable when
- David Medlock (10/21) May 18 2005 Hehe, a new twist to my dilemma.
- John Reimer (4/18) May 18 2005 Ha ha... see? I fixed it!
- Walter (5/21) May 20 2005 lines
Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3 I can post code, but its pretty long. -DavidM
May 17 2005
David Medlock wrote:Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3Are you importing certain modules without compiling those same modules and linking them with your code?
May 17 2005
Russ Lewis wrote:David Medlock wrote:I am using my DManager project tool so I am certain all files are compiled and on the link line. (posted below) dmd E:\proj\d\game\obj\actor.obj E:\proj\d\game\obj\bmp.obj E:\proj\d\game\obj\client.obj E:\proj\d\game\obj\editor.obj E:\proj\d\game\obj\gl.obj E:\proj\d\game\obj\gl2d.obj E:\proj\d\game\obj\glfw.obj E:\proj\d\game\obj\glist.obj E:\proj\d\game\obj\gltext.obj E:\proj\d\game\obj\input.obj E:\proj\d\game\obj\material.obj E:\proj\d\game\obj\menus.obj E:\proj\d\game\obj\particles.obj E:\proj\d\game\obj\pcx.obj E:\proj\d\game\obj\tasks.obj E:\proj\d\game\obj\texture.obj E:\proj\d\game\obj\world.obj E:\proj\d\game\obj\logging.obj E:\proj\d\game\obj\geom3d.obj E:\proj\d\game\obj\math3d.obj E:\proj\d\game\obj\array.obj E:\proj\d\game\obj\clist.obj E:\proj\d\game\lib\glfw25.lib -ofgame -g opengl32.lib Ive been lazy about learning Dereks Build, so I haven't attempted that yet :( but the command line version should work. Amazingly this happens when I attempt to use my CList (circular list) template class( posted ) with the SectorCache class. A constructor for CList uses TypeInfo arguments, but I don't see how it could result in missing symbols. -DavidMWalter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3Are you importing certain modules without compiling those same modules and linking them with your code?
May 17 2005
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock wrote: | Russ Lewis wrote: | |> David Medlock wrote: |> |>> Walter, I _IMPLORE_ you to clean up the error messages. |>> |>> In the meantime can someone please help to decode what the following |>> gibberish means? I don't have an init() method for the class |>> SectorCache (nor its TypeInfo???) so I am pretty stumped here. |>> |>> E:\proj\d\game\obj\bmp.obj(bmp) |>> Error 42: Symbol Undefined |>> _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File |>> E:\proj\d\game\obj\world.obj(world) |>> Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache |>> E:\proj\d\game\obj\world.obj(world) |>> Error 42: Symbol Undefined |>> __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList |>> --- errorlevel 3 <snip> results on linux: ./dmd -version=Test a.d gcc a.o -o a -lphobos -lpthread -lm -Xlinker -L/opt/digitalmars/122/dmd/lib /usr/bin/ld: Warning: size of symbol `_D3std6stdarg8va_arg_i6va_argFKPvZi' changed from 18 in a.o to 21 in /opt/digitalmars/122/dmd/lib/libphobos.a(format.o) /usr/bin/ld: Warning: size of symbol `_D3std6stdarg9va_arg_Aa6va_argFKPvZAa' changed from 23 in a.o to 34 in /opt/digitalmars/122/dmd/lib/libphobos.a(format.o) ./a Count is 3 A Item= 300 A Item= 200 A Item= 100 B Item= 200 B Item= 300 B Item= 400 B Item= 500 B Item= 600 C Item= 300 C Item= 200 C Item= 100 C Item= 200 C Item= 300 C Item= 400 C Item= 500 found 200 in C, 200 = next ~ S : Hello ~ S : World ~ S : ! ~ S2 : Hello ~ S2 : Cruel ~ S2 : World ~ S2 : ! ~ S2 Reversed : ! ~ S2 Reversed : World ~ S2 Reversed : Cruel ~ S2 Reversed : Hello Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCihes3w+/yD4P9tIRAh9hAJwJnFIuhU+ybEomWlWvobLd37lmKACgyxu6 tkrnnZ+GxpZ4FKV6t3Hq6NQ= =eCtJ -----END PGP SIGNATURE-----
May 17 2005
Thomas Kuehne wrote:-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock wrote: | Russ Lewis wrote: | |> David Medlock wrote: |> |>> Walter, I _IMPLORE_ you to clean up the error messages. |>> |>> In the meantime can someone please help to decode what the following |>> gibberish means? I don't have an init() method for the class |>> SectorCache (nor its TypeInfo???) so I am pretty stumped here. |>> |>> E:\proj\d\game\obj\bmp.obj(bmp) |>> Error 42: Symbol Undefined |>> _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File |>> E:\proj\d\game\obj\world.obj(world) |>> Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache |>> E:\proj\d\game\obj\world.obj(world) |>> Error 42: Symbol Undefined |>> __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList |>> --- errorlevel 3 <snip> results on linux: ../dmd -version=Test a.d gcc a.o -o a -lphobos -lpthread -lm -Xlinker -L/opt/digitalmars/122/dmd/lib /usr/bin/ld: Warning: size of symbol `_D3std6stdarg8va_arg_i6va_argFKPvZi' changed from 18 in a.o to 21 in /opt/digitalmars/122/dmd/lib/libphobos.a(format.o) /usr/bin/ld: Warning: size of symbol `_D3std6stdarg9va_arg_Aa6va_argFKPvZAa' changed from 23 in a.o to 34 in /opt/digitalmars/122/dmd/lib/libphobos.a(format.o) ../a Count is 3 A Item= 300 A Item= 200 A Item= 100 B Item= 200 B Item= 300 B Item= 400 B Item= 500 B Item= 600 C Item= 300 C Item= 200 C Item= 100 C Item= 200 C Item= 300 C Item= 400 C Item= 500 found 200 in C, 200 = next ~ S : Hello ~ S : World ~ S : ! ~ S2 : Hello ~ S2 : Cruel ~ S2 : World ~ S2 : ! ~ S2 Reversed : ! ~ S2 Reversed : World ~ S2 Reversed : Cruel ~ S2 Reversed : Hello Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCihes3w+/yD4P9tIRAh9hAJwJnFIuhU+ybEomWlWvobLd37lmKACgyxu6 tkrnnZ+GxpZ4FKV6t3Hq6NQ= =eCtJ -----END PGP SIGNATURE-----This even more proof of the similarity to the problem I was having with optlink. My linux version worked the same way despite the failure of the windows version. I'm pretty sure this is very similar to the "template-in-library" problem that I had. It's been diagnosed and it is windows specific. It's due to the OMF format short-comings. There is a workaround. Look at "Hair-pulling, D, and Optlink" on the d.newsgroup. Walter explains it. -JJR
May 17 2005
...And yes the problem was very frustrating. It had me occupied almost all night trying to figure out what was going on... -JJR
May 17 2005
Thomas Kuehne wrote:-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock wrote: | Russ Lewis wrote: | |> David Medlock wrote: |> |>> Walter, I _IMPLORE_ you to clean up the error messages. |>> |>> In the meantime can someone please help to decode what the following |>> gibberish means? I don't have an init() method for the class |>> SectorCache (nor its TypeInfo???) so I am pretty stumped here. |>> |>> E:\proj\d\game\obj\bmp.obj(bmp) |>> Error 42: Symbol Undefined |>> _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File |>> E:\proj\d\game\obj\world.obj(world) |>> Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache |>> E:\proj\d\game\obj\world.obj(world) |>> Error 42: Symbol Undefined |>> __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList |>> --- errorlevel 3 <snip> results on linux: ./dmd -version=Test a.d gcc a.o -o a -lphobos -lpthread -lm -Xlinker -L/opt/digitalmars/122/dmd/lib /usr/bin/ld: Warning: size of symbol `_D3std6stdarg8va_arg_i6va_argFKPvZi' changed from 18 in a.o to 21 in /opt/digitalmars/122/dmd/lib/libphobos.a(format.o) /usr/bin/ld: Warning: size of symbol `_D3std6stdarg9va_arg_Aa6va_argFKPvZAa' changed from 23 in a.o to 34 in /opt/digitalmars/122/dmd/lib/libphobos.a(format.o) ./a Count is 3 A Item= 300 A Item= 200 A Item= 100 B Item= 200 B Item= 300 B Item= 400 B Item= 500 B Item= 600 C Item= 300 C Item= 200 C Item= 100 C Item= 200 C Item= 300 C Item= 400 C Item= 500 found 200 in C, 200 = next ~ S : Hello ~ S : World ~ S : ! ~ S2 : Hello ~ S2 : Cruel ~ S2 : World ~ S2 : ! ~ S2 Reversed : ! ~ S2 Reversed : World ~ S2 Reversed : Cruel ~ S2 Reversed : Hello Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCihes3w+/yD4P9tIRAh9hAJwJnFIuhU+ybEomWlWvobLd37lmKACgyxu6 tkrnnZ+GxpZ4FKV6t3Hq6NQ= =eCtJ -----END PGP SIGNATURE-----CList in and of itself isnt the problem. Its using CList with another class(SectorCache). Like I said I commented out all of SectorCache class members and the error persists. Of course putting CList and SectorCache in a simple file alone does not generate the error. I can send you the project if you want to peruse it but the bottom line is the error message makes no sense whatsoever. I could probably fix this on my own if I had some clue what was happening. -DavidM
May 17 2005
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock schrieb am Tue, 17 May 2005 10:50:44 -0400:Like I said I commented out all of SectorCache class members and the error persists. Of course putting CList and SectorCache in a simple file alone does not generate the error. I can send you the project if you want to peruse it but the bottom line is the error message makes no sense whatsoever. I could probably fix this on my own if I had some clue what was happening.Please try to reduce the test case before sending it. I'd be surprised if this requires more than 3 source files. Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCijGn3w+/yD4P9tIRAkqqAKCMXfEwpLzYSDcpkDOFuAGl/X0RdwCgpBaZ zgfepK8oHP95krCnQ5L7+MY= =ADcW -----END PGP SIGNATURE-----
May 17 2005
"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3 I can post code, but its pretty long. -DavidMTry deleting all the obj files and recompiling cleanly. Also it seems odd that std.stream symbols can't be found so I'd check your phobos version or path to phobos or something. But first I'd to a clean rebuild to see if the problem is crufty obj files.
May 17 2005
Ben Hinkle wrote:"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Dmanager has a full build option, so I had tried that. I just deleted them by hand and retried with the same results. -DavidMWalter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3 I can post code, but its pretty long. -DavidMTry deleting all the obj files and recompiling cleanly. Also it seems odd that std.stream symbols can't be found so I'd check your phobos version or path to phobos or something. But first I'd to a clean rebuild to see if the problem is crufty obj files.
May 17 2005
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock schrieb am Tue, 17 May 2005 09:51:03 -0400:Ben Hinkle wrote:Can you wipe up a simple file that uses std.stream.File and std.stream.FileMode ? Note: Those messages aren't produced by dmd but by the linker. Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCihT/3w+/yD4P9tIRAmYtAKC+Q1uOaj+eoXJdByOZ5UQfugOePACaA4ni k24WCqTOAcWK8KlMEN15WVs= =CPpI -----END PGP SIGNATURE-----"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Dmanager has a full build option, so I had tried that. I just deleted them by hand and retried with the same results.Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3Try deleting all the obj files and recompiling cleanly. Also it seems odd that std.stream symbols can't be found so I'd check your phobos version or path to phobos or something. But first I'd to a clean rebuild to see if the problem is crufty obj files.
May 17 2005
Thomas Kuehne wrote:-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock schrieb am Tue, 17 May 2005 09:51:03 -0400:Actually the file stream issue was due to a mis-copy of the link command into a command window. Only the following two errors are the issue: E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_29TypeInfo_C5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList --- errorlevel 2 I went ahead and commented out all the members and methods of SectorCache, did a full build, and still the error remains. The only line I can remove from my project to eliminate the error is alias CList!(SectorCache) CacheList; -DavidMBen Hinkle wrote:Can you wipe up a simple file that uses std.stream.File and std.stream.FileMode ? Note: Those messages aren't produced by dmd but by the linker. Thomas"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Dmanager has a full build option, so I had tried that. I just deleted them by hand and retried with the same results.Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3Try deleting all the obj files and recompiling cleanly. Also it seems odd that std.stream symbols can't be found so I'd check your phobos version or path to phobos or something. But first I'd to a clean rebuild to see if the problem is crufty obj files.
May 17 2005
David Medlock wrote:Thomas Kuehne wrote:Heh... This looks like a similar error to the one I just finished experiencing. I noted it in the digitalmars.d newsgroup. See "Hair-pulling, D, and Optlink" Walter explains the problem of having a template-only-containing object file inserted into a library. You don't appear to be using a lib file here... but perhaps the problem is related? -JJR-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock schrieb am Tue, 17 May 2005 09:51:03 -0400:Actually the file stream issue was due to a mis-copy of the link command into a command window. Only the following two errors are the issue: E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_29TypeInfo_C5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList --- errorlevel 2 I went ahead and commented out all the members and methods of SectorCache, did a full build, and still the error remains. The only line I can remove from my project to eliminate the error is alias CList!(SectorCache) CacheList; -DavidMBen Hinkle wrote:Can you wipe up a simple file that uses std.stream.File and std.stream.FileMode ? Note: Those messages aren't produced by dmd but by the linker. Thomas"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Dmanager has a full build option, so I had tried that. I just deleted them by hand and retried with the same results.Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3Try deleting all the obj files and recompiling cleanly. Also it seems odd that std.stream symbols can't be found so I'd check your phobos version or path to phobos or something. But first I'd to a clean rebuild to see if the problem is crufty obj files.
May 17 2005
John Reimer wrote:David Medlock wrote:I just read Walter's reply in that thread, and I am not sure I fully understand. If I use: alias CList!(SectorCache) CacheList; Then explicitly link in 'clist.obj' it should be linked in with the exe no matter what. Why would the _type_ above be removed? There are no duplicates of it anywhere. Even if I replace the line with class CacheList : CList!(SectorCache) {} it still does not link! Walter, little gotchas like this can really doom D. Whether or not its fast, simple, garbage collected, etc doesn't matter if legal constructs within the language will not compile or link. I am not trying to trivialize the technical issue, but I am emphasizing the usability issue here. -DavidMThomas Kuehne wrote:Heh... This looks like a similar error to the one I just finished experiencing. I noted it in the digitalmars.d newsgroup. See "Hair-pulling, D, and Optlink" Walter explains the problem of having a template-only-containing object file inserted into a library. You don't appear to be using a lib file here... but perhaps the problem is related? -JJR-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Medlock schrieb am Tue, 17 May 2005 09:51:03 -0400:Actually the file stream issue was due to a mis-copy of the link command into a command window. Only the following two errors are the issue: E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_29TypeInfo_C5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList --- errorlevel 2 I went ahead and commented out all the members and methods of SectorCache, did a full build, and still the error remains. The only line I can remove from my project to eliminate the error is alias CList!(SectorCache) CacheList; -DavidMBen Hinkle wrote:Can you wipe up a simple file that uses std.stream.File and std.stream.FileMode ? Note: Those messages aren't produced by dmd but by the linker. Thomas"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Dmanager has a full build option, so I had tried that. I just deleted them by hand and retried with the same results.Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4File E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3Try deleting all the obj files and recompiling cleanly. Also it seems odd that std.stream symbols can't be found so I'd check your phobos version or path to phobos or something. But first I'd to a clean rebuild to see if the problem is crufty obj files.
May 17 2005
David Medlock wrote:John Reimer wrote:Well... true. It may not be the same issue then. This problem should not surface with a single object file. I wasn't sure how you were linking things in or where that particular object was. It's only likely to happen if this object file resides in a library. I'm afraid I don't understand what's going on here. -JJRHeh... This looks like a similar error to the one I just finished experiencing. I noted it in the digitalmars.d newsgroup. See "Hair-pulling, D, and Optlink" Walter explains the problem of having a template-only-containing object file inserted into a library. You don't appear to be using a lib file here... but perhaps the problem is related? -JJRI just read Walter's reply in that thread, and I am not sure I fully understand. If I use: alias CList!(SectorCache) CacheList; Then explicitly link in 'clist.obj' it should be linked in with the exe no matter what. Why would the _type_ above be removed? There are no duplicates of it anywhere. Even if I replace the line with class CacheList : CList!(SectorCache) {} it still does not link! Walter, little gotchas like this can really doom D. Whether or not its fast, simple, garbage collected, etc doesn't matter if legal constructs within the language will not compile or link. I am not trying to trivialize the technical issue, but I am emphasizing the usability issue here. -DavidM
May 17 2005
David Medlock wrote:I just read Walter's reply in that thread, and I am not sure I fully understand. If I use: alias CList!(SectorCache) CacheList; Then explicitly link in 'clist.obj' it should be linked in with the exe no matter what. Why would the _type_ above be removed? There are no duplicates of it anywhere. Even if I replace the line with class CacheList : CList!(SectorCache) {} it still does not link! Walter, little gotchas like this can really doom D. Whether or not its fast, simple, garbage collected, etc doesn't matter if legal constructs within the language will not compile or link. I am not trying to trivialize the technical issue, but I am emphasizing the usability issue here. -DavidMJust out of curiosity, maybe you can try Walter's trick... it can't hurt trying. 1) add "int foo;" to the bottom of the clist.d file. 2) add "int* pfoo = &clist.foo" to one of the files that uses the CList template (any one that imports it). See if you can link again. -JJR
May 17 2005
John Reimer wrote:David Medlock wrote:Sadly that does not fix it...same results. :| -DavidMI just read Walter's reply in that thread, and I am not sure I fully understand. If I use: alias CList!(SectorCache) CacheList; Then explicitly link in 'clist.obj' it should be linked in with the exe no matter what. Why would the _type_ above be removed? There are no duplicates of it anywhere. Even if I replace the line with class CacheList : CList!(SectorCache) {} it still does not link! Walter, little gotchas like this can really doom D. Whether or not its fast, simple, garbage collected, etc doesn't matter if legal constructs within the language will not compile or link. I am not trying to trivialize the technical issue, but I am emphasizing the usability issue here. -DavidMJust out of curiosity, maybe you can try Walter's trick... it can't hurt trying. 1) add "int foo;" to the bottom of the clist.d file. 2) add "int* pfoo = &clist.foo" to one of the files that uses the CList template (any one that imports it). See if you can link again. -JJR
May 17 2005
David Medlock wrote:Sadly that does not fix it...same results. :| -DavidMOkay... thanks for trying. I was curious. I don't know what else could be wrong. Hopefully Walter can eventually point you in the right direction. -JJR
May 17 2005
"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here.Note the __init_ isn't for an init() method but is the initial values of the class instance. Right after allocating the instance the __init values are copied to the allocated space and then the ctor is called. Do you have any variables of type CacheList declared in the same module where the CacheList alias is declared? -Ben
May 17 2005
Ben Hinkle wrote:"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Yes. The type CList is still not making its way into the object file. See my other thread in response to John.Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here.Note the __init_ isn't for an init() method but is the initial values of the class instance. Right after allocating the instance the __init values are copied to the allocated space and then the ctor is called. Do you have any variables of type CacheList declared in the same module where the CacheList alias is declared? -Ben
May 17 2005
"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here. E:\proj\d\game\obj\bmp.obj(bmp) Error 42: Symbol Undefined _D3std6stream4File5_ctorFAaE3std6stream8FileModeZC3std6stream4FileIt's looking for the constructor: std.stream.File.this(char[], enum std.stream.FileMode) _D: prefix for all D functions 3std: std is 3 characters long 6stream: stream 4File: File 5_ctor: the 'this' constructor F: function, next comes parameter types A: array of a: chars E: enum 3std6stream8FileMode: std.stream.FileMode Z: end of function parameter types, next comes return type C: class 3std6stream4File: std.stream.FileE:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache__init_: initializer for class 30TypeInfo_PC5world11SectorCache: TypeInfo class generated for type: P: pointer C: class 5world11SectorCache: world.SectorCacheE:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3 I can post code, but its pretty long. -DavidMP.S. These are not templates, so this isn't the template issue discussed earlier.
May 17 2005
Walter wrote:"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...<File errors snipped, were posted erroneously>Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here.Where is the initializer inserted? I don't see how it could be missing since I can do this: class SectorCache {} class CacheList : CList!(SectorCache) {} and it still gives the same error. If I strip these classes down, however the error goes away. I dropped it to the 6 most basic files and I got no error at all. The CList class I posted is fairly simple; it doesnt seem to be missing anything. -DavidME:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache__init_: initializer for class 30TypeInfo_PC5world11SectorCache: TypeInfo class generated for type: P: pointer C: class 5world11SectorCache: world.SectorCacheE:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3 I can post code, but its pretty long. -DavidMP.S. These are not templates, so this isn't the template issue discussed earlier.
May 17 2005
David Medlock wrote:Walter wrote:I just dropped my CList implementation for Ben's CircularList and I still get:"David Medlock" <noone nowhere.com> wrote in message news:d6cqao$1b7t$1 digitaldaemon.com...<File errors snipped, were posted erroneously>Walter, I _IMPLORE_ you to clean up the error messages. In the meantime can someone please help to decode what the following gibberish means? I don't have an init() method for the class SectorCache (nor its TypeInfo???) so I am pretty stumped here.Where is the initializer inserted? I don't see how it could be missing since I can do this: class SectorCache {} class CacheList : CList!(SectorCache) {} and it still gives the same error. If I strip these classes down, however the error goes away. I dropped it to the 6 most basic files and I got no error at all. The CList class I posted is fairly simple; it doesnt seem to be missing anything. -DavidME:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_30TypeInfo_PC5world11SectorCache__init_: initializer for class 30TypeInfo_PC5world11SectorCache: TypeInfo class generated for type: P: pointer C: class 5world11SectorCache: world.SectorCacheE:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_51TypeInfo_C5clist27CList_PC5world11SectorCache5CList --- errorlevel 3 I can post code, but its pretty long. -DavidMP.S. These are not templates, so this isn't the template issue discussed earlier.this is with : class SectorCache {} -DavidME:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_29TypeInfo_C5world11SectorCache
May 17 2005
"David Medlock" <noone nowhere.com> wrote in message news:d6deh2$fh9$1 digitaldaemon.com...I just dropped my CList implementation for Ben's CircularList and I still get: >>> E:\proj\d\game\obj\world.obj(world) >>> Error 42: Symbol Undefined __init_29TypeInfo_C5world11SectorCache this is with : class SectorCache {}I suggest doing a grep for __init_29TypeInfo_C5world11SectorCache across all your .obj and .lib files.
May 17 2005
Walter wrote:"David Medlock" <noone nowhere.com> wrote in message news:d6deh2$fh9$1 digitaldaemon.com...I reverted back to my original list class and did a grep for the missing symbol: "__init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList" which was found in world.obj. I also double checked that this file is included in the link command. -DavidMI just dropped my CList implementation for Ben's CircularList and I still get:I suggest doing a grep for __init_29TypeInfo_C5world11SectorCache across all your .obj and .lib files.this is with : class SectorCache {}E:\proj\d\game\obj\world.obj(world) Error 42: Symbol Undefined __init_29TypeInfo_C5world11SectorCache
May 17 2005
"David Medlock" <noone nowhere.com> wrote in message news:d6dqq4$qr4$1 digitaldaemon.com...allI suggest doing a grep for __init_29TypeInfo_C5world11SectorCache acrossYou can use obj2asm.exe to see if it is a definition or an extern reference. But anyhow, there's not much anyone can do without being able to reproduce the problem you're seeing.your .obj and .lib files.I reverted back to my original list class and did a grep for the missing symbol: "__init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList" which was found in world.obj. I also double checked that this file is included in the link command.
May 17 2005
Walter wrote:"David Medlock" <noone nowhere.com> wrote in message news:d6dqq4$qr4$1 digitaldaemon.com...Its an extern reference when i disassemble. extrn __init_29TypeInfo_C5world11SectorCache I still do not understand the _why_ of this problem, Walter. Is the TypeInfo a pseudo class and just isnt instantiated? If I have violated some rules within D then its my fault, but all I see is plain, vanilla D code which fails under these circumstances. I would much like to find this problem on my own, I simply do not understand what is happening nor how to proceed. I can send anyone the project (a 3d game editor, or the beginnings of one ) who wishes to try( although it isnt what I would call 'ready for the public'). -DavidMallI suggest doing a grep for __init_29TypeInfo_C5world11SectorCache acrossYou can use obj2asm.exe to see if it is a definition or an extern reference. But anyhow, there's not much anyone can do without being able to reproduce the problem you're seeing.your .obj and .lib files.I reverted back to my original list class and did a grep for the missing symbol: "__init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList" which was found in world.obj. I also double checked that this file is included in the link command.
May 17 2005
David Medlock wrote:Walter wrote:PS. The other reference is also an extrn extrn __init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList"David Medlock" <noone nowhere.com> wrote in message news:d6dqq4$qr4$1 digitaldaemon.com...Its an extern reference when i disassemble. extrn __init_29TypeInfo_C5world11SectorCacheallI suggest doing a grep for __init_29TypeInfo_C5world11SectorCache acrossYou can use obj2asm.exe to see if it is a definition or an extern reference. But anyhow, there's not much anyone can do without being able to reproduce the problem you're seeing.your .obj and .lib files.I reverted back to my original list class and did a grep for the missing symbol: "__init_50TypeInfo_C5clist26CList_C5world11SectorCache5CList" which was found in world.obj. I also double checked that this file is included in the link command.
May 17 2005
On Tue, 17 May 2005 21:07:28 -0400, David Medlock wrote:Walter wrote:Its an extern reference when i disassemble. extrn __init_29TypeInfo_C5world11SectorCache I still do not understand the _why_ of this problem, Walter. Is the TypeInfo a pseudo class and just isnt instantiated? If I have violated some rules within D then its my fault, but all I see is plain, vanilla D code which fails under these circumstances. I would much like to find this problem on my own, I simply do not understand what is happening nor how to proceed. I can send anyone the project (a 3d game editor, or the beginnings of one ) who wishes to try( although it isnt what I would call 'ready for the public'). -DavidMI wouldn't mind giving it a try troubleshooting. brk_6502 yahoo.com
May 17 2005
"David Medlock" <noone nowhere.com> wrote in message news:d6e4g9$12ah$1 digitaldaemon.com...I still do not understand the _why_ of this problem, Walter.I don't know either, but these problems become understandable when everything else gets stripped away. They nearly always boil down to 10 lines of code or less. Then they become understandable, and fixable.
May 17 2005
Walter wrote:"David Medlock" <noone nowhere.com> wrote in message news:d6e4g9$12ah$1 digitaldaemon.com...Hehe, a new twist to my dilemma. Currently my project pulls files from about 5 different directories. When I put everything into one directory(to send to John)...it links fine. Sigh. In each case all the obj files are dumped into a single directory, so I don't see how where they are relative to each other could affect the link process. Thanks to everyone who responded. -DavidMI still do not understand the _why_ of this problem, Walter.I don't know either, but these problems become understandable when everything else gets stripped away. They nearly always boil down to 10 lines of code or less. Then they become understandable, and fixable.
May 18 2005
David Medlock wrote:Hehe, a new twist to my dilemma. Currently my project pulls files from about 5 different directories. When I put everything into one directory(to send to John)...it links fine. Sigh. In each case all the obj files are dumped into a single directory, so I don't see how where they are relative to each other could affect the link process. Thanks to everyone who responded. -DavidMHa ha... see? I fixed it! lol :-D -JJR
May 18 2005
"David Medlock" <noone nowhere.com> wrote in message news:d6fc7b$24ha$1 digitaldaemon.com...Walter wrote:lines"David Medlock" <noone nowhere.com> wrote in message news:d6e4g9$12ah$1 digitaldaemon.com...I still do not understand the _why_ of this problem, Walter.I don't know either, but these problems become understandable when everything else gets stripped away. They nearly always boil down to 10Make a duplicate of your directory structure. Then start whacking away at it.of code or less. Then they become understandable, and fixable.Hehe, a new twist to my dilemma. Currently my project pulls files from about 5 different directories. When I put everything into one directory(to send to John)...it links fine. Sigh.
May 20 2005