Thread overview | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 19, 2011 rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Hi! When I installed DMD 2.051 on my OS X boxen, the rdmd executable didn't work. I saw others have similar problems online, and concluded that it must have been compiled for a more recent version of OS X (Snow Leopard, I guess) without the necessary compatibility flags. I found the rdmd sources online [1] and compiled them myself. (Luckily, the other binaries work just fine.) No problems. Now I'm trying to get DMD 2.052 to work. Same issue with the rdmd executable. I tried to compile the same rdmd.d file with the new compiler/stdlib, but that failed. $ dmd rdmd.d std.contracts has been scheduled for deprecation. Please use std.exception instead. std.date and std.dateparse have been scheduled for deprecation. Please use std.datetime instead. rdmd.d(34): Error: std.regexp.split at ./../../src/phobos/std/regexp.d(498) conflicts with std.string.split at ./../../src/phobos/std/string.d(69) rdmd.d(34): Error: function std.regexp.split (string s, RegExp pattern) is not callable using argument types (string) rdmd.d(34): Error: expected 3 function arguments, not 1 I'm sure I can fix this myself -- but I'm guessing there must be a more recent version of the rdmd sources somewhere, assuming that the binary in the distribution was compiled with dmd 2.052...? The version in the trunk at dsource.org seems to be three months old... For now I just compiled the rdmd.d from dsource.org with dmd 2.051, and use that with dmd 2.052. As rdmd is basically an independent entity, I guess that should work well, but this isn't exactly user-friendly (i.e., having to replace one of the binaries in the distro with one compiled with an older compiler, using sources obtained elsewhere... :->). Not sure if I'm missing The Way to Do It[tm], or if perhaps I should submit an issue about this? [1] http://www.digitalmars.com/d/2.0/rdmd.html -- Magnus Lie Hetland http://hetland.org |
February 19, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Magnus Lie Hetland | "Magnus Lie Hetland" <magnus@hetland.org> wrote in message news:ijohel$960$1@digitalmars.com... > > I'm sure I can fix this myself -- but I'm guessing there must be a more recent version of the rdmd sources somewhere, assuming that the binary in the distribution was compiled with dmd 2.052...? The version in the trunk at dsource.org seems to be three months old... > The source repo recently moved over to github: https://github.com/D-Programming-Language That said, the 3-month-old version is still the latest version. Unfortunately, rdmd doesn't seem to have gotten much attention lately. I've had a few patches for it sitting in bugzilla for a number of months. (Not that I'm complaning, I realize there's been other priorities.) Actually, if you want, you can grab a version of rdmd.d with my patches applied here: http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d (Yes, it is 4 months old, and I can do the match: 3 < 4, but this *is* the same as the latest official version just with my patches applied: The latest official commit to rdmd.d was one of my patches (albiet slightly modified, IIRC)) However, the latest version of DMD I used this with was 2.050, so it might still need some updating for 2.052. |
February 20, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2011-02-19 22:25:31 +0100, Nick Sabalausky said: [snip] > Unfortunately, rdmd doesn't seem to have gotten much attention lately. I've had a few patches for it sitting in bugzilla for a number of months. (Not that I'm complaning, I realize there's been other priorities.) I see. Kind of surprising, given that rdmd is distributed in the official DMD zip file. But, yeah, no complaints. :) > Actually, if you want, you can grab a version of rdmd.d with my patches applied here: > http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d Thanks! > (Yes, it is 4 months old, and I can do the match: 3 < 4, but this *is* the same as the latest official version just with my patches applied: The latest official commit to rdmd.d was one of my patches (albiet slightly modified, IIRC)) > > However, the latest version of DMD I used this with was 2.050, so it might still need some updating for 2.052. Hm. Are most minor releases of DMD backward-incompatible? (Sort of a scary prospect to me, at least...) -- Magnus Lie Hetland http://hetland.org |
February 20, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Magnus Lie Hetland | "Magnus Lie Hetland" <magnus@hetland.org> wrote in message news:ijrm9q$259n$1@digitalmars.com... > On 2011-02-19 22:25:31 +0100, Nick Sabalausky said: > > [snip] >> Unfortunately, rdmd doesn't seem to have gotten much attention lately. I've had a few patches for it sitting in bugzilla for a number of months. (Not that I'm complaning, I realize there's been other priorities.) > > I see. Kind of surprising, given that rdmd is distributed in the official DMD zip file. But, yeah, no complaints. :) > >> Actually, if you want, you can grab a version of rdmd.d with my patches applied here: http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d > > Thanks! > >> (Yes, it is 4 months old, and I can do the match: 3 < 4, but this *is* the same as the latest official version just with my patches applied: The latest official commit to rdmd.d was one of my patches (albiet slightly modified, IIRC)) >> >> However, the latest version of DMD I used this with was 2.050, so it might still need some updating for 2.052. > > Hm. Are most minor releases of DMD backward-incompatible? (Sort of a scary prospect to me, at least...) > It used to be fairly common for little things to change, but it's becoming much less and less common (And, as you've seen, when they do change, they're generally very trivial to fix). These days there's typically only these three cases where something might break: A. Someone's code is accidentialy relying on a bug in DMD or Phobos, and that bug gets fixed. Not really a frequent occurrance. B. Certain parts of Phobos are still somewhat in flux (only for D2 though). For instance, std.xml is definitely going to get completely replaced. C. The occasional regression. (Which is less and less common these days, because of both an extensive test suite running on multiple OSes and because we now have a beta mailing list with people who test each release candidate before it's actually relesed.) We used to have occasional breking changes in the language itself (in D2-only), since D2 was the deliberately the "development" branch rather than the "stable" branch that D1 has been, but D2's language spec is pretty much finalized now. |
February 20, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | "Nick Sabalausky" <a@a.a> wrote in message news:ijs1vp$3b3$1@digitalmars.com... > "Magnus Lie Hetland" <magnus@hetland.org> wrote in message news:ijrm9q$259n$1@digitalmars.com... >> On 2011-02-19 22:25:31 +0100, Nick Sabalausky said: >> >> [snip] >>> Unfortunately, rdmd doesn't seem to have gotten much attention lately. I've had a few patches for it sitting in bugzilla for a number of months. (Not that I'm complaning, I realize there's been other priorities.) >> >> I see. Kind of surprising, given that rdmd is distributed in the official DMD zip file. But, yeah, no complaints. :) >> >>> Actually, if you want, you can grab a version of rdmd.d with my patches applied here: http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d >> >> Thanks! >> >>> (Yes, it is 4 months old, and I can do the match: 3 < 4, but this *is* the same as the latest official version just with my patches applied: The latest official commit to rdmd.d was one of my patches (albiet slightly modified, IIRC)) >>> >>> However, the latest version of DMD I used this with was 2.050, so it might still need some updating for 2.052. >> >> Hm. Are most minor releases of DMD backward-incompatible? (Sort of a scary prospect to me, at least...) >> > > It used to be fairly common for little things to change, but it's becoming much less and less common (And, as you've seen, when they do change, they're generally very trivial to fix). These days there's typically only these three cases where something might break: > > A. Someone's code is accidentialy relying on a bug in DMD or Phobos, and that bug gets fixed. Not really a frequent occurrance. > > B. Certain parts of Phobos are still somewhat in flux (only for D2 though). For instance, std.xml is definitely going to get completely replaced. > > C. The occasional regression. (Which is less and less common these days, because of both an extensive test suite running on multiple OSes and because we now have a beta mailing list with people who test each release candidate before it's actually relesed.) > > We used to have occasional breking changes in the language itself (in D2-only), since D2 was the deliberately the "development" branch rather than the "stable" branch that D1 has been, but D2's language spec is pretty much finalized now. > I just realized I didn't give a direct answer to your question: I'd say that most minor releases of DMD are *not* backward-incompatible. |
February 21, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 2011-02-20 22:42:06 +0100, Nick Sabalausky said: [snip] >> We used to have occasional breking changes in the language itself (in D2-only), since D2 was the deliberately the "development" branch rather than the "stable" branch that D1 has been, but D2's language spec is pretty much finalized now. >> > > I just realized I didn't give a direct answer to your question: I'd say that most minor releases of DMD are *not* backward-incompatible. Thanks for both the thorough and the more direct answer. Very helpful/useful :) -- Magnus Lie Hetland http://hetland.org |
February 21, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Magnus Lie Hetland | On 2011-02-20 19:22:20 +0100, Magnus Lie Hetland said: > On 2011-02-19 22:25:31 +0100, Nick Sabalausky said: > > [snip] >> Unfortunately, rdmd doesn't seem to have gotten much attention lately. I've had a few patches for it sitting in bugzilla for a number of months. (Not that I'm complaning, I realize there's been other priorities.) > > I see. Kind of surprising, given that rdmd is distributed in the official DMD zip file. But, yeah, no complaints. :) > >> Actually, if you want, you can grab a version of rdmd.d with my patches applied here: >> http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d > > Thanks! Humm. I'm still using the rdmd I had (it seems to work, so as long as I have already compiled it... ;) However: I'm a bit baffled by the --shebang option. What's its purpose, really? If I use rdmd without it in a shebang line, it seems to work fine. If I *do* use --shebang, the code doesn't seem to be compiled/executed at all... It seems like it interprets args[1] as a single string containing all the arguments, splitting it into separate items. That seems well an good -- except (in OS X, at least) it doesn't seem to be needed (I get my arguments just fine without it, and the shebang-line switches work well) ... and it doesn't seem to work (that is, with --shebang, nothing happens). Any thoughts on this? -- Magnus Lie Hetland http://hetland.org |
February 21, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Magnus Lie Hetland | On Mon, 21 Feb 2011 12:18:54 +0100, Magnus Lie Hetland wrote:
> On 2011-02-20 19:22:20 +0100, Magnus Lie Hetland said:
>
>> On 2011-02-19 22:25:31 +0100, Nick Sabalausky said:
>>
>> [snip]
>>> Unfortunately, rdmd doesn't seem to have gotten much attention lately. I've had a few patches for it sitting in bugzilla for a number of months. (Not that I'm complaning, I realize there's been other priorities.)
>>
>> I see. Kind of surprising, given that rdmd is distributed in the official DMD zip file. But, yeah, no complaints. :)
>>
>>> Actually, if you want, you can grab a version of rdmd.d with my patches applied here: http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d
>>
>> Thanks!
>
> Humm. I'm still using the rdmd I had (it seems to work, so as long as I have already compiled it... ;)
>
> However: I'm a bit baffled by the --shebang option. What's its purpose, really? If I use rdmd without it in a shebang line, it seems to work fine. If I *do* use --shebang, the code doesn't seem to be compiled/executed at all...
>
> It seems like it interprets args[1] as a single string containing all the arguments, splitting it into separate items. That seems well an good -- except (in OS X, at least) it doesn't seem to be needed (I get my arguments just fine without it, and the shebang-line switches work well) ... and it doesn't seem to work (that is, with --shebang, nothing happens).
>
> Any thoughts on this?
Say you have a file "myscript", that starts with the line
#!/path/to/interpreter --foo --bar
If you run this as
./myscript --hello --world
then the args[] received by the interpreter program looks like this:
args[0] = "/path/to/interpreter"
args[1] = "--foo --bar"
args[2] = "./myscript"
args[3] = "--hello"
args[4] = "--world"
This is the case on every shell I've tried on Linux, at least. So if you have multiple rdmd options, it should in principle need --shebang to know that it is being run in a shebang line, so it can expand args[1].
I don't know why it works without --shebang for you, though. :)
-Lars
|
February 21, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars T. Kyllingstad | On 2011-02-21 14:16, Lars T. Kyllingstad wrote: > On Mon, 21 Feb 2011 12:18:54 +0100, Magnus Lie Hetland wrote: > >> On 2011-02-20 19:22:20 +0100, Magnus Lie Hetland said: >> >>> On 2011-02-19 22:25:31 +0100, Nick Sabalausky said: >>> >>> [snip] >>>> Unfortunately, rdmd doesn't seem to have gotten much attention lately. >>>> I've had a few patches for it sitting in bugzilla for a number of >>>> months. (Not that I'm complaning, I realize there's been other >>>> priorities.) >>> >>> I see. Kind of surprising, given that rdmd is distributed in the >>> official DMD zip file. But, yeah, no complaints. :) >>> >>>> Actually, if you want, you can grab a version of rdmd.d with my >>>> patches applied here: >>>> http://www.dsource.org/projects/semitwist/browser/trunk/rdmdAlt.d >>> >>> Thanks! >> >> Humm. I'm still using the rdmd I had (it seems to work, so as long as I >> have already compiled it... ;) >> >> However: I'm a bit baffled by the --shebang option. What's its purpose, >> really? If I use rdmd without it in a shebang line, it seems to work >> fine. If I *do* use --shebang, the code doesn't seem to be >> compiled/executed at all... >> >> It seems like it interprets args[1] as a single string containing all >> the arguments, splitting it into separate items. That seems well an good >> -- except (in OS X, at least) it doesn't seem to be needed (I get my >> arguments just fine without it, and the shebang-line switches work well) >> ... and it doesn't seem to work (that is, with --shebang, nothing >> happens). >> >> Any thoughts on this? > > Say you have a file "myscript", that starts with the line > > #!/path/to/interpreter --foo --bar > > If you run this as > > ./myscript --hello --world > > then the args[] received by the interpreter program looks like this: > > args[0] = "/path/to/interpreter" > args[1] = "--foo --bar" > args[2] = "./myscript" > args[3] = "--hello" > args[4] = "--world" > > This is the case on every shell I've tried on Linux, at least. So if you > have multiple rdmd options, it should in principle need --shebang to know > that it is being run in a shebang line, so it can expand args[1]. > > I don't know why it works without --shebang for you, though. :) > > -Lars Perhaps he's not passing any arguments to rdmd. -- /Jacob Carlborg |
February 22, 2011 Re: rdmd problems (OS X Leopard, DMD 2.052) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Magnus Lie Hetland | Hi Magnus,
This is sligthly OT, but... How I loved AnyGui!
It's nice to see you here, in the D bandwagon...
Cheers, Paolo Invernizzi
Magnus Lie Hetland Wrote:
> Hi!
>
> When I installed DMD 2.051 on my OS X boxen, the rdmd executable didn't work. I saw others have similar problems online, and concluded that it must have been compiled for a more recent version of OS X (Snow Leopard, I guess) without the necessary compatibility flags.
>
> I found the rdmd sources online [1] and compiled them myself. (Luckily, the other binaries work just fine.) No problems.
>
> Now I'm trying to get DMD 2.052 to work. Same issue with the rdmd executable. I tried to compile the same rdmd.d file with the new compiler/stdlib, but that failed.
>
> $ dmd rdmd.d
> std.contracts has been scheduled for deprecation. Please use
> std.exception instead.
> std.date and std.dateparse have been scheduled for deprecation. Please
> use std.datetime instead.
> rdmd.d(34): Error: std.regexp.split at
> ./../../src/phobos/std/regexp.d(498) conflicts with std.string.split at
> ./../../src/phobos/std/string.d(69)
> rdmd.d(34): Error: function std.regexp.split (string s, RegExp pattern)
> is not callable using argument types (string)
> rdmd.d(34): Error: expected 3 function arguments, not 1
>
> I'm sure I can fix this myself -- but I'm guessing there must be a more recent version of the rdmd sources somewhere, assuming that the binary in the distribution was compiled with dmd 2.052...? The version in the trunk at dsource.org seems to be three months old...
>
> For now I just compiled the rdmd.d from dsource.org with dmd 2.051, and use that with dmd 2.052. As rdmd is basically an independent entity, I guess that should work well, but this isn't exactly user-friendly (i.e., having to replace one of the binaries in the distro with one compiled with an older compiler, using sources obtained elsewhere... :->).
>
> Not sure if I'm missing The Way to Do It[tm], or if perhaps I should submit an issue about this?
>
> [1] http://www.digitalmars.com/d/2.0/rdmd.html
>
> --
> Magnus Lie Hetland
> http://hetland.org
>
|
Copyright © 1999-2021 by the D Language Foundation