lib: removed virtual inheritance from some ALX parser classes
[barry.git] / doc / www / dependencies.php
blob6addaf6b48742300304b74b38078a64ef823c9c9
1 <? include ("barry.inc"); ?>
3 <? createHeader("barry - Software dependencies"); ?>
5 <? createSubHeader("System Specific"); ?>
7 <p>Fedora systems:
8 <ul>
9 <li><b>ConsoleKit</b> - required for accessing the
10 Blackberry without root privileges.</li>
11 </ul>
12 </p>
14 <p>Debian systems:
15 <ul>
16 <li><b>fakeroot</b> - optional program to assist building your own
17 Debian binary packages without root privileges</li>
18 </ul>
19 </p>
21 <p>OpenBSD systems:
22 <ul>
23 <li><b>Uberry</b> - the uberry kernel module conflicts with the ugen
24 interface that libusb uses to talk to the device. To work
25 around this, you will need to boot your kernel with "boot -c"
26 and disable the uberry module. Suggestions for better ways
27 to work around this conflict are welcome.</li>
28 </ul>
29 </p>
31 <p>Mac OSX systems:
32 <ul>
33 <li><b>gettext</b> - the default gettext autoconf scripts do not
34 always do a very good job of detecting gettext and libintl
35 libraries on the Mac. If it cannot find libintl, it will
36 automatically disable NLS support. If this is important
37 to you, add --with-libintl-prefix=/opt/local/ to the
38 configure command line when building from source.</li>
39 </ul>
40 </p>
42 <? createSubHeader("Master List of Dependencies"); ?>
44 <p>The following list contains all software that Barry depends on, and
45 the reason for it. Some are only needed for building the source, and
46 some are only needed for building CVS.
48 <ul>
49 <li><b>C and C++ compilers</b> - 4.1.x or higher, for the tr1 includes (source build)</li>
50 <li><b>ccache</b> - completely optional, but useful if you plan on compiling repeatedly</li>
51 <li><b>pkg-config</b> (source build: so configure can autodetect library locations) </li>
52 <li><b>libusb, stable (0.1.x)</b> - found at <a href="http://www.libusb.org/">http://www.libusb.org/</a> </li>
53 <li><b>pthread</b>
54 <li><b>boost</b> version 1.33 or higher (optional, needed for the serialization library, which you need if you want to save downloads for later uploads to the device, using btool) <a href="http://www.boost.org/">http://www.boost.org</a></li>
55 <li><b>automake</b> version 1.9 (CVS builds only) </li>
56 <li><b>autoconf</b> version 2.61 (CVS builds only) </li>
57 <li><b>libtool</b> version 1.5.22 (CVS builds only) </li>
58 <li><b>autopoint</b> on some systems, this is a separate package, yet
59 on others, it is part of gettext (CVS builds only) </li>
60 <li><b>doxygen</b> suggested version 1.5.6, only for building API documentation</li>
61 <li><b>gtkmm, glademm, glibmm</b> C++ versions of the GTK libraries (needed for the barrybackup GUI)</li>
62 <li><b>libtar</b> (barrybackup GUI) </li>
63 <li><b>zlib</b>, needed for CRC32 checksums in library COD file support,
64 and used by the barrybackup GUI</li>
65 <li><b>libopensync</b> version 0.22 or, optionally, if building from source, latest opensync SVN tree </li>
66 <li><b>sqlite, glib2, libxml2</b> (needed for syncing, required by OpenSync) </li>
67 <li><b>libfuse</b> version 2.5 or higher (optional)</li>
68 <li><b>libiconv</b>, needed for international charset conversions... most
69 Linux distros have this as part of libc. If you are using another
70 OS such as FreeBSD, you'll have to install this separately.</li>
71 <li><b>gettext</b>, needed for the iconv.m4 file, on some systems,
72 when building from CVS to generate configure.</li>
73 <li><b>php5</b>, needed for generating static HTML documentation (CVS builds only) </li>
74 <li><b>rpmdevtools and rpm-build</b>, if building RPMs yourself</li>
75 <li><b>fakeroot</b>, if building DEB packages yourself</li>
76 </ul>
77 </p>
79 <? createSubHeader("The Case of the Broken libtar"); ?>
81 <p>Well meaning people, in efforts to port the libtar examples to 64-bit
82 systems have introduced a bug that causes libtar to mismatch standard
83 read() and write() function call prototypes.</p>
85 <p>This bug has been seen in the Mandriva, ArchLinux, and Gentoo distros.
86 Depending on your system, and how up to date it is, it may already have been
87 fixed.</p>
89 <p>The curious can read more about this bug
90 <a href="http://sourceforge.net/mailarchive/message.php?msg_id=20070803200729.GA7068%40foursquare.net">here</a> and
91 <a href="http://sourceforge.net/mailarchive/message.php?msg_name=20080417204336.GA15423%40foursquare.net">here</a>.</p>
93 <p>Of course, you probably don't want to read the intricate details of
94 distro bugs. You just want it to work! For such systems, I usually
95 grab the libtar source RPM package from
96 <a href="ftp://ftp.nrc.ca/pub/systems/linux/redhat/fedora/linux/releases/10/Everything/source/SRPMS/libtar-1.2.11-11.fc10.src.rpm">here</a> and then run:
97 <pre>
98 rpmdev-setuptree (if this is your first time)
99 rpm -i libtar-1.2.11-11.fc10.src.rpm
100 cd ~/rpmbuild/SPECS
101 rpmbuild -ba libtar.spec
102 rpm -i ../RPMS/*/libtar*rpm
103 </pre>
104 </p>
107 <? createSubHeader("Dependency Packages for Common Distros"); ?>
109 <p>The following is a list of packages you'll need to install to build Barry
110 from source, if you are using one of the below common distributions. Other
111 distributions should have similar package names.
113 <ul>
115 <p><b>Fedora 11:</b></p>
116 <p>Use the yum package manager to install the following:
117 <ul>
118 <li> pkgconfig </li>
119 <li> libtool </li>
120 <li> libusb-devel </li>
121 <li> boost-devel (optional) </li>
122 <li> libtar-devel </li>
123 <li> gtkmm24-devel </li>
124 <li> glibmm24-devel </li>
125 <li> libglademm24-devel </li>
126 <li> fuse-devel </li>
127 <li> zlib-devel </li>
128 <li> gettext-devel </li>
129 <li> libopensync-devel (0.22) </li>
130 <li> ccache (optional) </li>
131 <li> doxygen (optional) </li>
132 <li> php-cli (optional, for generating docs) </li>
133 </ul>
135 <p><b>Debian:</b></p>
136 <p>Use the apt-get package manager to install the following:
137 <ul>
138 <li> pkg-config </li>
139 <li> fakeroot </li>
140 <li> cdbs </li>
141 <li> autoconf </li>
142 <li> automake </li>
143 <li> autopoint (only on some newer Debian/Ubuntu systems) </li>
144 <li> libtool </li>
145 <li> libusb-dev </li>
146 <li> libboost-serialization-dev </li>
147 <li> libtar-dev </li>
148 <li> libgtkmm-2.4-dev </li>
149 <li> libglibmm-2.4-dev </li>
150 <li> libglademm-2.4-dev </li>
151 <li> libfuse-dev </li>
152 <li> zlib1g-dev </li>
153 <li> gettext </li>
154 <li> libopensync0-dev </li>
155 <li> ccache (optional) </li>
156 <li> doxygen (optional) </li>
157 <li> php5-cli (optional, for generating docs) </li>
158 </ul>
160 </ul>