Thread overview | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 Timothee Cour <timothee.cour2@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |timothee.cour2@gmail.com --- Comment #1 from Timothee Cour <timothee.cour2@gmail.com> --- these also fail: mkdir temp rdmd --build-only --force -lib -od=temp/ main.d core.exception.AssertError@rdmd.d(489): should have been created by compileRootAndGetDeps rdmd --build-only --force -lib -of=temp/main.a main.d core.exception.AssertError@rdmd.d(489): should have been created by compileRootAndGetDeps rdmd --build-only --force -lib -oftemp/main.a main.d std.file.FileException@std/file.d(679): temp/main.a: No such file or directory rdmd --build-only --force -lib -odtemp/ main.d std.file.FileException@std/file.d(679): temp/main.a: No such file or directory -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 --- Comment #2 from Timothee Cour <timothee.cour2@gmail.com> --- as well as: rdmd --build-only --force -lib -odtemp/ -o- main.d object.Exception@rdmd.d(95): Option -o- currently not supported by rdmd -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 --- Comment #3 from Timothee Cour <timothee.cour2@gmail.com> --- also broken: rdmd --build-only --force -od=/tmp/bar/ main.d std.file.FileException@std/file.d(679): =/tmp/bar/main: No such file or directory => rdmd doesn't seem to understand the new '=' syntax in '-od=' even though dmd does (DMD64 D Compiler v2.072.1) the only thing that works is: rdmd --build-only --force -lib -od/tmp/bar/ main.d rdmd --build-only --force -od/tmp/bar/ main.d but NOT these: s/-od/-od=/ s/-lib/-c/ or when we replace absolute path in od by relative path -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 Andrej Mitrovic <andrej.mitrovich@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich@gmail.com --- Comment #4 from Andrej Mitrovic <andrej.mitrovich@gmail.com> --- https://github.com/dlang/tools/commit/a63233c22dce33ff91141c5706cdc7d66a8c0099 seems to have caused the regression for the first test-case. -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 --- Comment #5 from Andrej Mitrovic <andrej.mitrovich@gmail.com> --- (In reply to Andrej Mitrovic from comment #4) > https://github.com/dlang/tools/commit/ a63233c22dce33ff91141c5706cdc7d66a8c0099 seems to have caused the regression for the first test-case. That's a merge commit, it was specifically 10ca158. -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 ag0aep6g@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ag0aep6g@gmail.com --- Comment #6 from ag0aep6g@gmail.com --- Found another one while looking into this: https://issues.dlang.org/show_bug.cgi?id=16966 Regarding the bugs here: The -of=/-od= thing (comment 3) seems to be a simple oversight. rdmd has just not been thought of when the feature was implemented in dmd. Should be easy to fix. -o- not working (comment 2) seems to a deliberate restriction. Supporting -c as in the summary may be some work. I must have missed that scenario completely when doing <https://github.com/dlang/tools/pull/194>. Problem is that rdmd now treats the root module specially: compiles it separately, links everything together in a separate step. That doesn't go naturally with -c, as far as I see. May have to detect -c and do things completely different then. -lib not working with relative paths (comment 3) seems odd. I hope it's just a simple bug, and not a design flaw. I haven't investigated. I'm going to look into this further, but it may take me a while. If anyone else wants to have a go, that would be great. -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 Vladimir Panteleev <thecybershadow@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |thecybershadow@gmail.com --- Comment #7 from Vladimir Panteleev <thecybershadow@gmail.com> --- Sorry, what is the use case of using -c ? I think it working was a mere accident. If you want to syntax-check the file, use dmd (not rdmd) with -o-. Or do you want to compile everything into a single object file for some reason? -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 --- Comment #8 from Vladimir Panteleev <thecybershadow@gmail.com> --- There is a known problem with -lib and -od: https://issues.dlang.org/show_bug.cgi?id=14296 Admittedly it's my fault as my commit introduced the regression, however the underlying bug is that DMD treats -od differently depending on whether -lib is passed or not, which I did not expect. -- |
December 11, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 --- Comment #9 from Timothee Cour <timothee.cour2@gmail.com> --- >> Sorry, what is the use case of using -c ? I think it working was a mere accident. If you want to syntax-check the file, use dmd (not rdmd) with -o-. Or do you want to compile everything into a single object file for some reason? Use case: when dmd's built-in linker magic isn't good enough (eg http://forum.dlang.org/post/mailman.765.1481492407.9448.digitalmars-d@puremagic.com where i have to first compile then link to get -pie but I keep running into similar issues where i want to link seperately because the default isn't good enough) -- |
December 12, 2016 [Issue 16962] rdmd --build-only --force -c main.d fails: ./main: No such file or directory | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16962 Andrei Alexandrescu <andrei@erdani.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrei@erdani.com --- Comment #10 from Andrei Alexandrescu <andrei@erdani.com> --- It may indeed be worthwhile to support -c as in "solve all dependencies and produce a big .o file ready for linking". There is no easy way to do that with either dmd or rdmd. Alternatively we could use a --no-link flag but -c seems more direct. Vladimir, what do you think? -- |
Copyright © 1999-2021 by the D Language Foundation