close

Install forked-daapd on ArchLinux

 

Step 1. Install the Dependencies first

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
[jackie@local]$ uname -a
Linux dnisw2 2.6.35-ARCH #1 SMP PREEMPT Sat Oct 30 21:22:26 CEST 2010 x86_64 Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz GenuineIntel GNU/Linux  
[jackie@local]$ pacman-db-upgrade
[jackie@local]$ pacman -Sy package-query libunistring antlr3 ffmpeg x264 mxml gperf flac avahi confuse libgcrypt libplist taglib sqlite3 libevent howl
[jackie@local]$ wget -c http://alioth.debian.org/~jblache/forked-daapd/libavl_0.3.5.tar.gz
[jackie@local]$ tar zxvf libavl_0.3.5.tar.gz; mv avl_0.3.5 avl; cd avl
[jackie@local avl]$ mv GNUmakefile GNUmakefile.avl; mv Makefile Makefile.avl
[jackie@local avl]$ autoconf
;modify configure.scan then save as configure.ac
[jackie@local avl]$ cat configure.ac
#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.68])
AC_INIT([avl.c], [v0.3.5], [Jackie.CPlusPlus@gmail.com])
AM_INIT_AUTOMAKE(avl, v1.0)         
AC_CONFIG_SRCDIR([avl.c])
AC_CONFIG_HEADERS([config.h])

dnl LT_INIT([dlopen])

dnl -----------------------------------------------
dnl Package name and version number (user defined)
dnl -----------------------------------------------

GENERIC_LIBRARY_NAME=avl

#release versioning
GENERIC_MAJOR_VERSION=1
GENERIC_MINOR_VERSION=0
GENERIC_MICRO_VERSION=0

#API version (often = GENERIC_MAJOR_VERSION.GENERIC_MINOR_VERSION)
GENERIC_API_VERSION=1.0
AC_SUBST(GENERIC_API_VERSION)

dnl --------------------------------
dnl Package name and version number
dnl --------------------------------

AC_SUBST(GENERIC_LIBRARY_VERSION)

PACKAGE=$GENERIC_LIBRARY_NAME
AC_SUBST(GENERIC_LIBRARY_NAME)

GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION
GENERIC_RELEASE=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION
AC_SUBST(GENERIC_RELEASE)
AC_SUBST(GENERIC_VERSION)

VERSION=$GENERIC_VERSION

AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)


# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_LANG_CPLUSPLUS
AC_PROG_AWK
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_MAKE_SET
AC_PROG_RANLIB
AM_PROG_CC_C_O
AM_PROG_LIBTOOL
AM_SANITY_CHECK

# Setup AM
AM_INIT_AUTOMAKE
AM_PROG_CC_C_O

# Checks for libraries.
# FIXME: Replace `main' with a function in `-lc':
AC_CHECK_LIB([c], [main])

# Checks for header files.
AC_CHECK_HEADERS([errno.h stdio.h stdlib.h string.h unistd.h sys/stat.h sys/mman.h])

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_MMAP
AC_FUNC_REALLOC
AC_CHECK_FUNCS([strchr])

