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.inprefix=@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
全站熱搜