Cannot build packages needing libevent with those needing libev for the same system
J. Hart
jfhart085 at gmail.com
Fri Nov 17 17:55:13 CET 2017
Thank you very much for your generous assistance and quick reply.
It turned out to be as you said. I had actually been unaware that
libevent had fairly different libevent-1.x and libevent-2.x packages.
What I really needed was a libevent-1.x package. What I ended up doing
was building and installing the libev package first, and installing the
libevent-1.x package over that, which overwrote the event.h file from
libev and left the desired one from libevent-1.x
Everything else went perfectly after that.
With Thanks,
J. Hart
On 11/14/2017 10:49 AM, Marc Lehmann wrote:
> On Mon, Nov 13, 2017 at 11:21:48PM -0500, "J. Hart" <jfhart085 at gmail.com> wrote:
>> This function is defined in libevent.so, and declared for the compiler in
>> event2/event.h. Both of these objects are part of the libevent package (ex
>> libevent-2.0.22). The /usr/include/event.h header of the libevent package
>> conflicts with that of the libev package. The libev package does not define
>> the "event_base_loopbreak" function required, in this case, by Qt-5.9.2, and
>> the libev package cannot be installed as is along with the libevent package.
>> If the libevent/libev header conflict is not resolved, then the packages
>> requiring one of these must be patched. This can be rather complicated,
>> particularly for large packages like Qt. This would also have to be redone
>> for each new release.
> The libevent 1 emulation is optional, you could embed libev without the
> event.[ch] files.
>
> It might be possible to supply an event_base_loopbreak function, although I
> don't know if this is part of the libevent 1 API (the one libev emulates) or
> libevent 2.
>
> Maybe sth. like this (for event.c) works (this is not correct, so some
> testing might be required):
>
> int event_base_loopbreal (struct event_base *base)
> {
> dLOOPbase;
>
> ev_break (EV_A_ EVBREAK_ONE);
>
> return 0;
> }
>
> However, using libevent2 for libevent functions and libev for libev
> functions (by embedding only the liubev core parts) would probably be the
> best solution.
>
More information about the libev
mailing list