RejectedSoftware Forums

Sign up

Recognize this linker problem offhand?

By any chance, do you happen to know offhand what this set of linker
errors could be coming from?

I'm still digging, but It's kinda strange: On two different machines (My
existing live server and a fairly fresh new VM instance), I have
the same OS (Debian 6), the exact same versions of vibe.d and mysqln,
the exact same main application file, the exact same DMD, exact same
libevent (2.0-5 from squeeze-backports), and I'm using the exact same
build command. And yet it works on my live server, but gives a bunch of
linker errors in the local VM machine. Darndest thing.

No need to go digging a bunch if you don't know offhand, I'm sure
there's something I've overlooked and I have very detailed notes on how
I set up my server. But I thought I'd ask just in case it was a pattern
you just happened to recognize:

/tmp/.rdmd-1000/rdmd-test10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test10.o:
In function
_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection6__ctorMFPS4vibe4core7drivers13libevent2_tcp10TCPContextZC4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection6__ctorMFPS4vibe4core7drivers13libevent2_tcp10TCPContextZC4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection+0x1c):<br>undefined reference to<br>buffereventgetinput' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers13libevent2tcp22Libevent2TCPConnection6ctorMFPS4vibe4core7drivers13libevent2_tcp10TCPContextZC4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection+0xc3):
undefined reference to
`evutil_inet_ntop' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection11readTimeoutMFNdS4core4time8DurationZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection11readTimeoutMFNdS4core4time8DurationZv+0x6a):
undefined reference to
`bufferevent_set_timeouts' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection11readTimeoutMFNdS4core4time8DurationZv+0xbe):
undefined reference to
`bufferevent_set_timeouts' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection5closeMFZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection5closeMFZv+0xa1):
undefined reference to
`bufferevent_flush' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection5closeMFZv+0xac):
undefined reference to
`bufferevent_flush' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection5closeMFZv+0xd0):
undefined reference to
`bufferevent_get_output' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection5closeMFZv+0xea):
undefined reference to
`evbuffer_get_length' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection9leastSizeMFNdZm': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection9leastSizeMFNdZm+0x4a):
undefined reference to
`evbuffer_get_length' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection20dataAvailableForReadMFNdZb': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection20dataAvailableForReadMFNdZb+0x3c):
undefined reference to
`evbuffer_get_length' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection4peekMFZAxh': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection4peekMFZAxh+0x4d):
undefined reference to
`evbuffer_peek' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection11waitForDataMFS4core4time8DurationZb': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection11waitForDataMFS4core4time8DurationZb+0x65):
undefined reference to
`event_new' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection11waitForDataMFS4core4time8DurationZb+0x188):
undefined reference to
`event_free' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection5flushMFZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp22Libevent2TCPConnection5flushMFZv+0x5c):
undefined reference to
`bufferevent_flush' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp19LibeventTCPListener13stopListeningMFZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp19LibeventTCPListener13stopListeningMFZv+0x86):
undefined reference to
`event_free' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp19LibeventTCPListener13stopListeningMFZv+0x91):
undefined reference to
`evutil_closesocket' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers13libevent2_tcp9onConnectUNbisPvZv10ClientTask7executeMFZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers13libevent2_tcp9onConnectUNbisPvZv10ClientTask7executeMFZv+0x90):
undefined reference to
`bufferevent_socket_new' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`onSocketWrite': ../../vibe.d/source/vibe/core/log.d:(.text.onSocketWrite+0x7d):
undefined reference to
`bufferevent_flush' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers9libevent215Libevent2Driver6
ctorMFC4vibe4core6driver10DriverCoreZC4vibe4core7drivers9libevent215Libevent2Driver': ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver6ctorMFC4vibe4core6driver10DriverCoreZC4vibe4core7drivers9libevent215Libevent2Driver+0x2b):
undefined reference to
`event
setmemfunctions' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver6ctorMFC4vibe4core6driver10DriverCoreZC4vibe4core7drivers9libevent215Libevent2Driver+0x79):
undefined reference to
`evthread
setlockcallbacks' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver6ctorMFC4vibe4core6driver10DriverCoreZC4vibe4core7drivers9libevent215Libevent2Driver+0xbc):
undefined reference to
`evthread
setconditioncallbacks' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver6ctorMFC4vibe4core6driver10DriverCoreZC4vibe4core7drivers9libevent215Libevent2Driver+0xc7):
undefined reference to
`evthread
setidcallback' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver6ctorMFC4vibe4core6driver10DriverCoreZC4vibe4core7drivers9libevent215Libevent2Driver+0x12a):
undefined reference to
`evthread
makebasenotifiable' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver6ctorMFC4vibe4core6driver10DriverCoreZC4vibe4core7drivers9libevent215Libevent2Driver+0x133):
undefined reference to
`evdns
basenew' /tmp/.rdmd-1000/rdmd-test10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test10.o:
In function
`
D4vibe4core7drivers9libevent215Libevent2Driver6dtorMFZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers9libevent215Libevent2Driver6dtorMFZv+0x16):
undefined reference to
evdns_base_free' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:<br>In function<br>D4vibe4core7drivers9libevent215Libevent2Driver11resolveHostMFAyatbZS4vibe4core3net14NetworkAddress': ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver11resolveHostMFAyatbZS4vibe4core3net14NetworkAddress+0xe9):
undefined reference to
evutil_inet_pton' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers9libevent215Libevent2Driver11resolveHostMFAyatbZS4vibe4core3net14NetworkAddress+0x1e3):<br>undefined reference to<br>evdnsbaseresolveipv4' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver11resolveHostMFAyatbZS4vibe4core3net14NetworkAddress+0x20b):
undefined reference to
evdns_base_resolve_ipv6' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:<br>In function<br>D4vibe4core7drivers9libevent215Libevent2Driver10connectTCPMFAyatZC4vibe4core3net13TCPConnection': ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent215Libevent2Driver10connectTCPMFAyatZC4vibe4core3net13TCPConnection+0xf3):
undefined reference to
bufferevent_socket_new' ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers9libevent215Libevent2Driver10connectTCPMFAyatZC4vibe4core3net13TCPConnection+0x1f8):<br>undefined reference to<br>buffereventsocketconnect' /tmp/.rdmd-1000/rdmd-test10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test10.o:
In function
_D4vibe4core7drivers9libevent215Libevent2Driver9listenTCPMFtDFC4vibe4core3net13TCPConnectionZvAyaE4vibe4core3net16TCPListenOptionsZC4vibe4core3net11TCPListener22setupConnectionHandlerFOC4vibe4core7drivers13libevent2_tcp19LibeventTCPListeneriS4vibe4core3net14NetworkAddressODFC4vibe4core3net13TCPConnectionZvZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers9libevent215Libevent2Driver9listenTCPMFtDFC4vibe4core3net13TCPConnectionZvAyaE4vibe4core3net16TCPListenOptionsZC4vibe4core3net11TCPListener22setupConnectionHandlerFOC4vibe4core7drivers13libevent2_tcp19LibeventTCPListeneriS4vibe4core3net14NetworkAddressODFC4vibe4core3net13TCPConnectionZvZv+0x51):<br>undefined reference to<br>eventnew' /tmp/.rdmd-1000/rdmd-test10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test10.o:
In function
`
D4vibe4core7drivers9libevent220Libevent2ManualEvent6dtorMFZv17foreachbody3072MFKS4vibe4core7drivers9libevent220Libevent2ManualEvent10ThreadSlotZi': ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent220Libevent2ManualEvent6dtorMFZv17foreachbody3072MFKS4vibe4core7drivers9libevent220Libevent2ManualEvent10ThreadSlotZi+0x15):
undefined reference to
`event
free' /tmp/.rdmd-1000/rdmd-test10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test10.o:
In function
_D4vibe4core7drivers9libevent220Libevent2ManualEvent7acquireMFZv': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers9libevent220Libevent2ManualEvent7acquireMFZv+0xa2):<br>undefined reference to<br>eventnew' /tmp/.rdmd-1000/rdmd-test10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test10.o:
In function
`
D4vibe4core7drivers9libevent214Libevent2Timer6ctorMFC4vibe4core7drivers9libevent215Libevent2DriverDFZvZC4vibe4core7drivers9libevent214Libevent2Timer': ../../vibe.d/source/vibe/core/log.d:(.text._D4vibe4core7drivers9libevent214Libevent2Timer6ctorMFC4vibe4core7drivers9libevent215Libevent2DriverDFZvZC4vibe4core7drivers9libevent214Libevent2Timer+0x34):
undefined reference to
event_new' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:<br>In function<br>D4vibe4core7drivers9libevent214Libevent2Timer6dtorMFZv': ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent214Libevent2Timer6dtorMFZv+0x20):
undefined reference to
`event_free' /tmp/.rdmd-1000/rdmd-test_10.d-B175BCE6948C0469C52048F3ABB2E6B5/objs/test_10.o:
In function
`_D4vibe4core7drivers9libevent222Libevent2UDPConnection6
ctorMFS4vibe4core3net14NetworkAddressC4vibe4core7drivers9libevent215Libevent2DriverZC4vibe4core7drivers9libevent222Libevent2UDPConnection': ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent222Libevent2UDPConnection6ctorMFS4vibe4core3net14NetworkAddressC4vibe4core7drivers9libevent215Libevent2DriverZC4vibe4core7drivers9libevent222Libevent2UDPConnection+0x66):
undefined reference to
`evutil
inetntop' ../../vibe.d/source/vibe/core/log.d:(.text.D4vibe4core7drivers9libevent222Libevent2UDPConnection6_ctorMFS4vibe4core3net14NetworkAddressC4vibe4core7drivers9libevent215Libevent2DriverZC4vibe4core7drivers9libevent222Libevent2UDPConnection+0x1de):
undefined reference to `event
new' collect2: ld returned 1 exit status

Re: Recognize this linker problem offhand?

On Fri, 31 May 2013 01:26:07 -0400
Nick Sabalausky SeeWebsiteToContactMe@semitwist.com wrote:

By any chance, do you happen to know offhand what this set of linker
errors could be coming from?

I'm still digging, but It's kinda strange: On two different machines
(My existing live server and a fairly fresh new VM instance), I have
the same OS (Debian 6), the exact same versions of vibe.d and mysqln,
the exact same main application file, the exact same DMD, exact same
libevent (2.0-5 from squeeze-backports), and I'm using the exact same
build command. And yet it works on my live server, but gives a bunch
of linker errors in the local VM machine. Darndest thing.

No need to go digging a bunch if you don't know offhand, I'm sure
there's something I've overlooked and I have very detailed notes on
how I set up my server. But I thought I'd ask just in case it was a
pattern you just happened to recognize:

Ah, figures I'd finally get it mere moments after posting that.

When first I tried to install libevent-dev on this local VM, it
blindly grabbed v1.4 because I didn't tell it to grab from debian's
backports (and hadn't configured any backports repos at all). THEN I
installed libevent-2.0-5 from backports, plus all the other
libevent-*-2.0-5 packages listed. And I was surprised that my stuff
wasn't linking.

But apparently none of those 2.0 packages had updated my libevent-dev
(and there was no libevent-dev-2 or libevent-2-dev listed, which
seems kinda weird). So even installing all of the libevent 2.0 stuff
still left libevent-dev at 1.4.

So after a:
% apt-get remove libevent-dev
% apt-get -t squeeze-backports install libevent-dev

The libevent-dev is now 2.0, and all is well.