Package Details: libeb 4.4.3-10

Git Clone URL: (read-only, click to copy)
Package Base: libeb
Description: C library for accessing CD-ROM books. Supports EB, EBG, EBXA, EBXA-C, S-EBXA and EPWING formats.
Upstream URL:
Keywords: eb ebg ebook ebxa ebxa-c epwing s-ebxa
Licenses: BSD
Conflicts: eb-library
Provides: eb-library,
Replaces: eb-library
Submitter: aksr
Maintainer: aksr
Last Packager: MarsSeed
Votes: 29
Popularity: 0.005372
First Submitted: 2014-05-26 16:40 (UTC)
Last Updated: 2022-06-17 13:16 (UTC)

Pinned Comments

MarsSeed commented on 2022-04-07 10:06 (UTC) (edited on 2022-04-07 10:32 (UTC) by MarsSeed)

This package now replaces eb-library as that has been deleted.

(That package was providing the same build as this one, but was orphaned for quite some time before deletion.)

Comments from the page of that package have been imported here so they are not lost.

Latest Comments

1 2 3 Next › Last »

MarsSeed commented on 2023-10-08 00:54 (UTC)

It is better to keep the replaces field here.

xiota commented on 2023-10-07 20:03 (UTC)

That was over a year ago. Replaces is no longer needed, if it ever was. Conflicts should be sufficient.

MarsSeed commented on 2023-10-07 19:47 (UTC)

@xiota, the replaces directive is genuine here, as there used to be an AUR/eb-library package, which was a duplicate of this one under a different name.

xiota commented on 2023-09-20 13:29 (UTC) (edited on 2023-10-07 20:03 (UTC) by xiota)

Please remove replaces directive. Thank you.

vishvas commented on 2022-11-03 13:47 (UTC) (edited on 2022-11-04 03:40 (UTC) by vishvas)

Fails with

.cache/yay/libeb/PKGBUILD: line 41: autoupdate: command not found
==> ERROR: A failure occurred in prepare().

yay -S autoupdate does not help. I'm on manjaro. Any tips?

EDIT - solved by sudo pacman -S base-devel --needed

MarsSeed commented on 2022-06-08 02:27 (UTC) (edited on 2022-06-08 12:43 (UTC) by MarsSeed)

I've removed the force-linking of libiconv, libnsl and libresolv to the file by the autoconf scripts, because those links ended up unused:

$ namcap libeb-4.4.3-8-x86_64.pkg.tar.zst

libeb W: Unused shared library '/usr/lib/' by file ('usr/lib/')
libeb W: Unused shared library '/usr/lib/' by file ('usr/lib/')
libeb W: Unused shared library '/usr/lib/' by file ('usr/lib/')

Please build libeb 4.4.3-9 and report if you have any errors. (If you encounter new errors, please ensure you rebuild the applications that use this library as well.)

mvf commented on 2022-05-21 11:26 (UTC)

@MarsSeed Cheers, I do believe this is the best solution. The pthread code clearly hasn't seen much use. Leaving it disabled also keeps binary compatibility with other distros.

MarsSeed commented on 2022-05-21 11:11 (UTC)

@mvf Thanks for bringing this to my attention.

I'm disabling pthreads as that is the default in source, and I don't know enough about C programming to fix the code beyond doubt for parallel execution.

mvf commented on 2022-05-21 09:40 (UTC)

@MarsSeed Since 4.4.3-7 added the --enable-pthread configure flag, libeb crashes with an assertion in glibc (qolibri upstream issue):

qolibri: tpp.c:83: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)' failed.
zsh: IOT instruction  qolibri

The assertion can vary, it's undefined behavior after all. The following patch seems to fix it for me:

--- a/eb/readtext.c
+++ b/eb/readtext.c
@@ -1560,7 +1560,7 @@ eb_is_text_stopped(EB_Book *book)
     int is_stopped = 0;

-    eb_lock(book);
+    eb_lock(&book->lock);
     LOG(("in: eb_is_text_stopped(book=%d)", (int)book->code));

     if (book->subbook_current != NULL) {

Another option would be to remove --enable-pthread again. I haven't seen other distros ship this option, so apps already serialize libeb API calls (and it's generally more efficient that way).

Thanks for maintaining this package! :)