Thread overview
DUB Errors
Oct 03, 2014
Nordlöw
Oct 03, 2014
John Colvin
Oct 03, 2014
Brian Hechinger
Oct 05, 2014
David Nadlinger
Oct 05, 2014
Sönke Ludwig
Oct 05, 2014
Nordlöw
Oct 05, 2014
Nordlöw
Oct 09, 2014
Sönke Ludwig
October 03, 2014
My vibe.d base project no longer builds with DUB git master but instead errors as

Building vibe-d ~master configuration "libevent", build type debug.
Running dmd...
../../.dub/packages/openssl-master/deimos/openssl/ossl_typ.d(209): Error: undefined identifier ssl_ctx_st
../../.dub/packages/openssl-master/deimos/openssl/ssl.d(435): Error: ExternC!(extern (C) c_long function(SSL_CTX* ctx, int cmd, c_long larg, void* parg)) had previous errors
../../.dub/packages/openssl-master/deimos/openssl/ssl.d(447): Error: ExternC!(extern (C) c_long function(SSL_CTX* s, int cb_id, ExternC!(extern (C) void function()) fp)) had previous errors
FAIL ../../.dub/packages/vibe-d-master/.dub/build/libevent-debug-linux.posix-x86_64-dmd_2066-78BF44FED20E955E6BD4F1280160FDD5/ vibe-d staticLibrary
Error executing command run: dmd failed with exit code 1.

What's wrong?

With DMD 2.066 on Ubuntu 10.04.
October 03, 2014
On Friday, 3 October 2014 at 15:14:36 UTC, Nordlöw wrote:
> My vibe.d base project no longer builds with DUB git master but instead errors as
>
> Building vibe-d ~master configuration "libevent", build type debug.
> Running dmd...
> ../../.dub/packages/openssl-master/deimos/openssl/ossl_typ.d(209): Error: undefined identifier ssl_ctx_st
> ../../.dub/packages/openssl-master/deimos/openssl/ssl.d(435): Error: ExternC!(extern (C) c_long function(SSL_CTX* ctx, int cmd, c_long larg, void* parg)) had previous errors
> ../../.dub/packages/openssl-master/deimos/openssl/ssl.d(447): Error: ExternC!(extern (C) c_long function(SSL_CTX* s, int cb_id, ExternC!(extern (C) void function()) fp)) had previous errors
> FAIL ../../.dub/packages/vibe-d-master/.dub/build/libevent-debug-linux.posix-x86_64-dmd_2066-78BF44FED20E955E6BD4F1280160FDD5/ vibe-d staticLibrary
> Error executing command run: dmd failed with exit code 1.
>
> What's wrong?
>
> With DMD 2.066 on Ubuntu 10.04.

doesn't look like a dub problem, looks more like a problem with the ssl bindings. The relevant error is the first one:

> ../../.dub/packages/openssl-master/deimos/openssl/ossl_typ.d(209): Error: undefined identifier ssl_ctx_st
October 03, 2014
On Friday, 3 October 2014 at 15:50:13 UTC, John Colvin wrote:
> On Friday, 3 October 2014 at 15:14:36 UTC, Nordlöw wrote:
>> My vibe.d base project no longer builds with DUB git master but instead errors as
>>
>> Building vibe-d ~master configuration "libevent", build type debug.
>> Running dmd...
>> ../../.dub/packages/openssl-master/deimos/openssl/ossl_typ.d(209): Error: undefined identifier ssl_ctx_st
>> ../../.dub/packages/openssl-master/deimos/openssl/ssl.d(435): Error: ExternC!(extern (C) c_long function(SSL_CTX* ctx, int cmd, c_long larg, void* parg)) had previous errors
>> ../../.dub/packages/openssl-master/deimos/openssl/ssl.d(447): Error: ExternC!(extern (C) c_long function(SSL_CTX* s, int cb_id, ExternC!(extern (C) void function()) fp)) had previous errors
>> FAIL ../../.dub/packages/vibe-d-master/.dub/build/libevent-debug-linux.posix-x86_64-dmd_2066-78BF44FED20E955E6BD4F1280160FDD5/ vibe-d staticLibrary
>> Error executing command run: dmd failed with exit code 1.
>>
>> What's wrong?
>>
>> With DMD 2.066 on Ubuntu 10.04.
>
> doesn't look like a dub problem, looks more like a problem with the ssl bindings. The relevant error is the first one:
>
>> ../../.dub/packages/openssl-master/deimos/openssl/ossl_typ.d(209): Error: undefined identifier ssl_ctx_st

