April 04, 2014
Hi all,

Trying to write a simple project (using 0.13-alpha2) that uses the
libldc.so (this is actually from the Debian package ldc).

$ make
rdmd --build-only --chatty -O2 -w -version=VibeLibeventDriver -debug
-L-lssl -L-lcrypto -L-levent -L-lldc -oftest test.d
stat /tmp/.rdmd-1000
stat /tmp/.rdmd-1000/rdmd-test.d-F4B94AE57773E24968FE4B80E626AD8D
stat /tmp/.rdmd-1000/rdmd-test.d-F4B94AE57773E24968FE4B80E626AD8D/rdmd.deps
read /tmp/.rdmd-1000/rdmd-test.d-F4B94AE57773E24968FE4B80E626AD8D/rdmd.deps
stat test.d stat /usr/include/d/common/deimos/openssl/evp.d
stat /usr/include/d/common/deimos/event2/buffer.d
stat /usr/include/d/common/vibe/core/drivers/libevent2.d
stat /usr/include/d/common/vibe/inet/message.d
stat /usr/include/d/common/vibe/stream/operations.d
stat /usr/include/d/common/deimos/openssl/opensslconf.d
stat /usr/include/d/common/vibe/http/rest.d
stat /usr/include/d/common/deimos/openssl/ts.d
stat /usr/include/d/common/vibe/db/mongo/collection.d
stat /usr/include/d/common/deimos/openssl/tls1.d
stat /usr/include/d/common/vibe/data/bson.d
stat /usr/include/d/common/deimos/openssl/pqueue.d
stat /usr/include/d/common/vibe/utils/string.d
stat /usr/include/d/common/vibe/web/rest.d
stat /usr/include/d/common/deimos/openssl/objects.d
stat /usr/include/d/common/vibe/http/server.d
stat /usr/include/d/common/deimos/openssl/conf.d
stat /usr/include/d/common/vibe/core/concurrency.d
stat /usr/include/d/common/vibe/db/mongo/database.d
stat /usr/include/d/common/vibe/core/task.d
stat /usr/include/d/common/vibe/db/mongo/client.d
stat /usr/include/d/common/deimos/openssl/ssl23.d
stat /usr/include/d/common/vibe/textfilter/markdown.d
stat test2.d
'ldmd2' '-O2' '-w' '-version=VibeLibeventDriver' '-debug' '-L-lssl'
'-L-lcrypto' '-L-levent' '-L-lldc' '-v' '-o-' 'test.d' '-I.'
read /tmp/.rdmd-1000/rdmd-test.d-F4B94AE57773E24968FE4B80E626AD8D/rdmd.deps
stat /tmp/.rdmd-1000/rdmd-test.d-F4B94AE57773E24968FE4B80E626AD8D/.built
stat test 'ldmd2'
'@/tmp/.rdmd-1000/rdmd-test.d-F4B94AE57773E24968FE4B80E626AD8D/rdmd.rsp' /usr/lib/libldc.so:
undefined reference to `ldc::ldc_version'
collect2: error: ld returned
1 exit status Error: /usr/bin/gcc failed with status: 1
make: *** [emporium] Error 1

If I remove -L-lldc it compiles a static binary which works just fine but I thought I'd try to make the binary smaller.

Any ideas?

Konstantinos

PS. I've created debian packages (source only) of
openssl/libevent/vibe.d, which I will be uploading to the archive very
soon, just need to finish some typical stuff (licenses, etc).


April 05, 2014
Hi Konstantinos!

On Friday, 4 April 2014 at 18:41:49 UTC, Konstantinos Margaritis wrote:
> [...]
> /usr/lib/libldc.so:
> undefined reference to `ldc::ldc_version'
> collect2: error: ld returned
> 1 exit status Error: /usr/bin/gcc failed with status: 1
> make: *** [emporium] Error 1
>
> If I remove -L-lldc it compiles a static binary which works just fine
> but I thought I'd try to make the binary smaller.
>
> Any ideas?

It's a bug. Should be fixed now in master and merge-2.064 branch.
Some time ago I created an unnecessary reference to ldc::ldc_version.

> Konstantinos
>
> PS. I've created debian packages (source only) of
> openssl/libevent/vibe.d, which I will be uploading to the archive very
> soon, just need to finish some typical stuff (licenses, etc).

Great!!!

Regards,
Kai