Closed joaodriessen closed 9 years ago
I just noticed that the 2.2 version of shairport-sync is stable. I was wondering whether you would be willing to update your PKGBUILD for the newer version? or do you know of a way to install shairport-sync 2.2 on arch linux arm (raspberry pi 2) for a less-technical person such as myself? I believe this build error may have been fixed recently in the 2.2 branch.
Please see https://github.com/mikebrady/shairport-sync/issues/71#issuecomment-93575422. I think the error is the configuration of ArchLinux on the Pi, but there is a workaround.
BTW I hope to release 2.2 in the next few days; I'm learning slowly how to do this kind of thing properly.
Mike Brady's solution worked for me:
First, I think the problem is with ArchLinux. It advertises openssl to the build system but doesn't seem to provide the files needed by the linker. It's weird and I don't get it. Fortunately, there is a workaround – tell shaiport-sync to use polarssl instead. You can do this by editing the PKGBUILD file to look like this:
pkgname=shairport-sync-git pkgver=2.2.2.r52.g82011bb pkgrel=1 pkgdesc='Emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods and iPhones' url='https://github.com/mikebrady/shairport-sync' arch=(i686 x86_64 armv6h armv7h) license=('custom') backup=(etc/conf.d/shairport-sync) install='shairport-sync.install' depends=(alsa-lib libdaemon polarssl avahi popt libsoxr) makedepends=(git) source=("git+https://github.com/mikebrady/shairport-sync.git" shairport-sync.install shairport-sync.service shairport-sync.conf remove-init.d.patch) sha1sums=('SKIP' 'd51485f3857529b70a29b38814ea60e7dde54ca8' 'fe62feeef1c947ed6ed3500b7b922dcaf9e8987c' '6c4979abddb4b1c0242a941279d41617ab8d183c' '83ddd76fdb548bf6321e38ff7cabe14bf2bb35d4')
pkgver() { cd shairport-sync
git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g' }
prepare() { cd shairport-sync
git apply "$srcdir/remove-init.d.patch" }
build() { cd shairport-sync
autoreconf -i -f ./configure --with-alsa --with-avahi --with-ssl=polarssl --with-soxr --prefix="$pkgdir/usr" make }
package() { install -D -m644 shairport-sync.service "$pkgdir/usr/lib/systemd/system/shairport-sync.service" install -D -m644 shairport-sync.conf "$pkgdir/etc/conf.d/shairport-sync"
cd shairport-sync
install -D -m664 LICENSES "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
make install }
Actually, there was an issue with configure.ac upstream in shairport-sync
, which only became evident here. I've fixed it.
this is the output of makepkg -a on my armv7h raspberry pi 2:
makepkg -s ==> Making package: shairport-sync-git 2.1.15.r1.gcf6594d-1 (Tue 14 Apr 09:33:10 CEST 2015) ==> Checking runtime dependencies... ==> Installing missing dependencies... [sudo] password for joao: resolving dependencies... looking for conflicting packages...
Packages (1) libsoxr-0.1.1-3
Total Download Size: 0.06 MiB Total Installed Size: 0.18 MiB
:: Proceed with installation? [Y/n] Y :: Retrieving packages ... libsoxr-0.1.1-3-armv7h 57.5 KiB 117K/s 00:00 [######################] 100% (1/1) checking keys in keyring [######################] 100% (1/1) checking package integrity [######################] 100% (1/1) loading package files [######################] 100% (1/1) checking for file conflicts [######################] 100% (1/1) checking available disk space [######################] 100% (1/1) installing libsoxr [######################] 100% ==> Checking buildtime dependencies... ==> Retrieving sources... -> Cloning shairport-sync git repo... Cloning into bare repository '/home/joao/Downloads/shairport-sync-PKGBUILD-master/shairport-sync'... remote: Counting objects: 3002, done. remote: Compressing objects: 100% (4/4), done. remote: Total 3002 (delta 0), reused 0 (delta 0), pack-reused 2998 Receiving objects: 100% (3002/3002), 1.11 MiB | 212.00 KiB/s, done. Resolving deltas: 100% (1801/1801), done. Checking connectivity... done. -> Found shairport-sync.install -> Found shairport-sync.service -> Found shairport-sync.conf -> Found remove-init.d.patch ==> Validating source files with sha1sums... shairport-sync ... Skipped shairport-sync.install ... Passed shairport-sync.service ... Passed shairport-sync.conf ... Passed remove-init.d.patch ... Passed ==> Extracting sources... -> Creating working copy of shairport-sync git repo... Cloning into 'shairport-sync'... done. ==> Starting pkgver()... ==> Updated version: shairport-sync-git 2.2.2.r52.g82011bb-1 ==> Starting prepare()... ==> Starting build()... configure.ac:21: installing './compile' configure.ac:6: installing './install-sh' configure.ac:6: installing './missing' Makefile.am: installing './depcomp' checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for clock_gettime in -lrt... yes checking for daemon_log in -ldaemon... yes checking for pthread_create in -lpthread... yes checking for exp in -lm... yes checking for POPT... yes checking encryption libraries chosen... checking for SSL... yes