honeyd version 1.5c-7build1 failed to build on i386 (wrong dlsym detection; libevent porting needed)

Bug #749247 reported by Matthias Klose
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
honeyd (Debian)
Fix Released
Unknown
honeyd (Ubuntu)
Fix Released
High
Jamie Strandboge
Oneiric
Fix Released
High
Jamie Strandboge

Bug Description

honeyd version 1.5c-7build1 failed to build on i386
Link to failed build: https://launchpad.net/ubuntu/+archive/test-rebuild-20110329/+buildjob/2395663

Direct link to the build log: https://launchpad.net/ubuntu/+archive/test-rebuild-20110329/+buildjob/2395663/+files/buildlog_ubuntu-natty-i386.honeyd_1.5c-7build1_FAILEDTOBUILD.txt.gz

This log snippet might be of interest, since it triggered the matcher 'Purging chroot-autobuild'.
Excerpt 1478 lines into the build log:

checking for setruid... no
checking for kqueue... no
checking for daemon... yes
checking for err... yes
checking for strsep... yes
checking for strlcpy... no
checking for strlcat... no
checking for getopt_long... yes
checking for SHA1Update... no
checking for msg_accrights field in struct msghdr... no
checking for sun_len in socketaddr_un... no
checking for msg_control field in struct msghdr... yes
checking for timeradd in sys/time.h... yes
checking for isblank in ctype.h... yes
checking for working addr_cmp in libdumbnet... yes
checking for addr_net in libdumbnet... yes
checking for struct sockaddr_storage... yes
checking for sa_len in sockaddr struct... no
checking if underscores are needed for symbols... no
checking if we can access libc without dlopen... no
checking if we can access libc with libc.so... no
checking if we can access libc with /usr/lib/libc.so*... no
configure: error: Couldn't figure out how to access libc
make: *** [config.status] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
******************************************************************************
Build finished at 20110403-0922
FAILED [dpkg-buildpackage died]
Purging chroot-autobuild/build/buildd/honeyd-1.5c

Steve Langasek (vorlon)
Changed in honeyd (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
tags: added: multiarch
Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

This is ugly version of fix. Will improve it and attach newer version next week.

What needs to be done is not replacing old code but adding it so one configure(.in) will handle multiarch and normal systems (so will be acceptable by upstream).

I also do not know does use of ac_cv_env_host_alias_value is proper.

tags: added: patch
tags: added: oneiric
Changed in honeyd (Ubuntu):
milestone: none → oneiric-alpha-1
Changed in honeyd (Ubuntu Oneiric):
milestone: oneiric-alpha-1 → oneiric-alpha-2
Changed in honeyd (Ubuntu Oneiric):
milestone: oneiric-alpha-2 → none
tags: added: universe
Revision history for this message
Jean-Louis Dupond (dupondje) wrote :

Its not only the configure that is broken, but honeyd doesnt compile anymore against libevent 2.

Matthias Klose (doko)
Changed in honeyd (Ubuntu Oneiric):
importance: Medium → High
Steve Langasek (vorlon)
Changed in honeyd (Ubuntu Oneiric):
assignee: nobody → Steve Langasek (vorlon)
Revision history for this message
Steve Langasek (vorlon) wrote :

Here is a patch to fix the configure error more correctly - the bug is actually in testing for dlsym(RTLD_NEXT, ...) without linking against libdl, which causes it to always probe or libc.so - which winds up breaking at runtime on any system that doesn't have libc-dev installed anyway.

But as noted up-thread, this is not enough to fix the build because honeyd is not ported to libevent 2.0. This is ironic given that the upstream of honeyd is the same as the upstream for libevent; all the same, the porting seems to be non-trivial and needs someone who understands libevent well to work on it.

Changed in honeyd (Ubuntu Oneiric):
assignee: Steve Langasek (vorlon) → nobody
summary: - honeyd version 1.5c-7build1 failed to build on i386
+ honeyd version 1.5c-7build1 failed to build on i386 (wrong dlsym
+ detection; libevent porting needed)
Revision history for this message
Matthias Klose (doko) wrote :

assigned on request, maybe providing a separate libevent1 source package

Changed in honeyd (Ubuntu Oneiric):
assignee: nobody → Jamie Strandboge (jdstrand)
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I have a preliminary libevent1 package under review. Adjusting libevent1-dev to use libevent1-dev, applying Steve's patch and running autoreconf -fi allows honeyd to compile successfully on Oneiric.

Changed in honeyd (Ubuntu Oneiric):
status: Triaged → In Progress
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I of course meant "Adjusting honeyd to use libevent1-dev..."

Changed in honeyd (Ubuntu Oneiric):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package honeyd - 1.5c-8ubuntu1

---------------
honeyd (1.5c-8ubuntu1) oneiric; urgency=low

  [ Steve Langasek ]
  * configure.in: Fix wrong attempt to use dlsym() without linking against
    -ldl, which resulted in a build-time failure to detect support for
    RTLD_NEXT and ultimately leads to a build failure with multiarch due to
    wrong probing of libc.so. Closes: #632484, LP: #749247.

  [ Jamie Strandboge ]
  * debian/control: Build-Depends on libevent1-dev
  * run autoreconf -fi to pull in configure.in change
  * add debian/source/format (1.0)
 -- Jamie Strandboge <email address hidden> Thu, 15 Sep 2011 11:08:25 -0500

Changed in honeyd (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I went ahead and forwarded Steve's patch to Debian.

Changed in honeyd (Debian):
status: Unknown → Confirmed
Changed in honeyd (Debian):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.