You are not logged in.
Hello everyone.
I'm trying to compile a package to add to the Arch User Repository called Daisyplayer which was written using Debian. The source code for this package is available at http://www.jlemmens.nl/homepage/daisy-p … 4.2.tar.gz and the PGP signature for this source code is available at http://www.jlemmens.nl/homepage/daisy-p … tar.gz.asc
This program is particularly useful for blind and visually impaired Linux users like myself, as it allows us to read Daisy audio books which are very popular among visually impaired people on our computers.
The author of this software tells me you compile it by doing the following:
./configure
make
sudo make install
The author also tells me that, before the above code will work, certain dependencies need to be installed. The dependencies he needs to enable DaisyPlayer to run on his Debian system are as follows:
libncursesw5
libsox2
libsox-fmt-pulse
libxml2
libmagic1
libmad0
gettext
udisks2
language-pack-af
language-pack-cs
language-pack-de
language-pack-es
language-pack-fi
language-pack-fr
language-pack-hu
language-pack-ml
language-pack-nb
language-pack-nl
language-pack-pl
language-pack-pt
language-pack-sl
language-pack-sv
libcdio-cdda1
libcdio-paranoia1
libcddb-get-perl
tex-common
unar
txt2man
man2html
To compile DaisyPlayer on his Debian system, the author needs the following extra packages:
libncursesw5-dev
libsox-dev
libxml2-dev
libcdio-dev
libcdio-cdda-dev
libcdio-paranoia-dev
libmagic-dev
I realise that, before I can compile daisyPlayer on Archlinux, I need to install the Archlinux equivalents of all the Debian packages listed above. I guessed most of these, but couldn't guess them all.
When I tried to compile DaisyPlayer, the './configure' phase appeared to work fine. The 'make' phase failed soon after it began. There was no error, but the 'make' command simply hung and the only way out of this was to press CTRL+C.
The final few lines of output produced by the 'make' command were as follows:
make all-recursive
make[1]: Entering directory '/home/john/Builds/daisy-player-11.4.2'
Making all in man
make[2]: Entering directory '/home/john/Builds/daisy-player-11.4.2/man'
./daisy-player.1: troff or preprocessor input, ASCII text, with very long lines
I presume I didn't have all the necessary dependencies installed before trying to compile DaisyPlayer. My question therefore is as folows:
How do I determine the Archlinux equivalents of all the Debian packages the author tells me I need to compile DaisyPlayer?
I've searched the forums extensively but haven't been able to find an answer to this question anywhere.
Many thanks in advance for any help.
Offline
Which dependencies do you think you're missing? I count at least:
ncurses (which is at 6 in Arch, not 5, that may be a big problem)
libsoxr
libxml2
libcdio
libcdio-paranoia
libmagick (7) or libmagick6, check in the Debian package listing which version they use.
Offline
You can get ncurses v5 from...
https://aur.archlinux.org/packages/ncurses5-compat-libs
Which other packages do you think you are missing? Do you have base-devel installed?
Offline
This could be helpful: https://aur.archlinux.org/packages/debtap
The build failure doesn't seem related to missing dependencies though. And usually ./configure checks for build requirements, and fail if they aren't met.
Did you check with e.g. top if some process is still running while the build hangs?
Offline
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.
# Maintainer: Your Name <youremail@domain.com>
pkgname=daisy-player
pkgver=11.4.2
pkgrel=1
epoch=
pkgdesc=""
arch=('x86_64')
url=""
license=('GPL')
groups=()
depends=('libmad' 'sox' 'libcdio-paranoia' 'libid3tag' 'libxml2')
makedepends=('txt2man')
checkdepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
source=(http://www.jlemmens.nl/homepage/$pkgname-$pkgver.tar.gz{,.asc}
daisy.patch)
validpgpkeys=('8C1857BC94AAB3A39F6E4043629AB62E8E2D419A')
noextract=()
prepare() {
cd "$pkgname-$pkgver"
patch -p1 -i "$srcdir/daisy.patch"
}
build() {
cd "$pkgname-$pkgver"
./configure --prefix=/usr
make
}
check() {
cd "$pkgname-$pkgver"
make -k check
}
package() {
cd "$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
}
sha256sums=('6f661dbc6b5080c07052ff2d2a7061a7dd093a2bcde820be2d1b80b268a1e41c'
'SKIP'
'846c6435f051d9bc0e3f15aab51328ef360f18a85813f3048859b6b3e2a54884')
diff --git a/src/daisy.h b/src/daisy.h
index 296f82c..889a0da 100644
--- a/src/daisy.h
+++ b/src/daisy.h
@@ -16,6 +16,18 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#undef PACKAGE
+#undef PACKAGE_BUGREPORT
+#undef PACKAGE_NAME
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+#undef PACKAGE_URL
+#undef PACKAGE_VERSION
+#undef VERSION
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
#define _GNU_SOURCE
#include <string.h>
@@ -29,7 +41,7 @@
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/stat.h>
-#include <ncursesw/curses.h>
+#include <curses.h>
#include <fcntl.h>
#include <dirent.h>
#include <pwd.h>
@@ -55,17 +67,6 @@
#include <fnmatch.h>
#include <sys/select.h>
-#undef PACKAGE
-#undef PACKAGE_BUGREPORT
-#undef PACKAGE_NAME
-#undef PACKAGE_STRING
-#undef PACKAGE_TARNAME
-#undef PACKAGE_URL
-#undef PACKAGE_VERSION
-#undef VERSION
-#ifdef HAVE_CONFIG_H
- #include "config.h"
-#endif
#define MAX_CMD 512
#define MAX_STR 256
Edit:
builds in a clean chroot now
Last edited by loqs (2018-05-12 00:13:22)
Offline
Hi Slithery and many thanks for your helpful suggestions about the Ncurses version 5 compatibility library and how this may be useful because Debian uses Ncurses version 5 and not version six. I wasn't aware of this and I'll try it and see if I get any further. I'll post in this thread again if I have any more problems I think this forum may be able to help with. Thanks again.
Offline
@jbr100uk did you not try the PKGBUILD and patch I created to see if they worked for you?
Offline