lib: Splitting up configfile.cc to contain Unix and Windows support in separate sourc...
[barry.git] / doc / www / dependencies.php
blobf68d6d962ea44dd3170e21edc2d9f68696f479c4
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 <li><b>cdbs</b> and <b>debhelper</b> - required to build binary
19 packages</li>
20 <li><b>apt-utils</b> - optional, if you wish to create a binary package
21 repository</li>
22 </ul>
23 </p>
25 <p>OpenBSD systems:
26 <ul>
27 <li><b>Uberry</b> - the uberry kernel module conflicts with the ugen
28 interface that libusb uses to talk to the device. To work
29 around this, you will need to boot your kernel with "boot -c"
30 and disable the uberry module. Suggestions for better ways
31 to work around this conflict are welcome.</li>
32 </ul>
33 </p>
35 <p>Mac OSX systems:
36 <ul>
37 <li><b>gettext</b> - the default gettext autoconf scripts do not
38 always do a very good job of detecting gettext and libintl
39 libraries on the Mac. If it cannot find libintl, it will
40 automatically disable NLS support. If this is important
41 to you, add --with-libintl-prefix=/opt/local/ to the
42 configure command line when building from source.</li>
43 </ul>
44 </p>
46 <? createSubHeader("Master List of Dependencies"); ?>
48 <p>The following list contains all software that Barry depends on, the
49 minimal version required, and the reason for its dependency.
50 Some dependencies are only needed for building from source, and
51 some are only needed for building from git.
53 <p><b>Note:</b> In the Barry source tree, under maintainer/depscripts/ you will
54 find a number of distro-specific scripts which contain the appropriate
55 apt-get or yum command lines to install all these dependencies for you.
56 Review the script closest to your system. It may save you time.
58 <ul>
59 <li><b>git</b> - for retrieving source from repositories</li>
60 <li><b>C and C++ compilers</b> - 4.1.x or higher, for the tr1
61 includes (source build)</li>
62 <li><b>ccache</b> - completely optional, but very useful if you
63 plan on compiling repeatedly</li>
64 <li><b>pkg-config</b> - source build only, so configure can
65 autodetect library locations) </li>
66 <li><b>libusb</b> - both versions 0.1.x and 1.x are supported and
67 autodetected by the configure script. Found at
68 <a href="http://www.libusb.org/">http://www.libusb.org/</a></li>
69 <li><b>pthread</b>
70 <li><b>boost</b> - optional dependency for serialization support.
71 Use version 1.33 or higher
72 <a href="http://www.boost.org/">http://www.boost.org</a></li>
73 <li><b>automake</b> version 1.9 (git builds only) </li>
74 <li><b>autoconf</b> version 2.61 (git builds only) </li>
75 <li><b>autoconf-archive</b></li>
76 <li><b>libtool</b> version 1.5.22 (git builds only) </li>
77 <li><b>autopoint</b> on some systems, this is a separate package, yet
78 on others, it is part of gettext (git builds only) </li>
79 <li><b>doxygen</b> suggested version 1.5.6, only for building API
80 documentation</li>
81 <li><b>gtkmm, glademm, glibmm</b> - version 2.4 or compatible - C++
82 versions of the GTK libraries, which are needed for the
83 barrybackup GUI</li>
84 <li><b>libtar</b> - needed for libbarrybackup, and therefore the
85 (barrybackup GUI as well</li>
86 <li><b>zlib</b> - needed for CRC32 checksums in library COD file
87 support, and also used by the barrybackup GUI to compress
88 backup files</li>
89 <li><b>libopensync</b> version 0.2x or version 0.39 devel</li>
90 <li><b>sqlite, glib2, libxml2</b> - needed for syncing, required by
91 OpenSync</li>
92 <li><b>libfuse</b> - version 2.5 or higher (optional)</li>
93 <li><b>libiconv</b> - needed for international charset conversions.
94 Most Linux distros have this as part of libc. If you are
95 using another OS such as FreeBSD, you'll have to install
96 this separately.</li>
97 <li><b>libxml++</b> - version 2.6 for the Desktop</li>
98 <li><b>gettext</b> - needed for the iconv.m4 file, on some systems,
99 when building from git to generate configure</li>
100 <li><b>php5</b> - optional, needed for generating static HTML
101 documentation (git builds only) </li>
102 <li><b>rpmdevtools</b> and <b>rpm-build</b> - if building RPMs
103 yourself</li>
104 <li><b>wxWidgets</b> - version 2.8, required by the Desktop GUI</li>
105 <li><b>libgcal</b> - version 0.9.6 or higher, if building the
106 Barry Desktop</li>
107 <li><b>libSDL</b> - optional, needed by the bwatch program</li>
108 <li><b>evolution-data-server</b> and <b>libebook, libedata*</b>
109 libraries - needed by the OpenSync evolution plugin</li>
110 <li><b>gksu</b> or <b>beesu</b> or equivalent GUI sudo - needed by
111 the Desktop for modem functionality</li>
112 </ul>
113 </p>
115 <? createSubHeader("The Case of the Broken libtar"); ?>
117 <p>Well meaning people, in efforts to port the libtar examples to 64-bit
118 systems have introduced a bug that causes libtar to mismatch standard
119 read() and write() function call prototypes.</p>
121 <p>This bug has been seen in the Mandriva, ArchLinux, and Gentoo distros.
122 Depending on your system, and how up to date it is, it may already have been
123 fixed.</p>
125 <p>The curious can read more about this bug
126 <a href="http://www.mail-archive.com/barry-devel@lists.sourceforge.net/msg00746.html">here</a> and
127 <a href="http://www.mail-archive.com/barry-devel@lists.sourceforge.net/msg00754.html">here</a>.</p>
129 <p>This bug has been fixed for a long time, or never existed, on distros
130 like Fedora or Debian, and you can probably grab sources from those
131 distros if you really need them. If you run into this problem and
132 require help to solve it, please email the <? createLink("contact",
133 "mailing list"); ?>.
135 <p>The latest version of libtar can be found <a href="http://repo.or.cz/w/libtar.git">here</a>.
138 <? createSubHeader("Dependency Packages for Common Distros"); ?>
140 <p>I used to maintain lists of packages for common distros here, but
141 it is much more useful to have a script that just works.
143 <p>In the <a href="http://repo.or.cz/w/barry.git/tree/HEAD:/maintainer/depscripts">Barry source tree</a>, under maintainer/depscripts/ you will
144 find a number of distro-specific scripts which contain the appropriate
145 apt-get or yum command lines to install all these dependencies for you.
146 Review the script closest to your system. It may save you time.