Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build using --without-embedded-libevent option #133

Closed
fbertux opened this issue Sep 16, 2015 · 9 comments
Closed

Build using --without-embedded-libevent option #133

fbertux opened this issue Sep 16, 2015 · 9 comments

Comments

@fbertux
Copy link

fbertux commented Sep 16, 2015

Hi!

I'm trying to build lldpd version 0.7.17 using shipped libevent and I get the error: https://paste.debian.net/311879/ . If I use --with-embedded-libevent or --with-embedded-libevent=yes I get the same error.

I noticed that the error is on commit 696f7f6fe , without this commit the build works fine.

I made a patch to build with --without-embedded-libevent : https://paste.debian.net/311880/

Can you check if this works for you?

Thanks!

@vincentbernat
Copy link
Member

The ./configure script needs to be run, even when the embedded libevent is not used because some targets need it (make dist for example). I don't see how 696f7f6 could have introduced the regression you are seeing. Are libevent sources present in /mnt/workspace/lldp/build/tmp/work/armv5e-poky-linux-gnueabi/lldpd/0.7.17-r0/lldpd-0.7.17/libevent?

The released tarball contains the configure script. In case you do some kind of cleaning up, autogen.sh should be able to regenerate it. However, autoreconf -i cannot. And maybe I broke the maintainer mode by not relying on AC_CONFIG_SUBDIRS anymore (but I don't expect the maintainer mode to remove ./configure).

@fbertux
Copy link
Author

fbertux commented Sep 16, 2015

The libevent ./configure is not in lldpd-0.7.17/libevent directory.
ls output:
aclocal.m4 event.h libevent_openssl.pc.in
arc4random.c event-internal.h libevent.pc.in
autogen.sh event_iocp.c libevent_pthreads.pc.in
buffer.c event_rpcgen.py LICENSE
bufferevent_async.c event_tagging.c listener.c
bufferevent.c evhttp.h log.c
bufferevent_filter.c evmap.c log-internal.h
bufferevent-internal.h evmap-internal.h m4
bufferevent_openssl.c evport.c make-event-config.sed
bufferevent_pair.c evrpc.c Makefile.am
bufferevent_ratelim.c evrpc.h Makefile.in
bufferevent_sock.c evrpc-internal.h Makefile.nmake
buffer_iocp.c evsignal-internal.h minheap-internal.h
changelist-internal.h evthread.c mm-internal.h
ChangeLog evthread-internal.h poll.c
compat evthread_pthread.c ratelim-internal.h
config.h.in evthread_win32.c README
configure.ac evutil.c sample
defer-internal.h evutil.h select.c
devpoll.c evutil_rand.c signal.c
Doxyfile ht-internal.h strlcpy.c
epoll.c http.c strlcpy-internal.h
epoll_sub.c http-internal.h test
evbuffer-internal.h include util-internal.h
evdns.c iocp-internal.h whatsnew-2.0.txt
evdns.h ipv6-internal.h WIN32-Code
event.c kqueue.c win32select.c

And yes, configure script is shipped with tarball. Your script is removing ./configure somewhere.

@vincentbernat
Copy link
Member

Once the tarball is unpacked, what steps are you doing? Just running ./configure?

@fbertux
Copy link
Author

fbertux commented Sep 16, 2015

Yes, ./configure --prefix-/usr --host=arm-poky-linux-gnueabi
Here's the log https://paste.debian.net/312070/

@vincentbernat
Copy link
Member

In your log, I also see that autoreconf is called. However, this doesn't seem to be the cause of your problem as I am able to run it and it doesn't delete libevent/configure. Would you be able to insert a command just before the call to ./configure to check if libevent/configure is still here?

@vincentbernat
Copy link
Member

I have pushed commit e9b22e1 that should apply cleanly on top of 0.7.17. Could you try it? I think it should solve your problem. Otherwise, reopen the issue.

@fbertux
Copy link
Author

fbertux commented Sep 16, 2015

Ok. I'll try this commit.

@fbertux
Copy link
Author

fbertux commented Sep 16, 2015

Your patch works! Thanks for your help!

@vincentbernat
Copy link
Member

Great! I think that your build system was cleaning up configure scripts at some point and was expecting autoreconf to recreate them but I didn't relied on the normal AC_CONFIG_SUBDIRS macro to declare sub directories, so autoreconf didn't work correctly and didn't recreate those configure scripts.

vincentbernat added a commit that referenced this issue Sep 25, 2015
We just redefine AC_CONFIG_SUBDIRS to our own empty version. autoreconf
will see this during the tracing step and will automatically reconfigure
libevent and libnl as well. This may unbreak people relying on tool
trying to regen configure without using the "autogen.sh" script.

Fix #133 (with a bit of luck)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants