On Wed, 14 Nov 2012 15:37:19 -0000, Martin Drasar <dra...@ics.muni.cz> wrote:

On 14.11.2012 15:28, Regan Heath wrote:
Well.. druntime is built into a lib, and phobos is built using that
lib.  So, the only way I can imagine reproducing this error is by
altering dmd2\src\druntime\import\core\sys\windows\windows.d, rebuilding
druntime, then rebuilding phobos and replacing the phobos.lib in
dmd2\windows\lib.

BUT, doing so fails at the rebuild of phobos, giving the error:
std\file.d(530): Error: undefined identifier WIN32_FILE_ATTRIBUTE_DATA,
did you mean struct xxWIN32_FILE_ATTRIBUTE_DATA?

So.. it's almost like in your case the rdmd/dmd command line is not
using the pre-built phobos.lib, but trying to recompile std.file itself.

I assume you have a dmd2\windows\lib\phobos.lib?  What are the dates on
various files.. is it possible you are time shifted in such a way which
is confusing the compiler into ignoring phobos.lib and rebuilding from
source?

Yes, I have it. Times are normal. All files are from yesterday when I
installed the dmd.

What happens if you run dumpobj (dmc\dm\bin) on phobos.lib, .e.g
  dumpobj -p phobos.lib > output.txt

then open output.txt and look for WIN32_FILE_ATTRIBUTE_DATA.  Bear in
mind the output wraps the symbol names as needed so simply searching for
"WIN32_FILE_ATTRIBUTE_DATA" wont find anything.

...snip...

I had to do the dump on linux, because I could not found the dumpobj
binary where you said it should be.

I hope this gives a hint where the problem might be.

I hope so to .. but I don't have a clue. I'm not at all familiar with the output of dumpobj so I can't really debug this any further. TBH I was banking on you not finding the symbols or them being radically different or something strange.

Have you tried dmd in verbose mode, perhaps that'll give a clue.

R

--
Using Opera's revolutionary email client: http://www.opera.com/mail/

Reply via email to