With my old set of packages I had no problems. I just now deleted
~/.dub and now I too get this error. Some issue with the openssl
module, yes, but what? This is a bit of an issue. :)
October 05, 2014
On Friday, 3 October 2014 at 23:00:53 UTC, Brian Hechinger wrote:
> With my old set of packages I had no problems. I just now deleted
> ~/.dub and now I too get this error. Some issue with the openssl
> module, yes, but what? This is a bit of an issue. :)

At first glance, this seems like a forward reference issue. deimos.openssl.ossl_typ imports deimos.openssl.ssl, but also the other way round.

I had a similar problem where everything worked before, but then I deleted all DUB caches and now vibe.d doesn't build anymore (master and 0.7.21-rc1).

David
October 05, 2014
Am 05.10.2014 02:11, schrieb David Nadlinger:
> On Friday, 3 October 2014 at 23:00:53 UTC, Brian Hechinger wrote:
>> With my old set of packages I had no problems. I just now deleted
>> ~/.dub and now I too get this error. Some issue with the openssl
>> module, yes, but what? This is a bit of an issue. :)
>
> At first glance, this seems like a forward reference issue.
> deimos.openssl.ossl_typ imports deimos.openssl.ssl, but also the other
> way round.
>
> I had a similar problem where everything worked before, but then I
> deleted all DUB caches and now vibe.d doesn't build anymore (master and
> 0.7.21-rc1).
>
> David

Judging by the log output it should be "fixed" (on vibe.d's side) with [1] by using a version based dependency to the OpenSSL bindings with an old version*. I've tagged a new RC-2 version now (although it's not really an RC with more known fixes to come).

* Since there was no reaction on the corresponding ticket [2], I've decided to tag my own fork instead and register it on code.dlang.org. If anyone has a better idea...

[1]: https://github.com/rejectedsoftware/vibe.d/commit/4fd45376a81423adae33092326b5be2cc69422c8
[2]: https://github.com/D-Programming-Deimos/openssl/issues/17

October 05, 2014
On Sunday, 5 October 2014 at 06:39:00 UTC, Sönke Ludwig wrote:
>> At first glance, this seems like a forward reference issue.
>> deimos.openssl.ossl_typ imports deimos.openssl.ssl, but also the other
>> way round.

The only explanation I can think of is that

version = OPENSSL_NO_SSL_INTERN;

for some reason gets set during compilation as this leads to

struct ssl_ctx_st

not become visible in modules that import ssl.d.

Ideas anyone?
October 05, 2014
On Sunday, 5 October 2014 at 06:39:00 UTC, Sönke Ludwig wrote:
> Judging by the log output it should be "fixed" (on vibe.d's side) with [1] by using a version based dependency to the OpenSSL bindings with an old version*. I've tagged a new RC-2 version now (although it's not really an RC with more known fixes to come).
>
> * Since there was no reaction on the corresponding ticket [2], I've decided to tag my own fork instead and register it on code.dlang.org. If anyone has a better idea...
>
> [1]: https://github.com/rejectedsoftware/vibe.d/commit/4fd45376a81423adae33092326b5be2cc69422c8
> [2]: https://github.com/D-Programming-Deimos/openssl/issues/17

Is reset my dub.selections.json and now things work.

Thx.
October 09, 2014
Am 05.10.2014 15:50, schrieb "Nordlöw":
> On Sunday, 5 October 2014 at 06:39:00 UTC, Sönke Ludwig wrote:
>> Judging by the log output it should be "fixed" (on vibe.d's side) with
>> [1] by using a version based dependency to the OpenSSL bindings with
>> an old version*. I've tagged a new RC-2 version now (although it's not
>> really an RC with more known fixes to come).
>>
>> * Since there was no reaction on the corresponding ticket [2], I've
>> decided to tag my own fork instead and register it on code.dlang.org.
>> If anyone has a better idea...
>>
>> [1]:
>> https://github.com/rejectedsoftware/vibe.d/commit/4fd45376a81423adae33092326b5be2cc69422c8
>>
>> [2]: https://github.com/D-Programming-Deimos/openssl/issues/17
>
> Is reset my dub.selections.json and now things work.
>
> Thx.

Oh right, didn't think about that, sorry. BTW, `dub upgrade` would be an alternative to deleting the dub.selections.json file.