AC_CONFIG_FILES([Makefile])
AC_OUTPUT(avl-1.0.pc)
[jackie@local avl]$ cat avl-1.0.pc.in
prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: libavl Description: A small implementation of AVLTree API library. Version: @VERSION@ Libs: -L${libdir} -l@GENERIC_LIBRARY_NAME@-@GENERIC_API_VERSION@ Cflags: -I${includedir}/@GENERIC_LIBRARY_NAME@-@GENERIC_API_VERSION@ -I${libdir}/@GENERIC_LIBRARY_NAME@-@GENERIC_API_VERSION@/include
[jackie@local avl]$ cat autogen.sh
#! /bin/sh # $Id: autogen.sh,v 1.4 2002/12/02 01:39:49 murrayc Exp $ # # Copyright (c) 2002 Daniel Elstner <daniel.elstner@gmx.net> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License VERSION 2 as # published by the Free Software Foundation. You are not allowed to # use any other version of the license; unless you got the explicit # permission from the author to do so. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA dir=`echo "$0" | sed 's,[^/]*$,,'` test "x${dir}" = "x" && dir='.' if test "x`cd "${dir}" 2>/dev/null && pwd`" != "x`pwd`" then echo "This script must be executed directly from the source directory." exit 1 fi rm -f config.cache acconfig.h echo "- libtoolize." && \ libtoolize --force && \ echo "- autoscan." && \ autoscan && \ echo "- aclocal." && \ aclocal && \ echo "- autoconf." && \ autoconf && \ echo "- autoreconf -i" && \ autoreconf -i && \ echo "- autoheader." && \ autoheader && \ echo "- automake." && \ automake --add-missing --gnu && \ echo && \ ./configure "$@" && exit 0 exit 1 [jackie@local avl]$ cat antigen.sh #!/bin/sh # # An utility script to remove all generated files. # # Running autogen.sh will be required after running this script since # the 'configure' script will also be removed. # # This script is mainly useful when testing autoconf/automake changes # and as a part of their development process. # If there's a Makefile, then run the 'distclean' target first (which # will also remove the Makefile). if test -f Makefile; then make distclean fi # Remove all tar-files (assuming there are some packages). rm -f *.tar.* *.tgz # Also remove the autotools cache directory. rm -Rf autom4te.cache # Remove rest of the generated files. rm -f aclocal.m4 configure config.h.in depcomp install-sh missing compile ltmain.sh config.guess config.sub find . -name Makefile.in -exec rm -f {} \; find . -name *~ -exec rm -f {} \; [jackie@local avl]$ cat Makefile.am # Makefile.am AUTOMAKE_OPTIONS= foreign ## Source directory SUBDIRS= . #Distribute these directories: DIST_SUBDIRS = . #Build in these directories: noinst_PROGRAMS=avlsort setdiff avlsort_SOURCES = avlsort.c setdiff_SOURCES = setdiff.c lib_LTLIBRARIES = libavl.la libavl_la_SOURCES = avl.c include_HEADERS = avl.h #libavl_la_H = avl.h INCLUDES = -I$(top_srcdir) AM_CFLAGS= -g -O6 -fomit-frame-pointer -pipe -Wall -ansi -pedantic -fforce-addr -pipe #library_includedir=$(includedir)/$(GENERIC_LIBRARY_NAME)-$(GENERIC_API_VERSION)/$(GENERIC_LIBRARY_NAME) #library_include_HEADERS = $(libavl_la_H) #libavl_1_0_la_SOURCES= $(libavl_la_H) $(libavl_la_SOURCES) #libavl_1_0_la_CFLAGS = -fPIC $(AM_CFLAGS) #libavl_1_0_la_LIBADD= libavl.la #libavl_1_0_la_LDFLAGS= -version-info $(GENERIC_LIBRARY_VERSION) -release $(GENERIC_RELEASE) METASOURCES = AUTO pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = avl-1.0.pc avlsort_LDADD = $(top_srcdir)/libavl.la setdiff_LDADD = $(top_srcdir)/libavl.la CLEANFILES = *~ [jackie@local avl]$ ./autogen.sh ; make ; sudo make install ; cd -

 

Step 2. Checkout and install forked-daapd

1
2
3
4
5
6
7
8
[jackie@local]$ git clone git://git.debian.org/users/jblache/forked-daapd.git
[jackie@local]$ cd forked-daapd
; modify ./src/evrtsp/rtsp.c & ./src/evhttp/http.c
- #include <event-config.h>
+ #include <event2/event-config.h>
 
[jackie@local forked-daapd]$ cp ../avl/autogen.sh ../avl/antigen.sh .
[jackie@local forked-daapd]$ ./autogen.sh ; make ; sudo make install

 

Step 3. Refer to this configuration references to setup daapd


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Bluelove1968 的頭像
    Bluelove1968

    藍色情懷

    Bluelove1968 發表在 痞客邦 留言(1) 人氣()