RejectedSoftware Forums

Sign up

/usr/bin/ld: cannot find -lev

I've configured a the sample website (http://vibed.org/docs) but ran
into linker errors even though all dependencies seems to have installed
correctly. Any suggestions?

www@localhost:~/dtutor$ dub
Checking dependencies in '/home/www/dtutor'
The following changes could be performed:
Install vibe-d ~master, userWide
Install libevent ~master, userWide
Install libev ~master, userWide
Install openssl ~master, userWide
Downloading vibe-d ~master...
Installing vibe-d ~master...
vibe-d has been installed with version ~master
Downloading libevent ~master...
Installing libevent ~master...
libevent has been installed with version ~master
Downloading libev ~master...
Installing libev ~master...
libev has been installed with version ~master
Downloading openssl ~master...
Installing openssl ~master...
openssl has been installed with version ~master
You are up to date
Building configuration "application", build type debug
Running dmd (compile)...
Compiling diet template 'index.dt' (compat)...
Linking...
/usr/bin/ld: cannot find -lev
collect2: error: ld returned 1 exit status
--- errorlevel 1

Thanks,
Andrew

Re: /usr/bin/ld: cannot find -lev

On 6/21/13 3:27 AM, Andrew Edwards wrote:

I've configured a the sample website (http://vibed.org/docs) but ran
into linker errors even though all dependencies seems to have installed
correctly. Any suggestions?

I've installed libevent

Re: /usr/bin/ld: cannot find -lev

Am 21.06.2013 09:27, schrieb Andrew Edwards:

I've configured a the sample website (http://vibed.org/docs) but ran
into linker errors even though all dependencies seems to have installed
correctly. Any suggestions?

(...)

That issue should have been fixed on vibe.d master on 6/17. Is the
output from a recent run and DUB at the latest version?

Maybe it helps to let it reinstall vibe.d by issuing "dub uninstall vibe-d".

Re: /usr/bin/ld: cannot find -lev

On 6/21/13 3:40 AM, Sönke Ludwig wrote:

Am 21.06.2013 09:27, schrieb Andrew Edwards:

I've configured a the sample website (http://vibed.org/docs) but ran
into linker errors even though all dependencies seems to have installed
correctly. Any suggestions?

(...)

That issue should have been fixed on vibe.d master on 6/17. Is the
output from a recent run and DUB at the latest version?

Maybe it helps to let it reinstall vibe.d by issuing "dub uninstall vibe-d".

I just cloned install dub, initialized the project and set the
dependencies to

 "dependencies": {
         "vibe-d": "~master",
         "libevent": "~master",
         "libev": "~master",
         "openssl": "~master"
 }

about five minutes before making that post.

I've since installed libev-dev form the administrator account and it
works. Problem is, I getting the following:

www@localhost:~/dtutor$ dub
Checking dependencies in '/home/www/dtutor'
Building configuration "application", build type debug
Running dmd (compile)...
Compiling diet template 'index.dt' (compat)...
Linking...
Running /tmp/dub/1572749933/dtutor...
Listening for HTTP requests on :::9001
Failed to listen on 0.0.0.0:9001

Not sure if that's because I'm running it as a regular user or what.

Re: /usr/bin/ld: cannot find -lev

Am 21.06.2013 09:48, schrieb Andrew Edwards:

On 6/21/13 3:40 AM, Sönke Ludwig wrote:

Am 21.06.2013 09:27, schrieb Andrew Edwards:

I've configured a the sample website (http://vibed.org/docs) but ran
into linker errors even though all dependencies seems to have installed
correctly. Any suggestions?

(...)

That issue should have been fixed on vibe.d master on 6/17. Is the
output from a recent run and DUB at the latest version?

Maybe it helps to let it reinstall vibe.d by issuing "dub uninstall
vibe-d".

I just cloned install dub, initialized the project and set the
dependencies to

"dependencies": {
        "vibe-d": "~master",
        "libevent": "~master",
        "libev": "~master",
        "openssl": "~master"
}

about five minutes before making that post.

I see.

I've since installed libev-dev form the administrator account and it
works.

Still strange that it tried to link against it in the first place. Can
you post the ~/.dub/packages/vibe-d-master/package.json file to make
sure there has nothing strange been happening with it?

Problem is, I getting the following:

www@localhost:~/dtutor$ dub
Checking dependencies in '/home/www/dtutor'
Building configuration "application", build type debug
Running dmd (compile)...
Compiling diet template 'index.dt' (compat)...
Linking...
Running /tmp/dub/1572749933/dtutor...
Listening for HTTP requests on :::9001
Failed to listen on 0.0.0.0:9001

Not sure if that's because I'm running it as a regular user or what.

That's "OK", the OS is already listening for IPv4 requests using the
first IPv6 listening socket and thus fails to listen on the same port
again, you can set the HTTPServerSettings.bindAddresses field to just
["::"], or maybe better ["127.0.0.1"] to suppress that error message.

