digitalmars.D.learn - dub doesn't work with dmd 1:2.082.0-1.0?
- SuperPrower (54/54) Sep 10 2018 dub was working nice until I updated my system (I run
- rmc (7/18) Sep 12 2018 There don't seem to be any changes to dub or dmd directly related
- SuperPrower (8/11) Sep 13 2018 I really don't know, looks like it, but it's really weird, like,
- Kagamin (1/1) Sep 13 2018 You didn't update dub?
- Jesse Phillips (2/7) Sep 13 2018 Can you find /usr/bin/dmd or run dmd?
- rmc (7/14) Sep 13 2018 The error is from the trymain function in dmd so its definitely
- Jesse Phillips (3/6) Sep 14 2018 "source/dub/compilers/compiler.d(127)"
- rmc (11/17) Sep 16 2018 Yip, that link is to where dub uses dmd (showing the specific
- SuperPrower (17/18) Sep 18 2018 Sorry if I wasn't clear enough, but I have dmd installed, and dub
dub was working nice until I updated my system (I run ArchLinux32) just now. dmd was updated from version 1:2.081.2-1.0 to 1:2.082.0-1.0 (according to pacman package manager). After that, I couldn't invoke dub for anything. Here is the attempt to run `dub --vverbose`: ``` Using dub registry url 'https://code.dlang.org/' Refreshing local packages (refresh existing: true)... Looking for local package map at /var/lib/dub/packages/local-packages.json Looking for local package map at /home/superprower/.dub/packages/local-packages.json Try to load local package map at /home/superprower/.dub/packages/local-packages.json iterating dir /home/superprower/.dub/packages/ iterating dir /home/superprower/.dub/packages/ entry ncurses-master iterating dir /home/superprower/.dub/packages/ entry local-packages.json iterating dir /home/superprower/.dub/packages/ entry d-profile-viewer-1.1.3 No package found in current working directory. Failed to invoke the compiler /usr/bin/dmd to determine the build platform: Error: missing or null command line arguments Full exception: object.Exception source/dub/compilers/compiler.d(127): Failed to invoke the compiler /usr/bin/dmd to determine the build platform: Error: missing or null command line arguments ---------------- ??:? pure safe bool std.exception.enforce!().enforce!(bool).enforce(bool, lazy const(char)[], immutable(char)[], uint) [0xa744bd] ??:? dub.platform.BuildPlatform dub.compilers.compiler.Compiler.probePlatform(immutable(char)[], immutable(char)[][], immutable(char)[]) [0x80759e] ??:? dub.platform.BuildPlatform dub.compilers.dmd.DMDCompiler.determinePlatform(ref dub.compilers.buildsettings.BuildSettings, immutable(char)[], immutable(char)[]) [0x81323f] ??:? [0x810de2] ??:? void dub.commandline.PackageBuildCommand.setupPackage(dub.dub.Dub, immutable(char)[], immutable(char)[]) [0x910e46] ??:? int dub.commandline.GenerateCommand.execute(dub.dub.Dub, immutable(char)[][], immutable(char)[][]) [0x92b158] ??:? int dub.commandline.RunCommand.execute(dub.dub.Dub, immutable(char)[][], immutable(char)[][]) [0x92b0ab] ??:? int dub.commandline.runDubCommandLine(immutable(char)[][]) [0x9f87e3] ??:? _Dmain [0x9fe3bf] ``` I downgraded dmd for now, but what may be the cause of this? I couldn't find anything related to this particular error (`missing or null command line arguments`).
Sep 10 2018
On Monday, 10 September 2018 at 09:23:19 UTC, SuperPrower wrote:dub was working nice until I updated my system (I run ArchLinux32) just now. dmd was updated from version 1:2.081.2-1.0 to 1:2.082.0-1.0 (according to pacman package manager). After that, I couldn't invoke dub for anything. Here is the attempt to run `dub --vverbose`: [snip] Full exception: object.Exception source/dub/compilers/compiler.d(127): Failed to invoke the compiler /usr/bin/dmd to determine the build platform: Error: missing or null command line arguments [snip]There don't seem to be any changes to dub or dmd directly related to this error perhaps its a packaging issue? https://github.com/dlang/dmd/blame/61fe641e9a5d40617d6d20aa1abc64e77c00b6ef/src/dmd/mars.d#L205 https://github.com/dlang/dub/blame/765cf8ea8bec9b8da05e41e4987f1b37f02305bc/source/dub/compilers/compiler.d#L127 Just out of curiosity; Why are you using ArchLinux32? R
Sep 12 2018
On Thursday, 13 September 2018 at 06:11:53 UTC, rmc wrote:There don't seem to be any changes to dub or dmd directly related to this error perhaps its a packaging issue?I really don't know, looks like it, but it's really weird, like, why and what exactly happened? I'll try asking same question on ArchLinux32 forums - maybe, maintainer forgot something or I dunno.Just out of curiosity; Why are you using ArchLinux32?Pretty old laptop, only supports i686 systems. I don't really need anything else as I only use it for some hobby programming when I'm away from my desktop.
Sep 13 2018
On Monday, 10 September 2018 at 09:23:19 UTC, SuperPrower wrote:dub was working nice until I updated my system (I run ArchLinux32) just now. dmd was updated from version 1:2.081.2-1.0 to 1:2.082.0-1.0 (according to pacman package manager). After that, I couldn't invoke dub for anything. Here is the attempt to run `dub --vverbose`:Can you find /usr/bin/dmd or run dmd?
Sep 13 2018
On Thursday, 13 September 2018 at 14:31:53 UTC, Jesse Phillips wrote:On Monday, 10 September 2018 at 09:23:19 UTC, SuperPrower wrote:The error is from the trymain function in dmd so its definitely installed. I do wonder if `dmd` by itself on the command line works. Could it be some sort of 32 bit bug in the latest release of dmd? Relating to argc/argv.dub was working nice until I updated my system (I run ArchLinux32) just now. dmd was updated from version 1:2.081.2-1.0 to 1:2.082.0-1.0 (according to pacman package manager). After that, I couldn't invoke dub for anything. Here is the attempt to run `dub --vverbose`:Can you find /usr/bin/dmd or run dmd?
Sep 13 2018
On Friday, 14 September 2018 at 05:41:41 UTC, rmc wrote:I do wonder if `dmd` by itself on the command line works. Could it be some sort of 32 bit bug in the latest release of dmd? Relating to argc/argv."source/dub/compilers/compiler.d(127)" That doesn't look like DMD source code.
Sep 14 2018
On Friday, 14 September 2018 at 15:42:05 UTC, Jesse Phillips wrote:On Friday, 14 September 2018 at 05:41:41 UTC, rmc wrote:Yip, that link is to where dub uses dmd (showing the specific error) and the other link is to a line in dmd that throws the initial error. The mars.d file is part of dmd. The line in dmd appears to be a safety check that makes sure there is at least one argument in argv. To me it seems really weird that dmd would be able to reach the trymain function with `argc < 1 || !argv` or with argc >= 1 and one of the arguments being null. RI do wonder if `dmd` by itself on the command line works. Could it be some sort of 32 bit bug in the latest release of dmd? Relating to argc/argv."source/dub/compilers/compiler.d(127)" That doesn't look like DMD source code.
Sep 16 2018
On Thursday, 13 September 2018 at 14:31:53 UTC, Jesse Phillips wrote:Can you find /usr/bin/dmd or run dmd?Sorry if I wasn't clear enough, but I have dmd installed, and dub WAS working until upgrade of dmd. I suspect that problem occurs because dub wasn't upgraded from 1.10 -> 1.11, due to some problems with ArchLinux32 packaging - dub doesn't have dmd as dependency, probably because it doesn't require dmd specifically, but there is a 'provide' thingy that all D compiler packages have, so that's one way to fix this - to add this thingy as dependecy to dub, but maintainers seem to have problems with building newer versions of dub for 32-bit OS, the are already discussing this issue, so yeah, problem is not in dub/dmd itself (never suspected it to be), but rather, in compatability with 32 bit systems or between themselves. If anyone here is good with building dub, please take a look at this thread: https://bbs.archlinux32.org/viewtopic.php?pid=5004 , maybe you will be able to help?
Sep 18 2018