dlang-community / Pegged

A Parsing Expression Grammar (PEG) module, using the D programming language.
534 stars 66 forks source link

incompatibility with the new DMD 2.067 #152

Closed dmakarov closed 9 years ago

dmakarov commented 9 years ago

Compiling Pegged with the new dmd 2.067 I get the error:

pegged-0.1.0/pegged/peg.d(25): Error: module std.range import 'equal' not found, did you mean 'template Unqual(T)'?

The only place equal is used in peg.d is as std.algorithm.equal, so I'm not sure why the import std.range: equal was added in the first place.

PhilippeSigaud commented 9 years ago

Looking at the history, it seems I changed the git HEAD to be compatible with DMD 2.067 but I never made it a new version, since 2.067 was not out at the time.

I'll see how to change the package.json (if DUB still use that, I have not followed it closely), but in the meantime, you can juste pull the latest git from the repo.

On Fri, Mar 27, 2015 at 9:37 AM, Dmitri Makarov notifications@github.com wrote:

Compiling Pegged with the new dmd 2.067 I get the error:

pegged-0.1.0/pegged/peg.d(25): Error: module std.range import 'equal' not found, did you mean 'template Unqual(T)'?

— Reply to this email directly or view it on GitHub https://github.com/PhilippeSigaud/Pegged/issues/152.

PhilippeSigaud commented 9 years ago

OK, I pushed v0.2 which is, I hope, 2.067-compatible. If I remember correctly, dub should see it in a few hours and propose 0.2 as the new reference.

On Fri, Mar 27, 2015 at 8:39 PM, Philippe Sigaud philippe.sigaud@gmail.com wrote:

Looking at the history, it seems I changed the git HEAD to be compatible with DMD 2.067 but I never made it a new version, since 2.067 was not out at the time.

I'll see how to change the package.json (if DUB still use that, I have not followed it closely), but in the meantime, you can juste pull the latest git from the repo.

On Fri, Mar 27, 2015 at 9:37 AM, Dmitri Makarov notifications@github.com wrote:

Compiling Pegged with the new dmd 2.067 I get the error:

pegged-0.1.0/pegged/peg.d(25): Error: module std.range import 'equal' not found, did you mean 'template Unqual(T)'?

— Reply to this email directly or view it on GitHub https://github.com/PhilippeSigaud/Pegged/issues/152.

dmakarov commented 9 years ago

Thank you. It's probably ok to close this issue.

PhilippeSigaud commented 9 years ago

Does it work now with your DMD ?

On Fri, Mar 27, 2015 at 8:53 PM, Dmitri Makarov notifications@github.com wrote:

Thank you. It's probably ok to close this issue.

— Reply to this email directly or view it on GitHub https://github.com/PhilippeSigaud/Pegged/issues/152#issuecomment-87070954 .

dmakarov commented 9 years ago

Doesn't work yet. I need it to work on travis-ci. I just bumped up the version of pegged in my dub.json to 0.2 and dub doesn't find it yet.

Error executing command run: Root package clop:compiler contains reference to invalid package pegged

https://travis-ci.org/dmakarov/clop/builds/56143234

Is there anything to be done to notify dub about the new pegged release?

PhilippeSigaud commented 9 years ago

I think dub automatically finds new versions after a few hours. I cannot force it manually and it tells me there are still 64 other packages to be scanned before.

dmakarov commented 9 years ago

It's ok, I'll use ~master until the new release propagates to dub. With ~master it appears to work, at least there are no errors in pegged. I'm closing this issue.

dmakarov commented 9 years ago

I'm afraid the change of excluding dynamic/grammar.d from sourceFiles wasn't good. I now get the linker error:

undefined reference to `_D6pegged7dynamic7grammar12__ModuleInfoZ'
../../../.dub/packages/pegged-master/libpegged.a(parser.o):(.rodata+0x28): undefined reference to `_D6pegged7dynamic7grammar12__ModuleInfoZ'
collect2: ld returned 1 exit status
PhilippeSigaud commented 9 years ago

OK, going back on that.

PhilippeSigaud commented 9 years ago

Dammit, I don't remember how D tools work, not github. OK, I pushed a new commit, going back on the package.json change, and tagged it v0.2.1. I hope dub will catch it in the next 24 hours...

PhilippeSigaud commented 9 years ago

There. v0.2.1 now exists and is seen by dub.

On Fri, Mar 27, 2015 at 9:36 PM, Dmitri Makarov notifications@github.com wrote:

I'm afraid the change of excluding dynamic/grammar.d from sourceFiles wasn't good. I now get the linker error:

undefined reference to _D6pegged7dynamic7grammar12__ModuleInfoZ' ../../../.dub/packages/pegged-master/libpegged.a(parser.o):(.rodata+0x28): undefined reference to_D6pegged7dynamic7grammar12__ModuleInfoZ' collect2: ld returned 1 exit status

— Reply to this email directly or view it on GitHub https://github.com/PhilippeSigaud/Pegged/issues/152#issuecomment-87081301 .

dmakarov commented 9 years ago

Everything works fine now. Thank you very much for the very useful package and quick help.