Re: /usr/bin/ld: cannot find -lev

On 6/21/13 4:21 AM, Sönke Ludwig wrote:

Am 21.06.2013 09:48, schrieb Andrew Edwards:

On 6/21/13 3:40 AM, Sönke Ludwig wrote:

Am 21.06.2013 09:27, schrieb Andrew Edwards:

I've configured a the sample website (http://vibed.org/docs) but ran
into linker errors even though all dependencies seems to have installed
correctly. Any suggestions?

(...)

That issue should have been fixed on vibe.d master on 6/17. Is the
output from a recent run and DUB at the latest version?

Maybe it helps to let it reinstall vibe.d by issuing "dub uninstall
vibe-d".

I just cloned install dub, initialized the project and set the
dependencies to

 "dependencies": {
         "vibe-d": "~master",
         "libevent": "~master",
         "libev": "~master",
         "openssl": "~master"
 }

about five minutes before making that post.

I see.

I've since installed libev-dev form the administrator account and it
works.

Still strange that it tried to link against it in the first place. Can
you post the ~/.dub/packages/vibe-d-master/package.json file to make
sure there has nothing strange been happening with it?

www@localhost:~/.dub/packages/vibe-d-master$ cat package.json
{

"description": "Asynchronous I/O framework",
"authors": [
	"S旦nke Ludwig",
	"Jan Kr端ger",
	"Matthias Dondorff",
	"see github for more"
],
"libs-windows": [
	"wsock32",
	"ws2_32"
],
"copyFiles-windows-x86_64": [
	"lib/win-amd64/libeay32.dll",
	"lib/win-amd64/ssleay32.dll"
],
"version": "~master",
"license": "MIT",
"dependencies": {
	"openssl": "~master"
},
"copyFiles-windows-x86": [
	"lib/win-i386/libeay32.dll",
	"lib/win-i386/ssleay32.dll"
],
"configurations": [
	{
		"copyFiles-windows-x86_64": [
			"lib/win-amd64/libevent.dll"
		],
		"dependencies": {
			"libevent": "~master"
		},
		"copyFiles-windows-x86": [
			"lib/win-i386/libevent.dll"
		],
		"sourceFiles-windows-x86_64": [
			"lib/win-amd64/event2.lib"
		],
		"name": "libevent",
		"versions": [
			"VibeLibeventDriver"
		],
		"sourceFiles-windows-x86": [
			"lib/win-i386/event2.lib"
		]
	},
	{
		"platforms": [
			"posix"
		],
		"dependencies": {
			"libev": "~master"
		},
		"name": "libev",
		"versions": [
			"VibeLibevDriver"
		]
	},
	{
		"platforms": [
			"windows"
		],
		"name": "win32",
		"versions": [
			"VibeWin32Driver"
		]
	},
	{
		"platforms": [
			"windows"
		],
		"name": "winrt",
		"versions": [
			"VibeWinrtDriver"
		]
	}
],
"homepage": "http://vibed.org/",
"sourceFiles-windows-x86_64": [
	"lib/win-amd64/libeay32.lib",
	"lib/win-amd64/ssleay32.lib"
],
"excludedSourceFiles": [
	"source/vibe/core/mutex.d",
	"source/vibe/core/signal.d",
	"source/vibe/crypto/md5.d",
	"source/vibe/crypto/sha1.d",
	"source/vibe/crypto/ssl.d",
	"source/vibe/stream/stream.d"
],
"name": "vibe-d",
"copyright": "Copyright (c) 2012-2013 rejectedsoftware e.K.",
"targetType": "library",
"sourceFiles-windows-x86": [
	"lib/win-i386/eay.lib",
	"lib/win-i386/ssl.lib"
]

Re: /usr/bin/ld: cannot find -lev

Am 21.06.2013 23:34, schrieb Andrew Edwards:

I just cloned install dub, initialized the project and set the
dependencies to

 "dependencies": {
         "vibe-d": "~master",
         "libevent": "~master",
         "libev": "~master",
         "openssl": "~master"
 }

Sorry, I was completely blind here*! Just remove all dependencies
except vibe-d and everything should be fine. Recursive dependencies are
supposed to be fetched/managed automatically, but currently there is a
bug where dub has to be invoked twice before they can be resolved (you
probably added those extra dependencies because of an error message,
right?). This will be the first thing I'll fix next.

* Since the package.json looked alright, that caused be to reread all
the other details again and only then I noticed the additional dependencies.

Re: /usr/bin/ld: cannot find -lev

Am 22.06.2013 06:57, schrieb Sönke Ludwig:

Recursive dependencies are
supposed to be fetched/managed automatically, but currently there is a
bug where dub has to be invoked twice before they can be resolved (you
probably added those extra dependencies because of an error message,
right?). This will be the first thing I'll fix next.

dub master has this fixed now.