Bug 6535 – RDMD outputs broken library files

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2011-08-20T01:00:00Z
Last change time
2013-03-10T18:15:40Z
Assigned to
nobody
Creator
pastas4

Comments

Comment #0 by pastas4 — 2011-08-20T01:00:22Z
When trying to compile a static library with RDMD, the output file is always 72 bytes long, which of course is not valid. Using DMD to compile the library works correctly. To reproduce, I use this basic D file: =============== module lib; import std.stdio; void libraryFunction() { writeln("You have executed the library function!"); } =============== If I try to compile it with RDMD using this syntax: =============== rdmd --build-only -lib lib.d =============== I get a lib.a file that is 72 bytes long. However, if I use the standalone DMD like this: =============== dmd -lib lib.d =============== The resulting file is 43.5 kibibytes of size and valid. If I make RDMD chatty and enable both standard and informational warnings, it shows that a lib.d.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX file is created in the /tmp/.rdmd directory and is of 43.5 kibibytes size. I assume it is the correct file (the size matches exactly) that somehow doesn't get copied to the directory I am building the library in. I am using RDMD build 20110706, DMD64 v2.054, openSUSE 11.4 x86_64.
Comment #1 by dlang-bugzilla — 2013-03-10T01:18:38Z
*** Issue 8230 has been marked as a duplicate of this issue. ***
Comment #2 by github-bugzilla — 2013-03-10T14:34:27Z
Comment #3 by code — 2013-03-10T15:12:02Z
Vladimir, your fix doesn't seem to have addressed the case where no "-od" is specified, as in the original report. Can you have another look at this?
Comment #4 by dlang-bugzilla — 2013-03-10T17:57:53Z
I'm fairly certain it does, David. The command: rdmd --build-only -lib lib.d creates a 200KB lib.lib file for me with the patch.
Comment #5 by code — 2013-03-10T18:15:40Z
@Vladimir: Oh, it does indeed. What I was seeing is http://d.puremagic.com/issues/show_bug.cgi?id=9684.