RejectedSoftware Forums

Sign up

Linking Error: module buffer is in file 'deimos/event2/buffer.d' which cannot be read

I'm trying to compile an application by doing that:

find ../../vibe.d/source/vibe -type f | grep -v "/appmain.d" | grep -v "/d.d" > build/vibe.txt
find src -type f > build/src.txt
dmd -debug -odbuild -I../../d-yaml -L-L../../d-yaml -L-ldyaml -Isrc -I../../vibe.d/source/vibe @build/vibe.txt -L-levent_pthreads -L-levent -L-lssl -L-lcrypto @build/src.txt -ofbin/app
../../vibe.d/source/vibe/core/drivers/libevent2_tcp.d(17): Error: module buffer is in file 'deimos/event2/buffer.d' which cannot be read

If I do include the source/deimos folder, I get the following error:

undefined reference to `ev_default_loop_init'

Any suggestions?

Re: Linking Error: module buffer is in file 'deimos/event2/buffer.d' which cannot be read

Information on how I could link d-yaml to vibe.d in another way would also be of help.

Re: Linking Error: module buffer is in file 'deimos/event2/buffer.d' which cannot be read

I don't have the issue anymore since I pulled the master branch.

Re: Linking Error: module buffer is in file 'deimos/event2/buffer.d' which cannot be read

On Wed, 14 Nov 2012 18:51:19 GMT, Ekyo wrote:

I'm trying to compile an application by doing that:

find ../../vibe.d/source/vibe -type f | grep -v "/appmain.d" | grep -v "/d.d" > build/vibe.txt
find src -type f > build/src.txt
dmd -debug -odbuild -I../../d-yaml -L-L../../d-yaml -L-ldyaml -Isrc -I../../vibe.d/source/vibe @build/vibe.txt -L-levent_pthreads -L-levent -L-lssl -L-lcrypto @build/src.txt -ofbin/app
../../vibe.d/source/vibe/core/drivers/libevent2_tcp.d(17): Error: module buffer is in file 'deimos/event2/buffer.d' which cannot be read

If I do include the source/deimos folder, I get the following error:

undefined reference to `ev_default_loop_init'

Any suggestions?

Sorry, for some reason my Thunderbird completely missed this thread, with the exception of the last message.

I think the original issue is the -I../../vibe.d/source/vibe in the dmd command line, which should be just -I../../vibe.d/source. There are two also possibilities for just injecting the additional flags, while still using the vibe script to compile:

DFLAGS=-I../../d-yaml -L-L../../d-yaml -L-ldyaml
vibe build

or preparing a package.json file in the project root folder with a dflags section:

{
    "name": "projectname",
    "dflags": [
        "-I../../d-yaml",
        "-L-L../../d-yaml",
        "-L-ldyaml"
    ]
}