On Mon, 29 Sep 2014 16:14:26 GMT, zhaopuming wrote:

Hi,

I'm trying to use vibe.d on a CentOS 6.2 machine,

I followed instructions on github page:

  • download dmd2.066.0 zip from dlang.org and unzip it
  • download dub-0.9.22 source and build it
  • download libevent-2.0.15.stable and build it
  • yum install openssl

finally I got it compiled, but linking got such error:

....
....
/opt/zpm/d/hello/../../../../root/.dub/packages/vibe-d-0.7.21-beta.4/source/vibe/stream/openssl.d:487: undefined reference to `EC_KEY_free'
/usr/local/lib/libevent_pthreads.so: undefined reference to `event_mm_malloc_'
/usr/local/lib/libevent_pthreads.so: undefined reference to `event_mm_free_'

is it because I got the wrong version of openssl?

Package openssl-1.0.0-27.el6.x86_64 already installed and latest version

After further looking I found that this was due to libevent 1.4 still in the system and libevent2.0 was shadowed. I removed libevent1.4 and errors in libevent_pthreads.so are gone. but there is still:

../../../../root/.dub/packages/vibe-d-0.7.21-beta.4/libvibe-d.a(openssl_3963_569.o): In function `_D4vibe6stream7openssl14OpenSSLContext12setECDHCurveMFAyaZv':
/opt/zpm/d/hello/../../../../root/.dub/packages/vibe-d-0.7.21-beta.4/source/vibe/stream/openssl.d:487: undefined reference to `EC_KEY_new_by_curve_name'
/opt/zpm/d/hello/../../../../root/.dub/packages/vibe-d-0.7.21-beta.4/source/vibe/stream/openssl.d:487: undefined reference to `EC_KEY_free'