ariovistus / pyd

Interoperability between Python and D
MIT License
159 stars 32 forks source link

Pyd does not work with recent DMD 2.072.2-b4 #58

Closed 9il closed 7 years ago

9il commented 8 years ago

../../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/thread.d(122): Error: no property 'ThreadAddr' for type 'core.thread.Thread' ../../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/thread.d(201): Error: no property 'ThreadAddr' for type 'core.thread.Thread' ../../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/pyd.d(30): Error: static assert "pyd requires FE 2.060 or later"

ariovistus commented 8 years ago

I can't seem to reproduce this with 2.071.2-b4 on windows 10 (you do mean that version right?), but from the posted error messages it looks like VERSION isn't giving the right thing. What does your compiler think it is? Mine thinks it is 2071.

9il commented 8 years ago

the same

ariovistus commented 8 years ago

hm. version_minor from std.compiler is 71? those error messages suggest it's something like 0.

atilaneves commented 7 years ago

Doesn't build for me with dmd 2.072.1:

../../home/$USER/.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/references.d(254,11): Error: undefined identifier 'Mapping'

saurabhdas commented 7 years ago

It's not building for me either:

$ dmd --version
DMD64 D Compiler v2.072.1

$ dub build
../../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/references.d(252,11): Error: undefined identifier 'Mapping'

OS: Max OS X 10.11.6

ariovistus commented 7 years ago

is everybody hitting this issue on macs? that will take a bit of logistics for me to troubleshoot.

saurabhdas commented 7 years ago

I have just tested on Linux (Ubuntu 16.04.1 LTS). It does not build on that either.

ubuntu@ip-172-31-14-11:~/pyd_test$ dmd --version
DMD64 D Compiler v2.072.2
Copyright (c) 1999-2016 by Digital Mars written by Walter Bright

ubuntu@ip-172-31-14-11:~/ttt$ dub init
Package recipe format (sdl/json) [json]: 
Name [ttt]: 
Description [A minimal D application.]: 
Author name [Ubuntu]: 
License [proprietary]: 
Copyright string [Copyright © 2017, Ubuntu]: 
Add dependency (leave empty to skip) []: pyd
Added dependency pyd ~>0.9.8
Add dependency (leave empty to skip) []: 
Successfully created an empty project in '/home/ubuntu/ttt'.
Package successfully created in .

ubuntu@ip-172-31-14-11:~/ttt$ dub build
Performing "debug" build using dmd for x86_64.
ttt ~master: building configuration "application"...
../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/references.d(356,21): Deprecation: Implicit string concatenation is deprecated, use "trying to convert a extern(\"%s\") " ~ "%s to extern(\"%s\")" instead
../.dub/packages/pyd-0.9.8/pyd/infrastructure/util/multi_index.d(3602,33): Deprecation: Implicit string concatenation is deprecated, use "signals not implemented for Hashed " ~ "indeces without version=BucketHackery" instead
../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/def.d(425,17): Deprecation: pyd.func_wrap.enforce is not visible from module def
../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/references.d(252,11): Error: undefined identifier 'Mapping'
../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/references.d(50,11): Error: template instance pyd.references.pyd_references!(RangeWrapper*) error instantiating
../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/class_wrap.d(1498,15):        instantiated from here: PydTypeObject!(RangeWrapper*)
../.dub/packages/pyd-0.9.8/pyd/infrastructure/pyd/class_wrap.d(1476,5):        instantiated from here: _wrap_class!(RangeWrapper, "RangeWrapper", "", "pyd", Def!(iter, PyName!"__iter__"), Def!(next))
saurabhdas commented 7 years ago

PS: That was a fresh server on AWS. @ariovistus I can provide you with access to the above server if needed.

ariovistus commented 7 years ago

looks like we need a new release. can you try installing from master? dub still does that, right? just a quick check that that is the fix

saurabhdas commented 7 years ago

It works on master albeit with a couple of deprecation warnings:

../.dub/packages/pyd-master/pyd/infrastructure/pyd/references.d(358,21): Deprecation: Implicit string concatenation is deprecated, use "trying to convert a extern(\"%s\") " ~ "%s to extern(\"%s\")" instead
../.dub/packages/pyd-master/pyd/infrastructure/util/multi_index.d(3602,33): Deprecation: Implicit string concatenation is deprecated, use "signals not implemented for Hashed " ~ "indices without version=BucketHackery" instead
ariovistus commented 7 years ago

cool

ariovistus commented 7 years ago

the story for getting dub packages into code.dlang.org is still tag and wait, right?

saurabhdas commented 7 years ago

PyD is showing version 0.9.9 on code.dlang.org now. I have tested that it builds on both linux and mac os for dmd 2.072.2

Thanks @ariovistus

ariovistus commented 7 years ago

closing unless and until someone thinks it isn't fixed