summaryrefslogtreecommitdiff
path: root/INSTALL
blob: 9d88cbca368d88733292917eaa9c86fec11ec28c (plain)
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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
########################################################################
# $Id$
#
# This file describes how to install gphoto2.
########################################################################

Follow these steps to build and install gphoto2 from the source
code. You don't have to run most of these steps as root, except when
explicitly required. In fact, you really shouldn't.

In order to get gphoto2 running after installation, you will probably
want to read doc/FAQ and doc/gphoto2.txt.

===============================
Step 0: Preparing configuration
===============================

If you got your copy of gphoto2 packaged as a .tar.gz or .tar.bz2 tarball, 
skip this step. If you got gphoto2 from CVS, then you will have to prepare
step 1, the configuration of the sources. 

For that, we supply you with a script called 'autogen.sh'.

As to whether 'autogen.sh' does its job, we are not completely sure.


  Debian/Unstable user Lutz says:
  ===============================

    This skript is far from being perfect and we recommend that you
    prepare step 1 manually. That is, the following commands need to be
    executed in both gphoto2 and gphoto2/libgphoto2_port: 

    - libtoolize --force --copy
    - gettextize --force --copy
    - aclocal -I/path/to/macros (these macros typically are in
      /opt/gnome/share/aclocal or /usr/share/aclocal)
    - autoheader
    - automake --add-missing --gnu
    - autoconf

    Not surprisingly, above commands will only work if you have 

    - autoconf
    - automake (version >= 1.5)
    - libtool (version >= 1.4)
    - gettext (version >= 0.10.35)

    installed on your system.


  Redhat Linux 7.3 user Uli says:
  ===============================

    This skript is far from being perfect, but it works on my stock
    Redhat 7.3 installation, provided you have the following packages
    installed: 

    - automake (version 1.4-p5, package 1.4p5-4)
    - autoconf (version 2.13,   package 2.13-17)
    - libtool  (version 1.4.2,  package 1.4.2-7)
    - gettext  (version 0.11.1, package 0.11.1-2)

    Just run './autogen.sh', and you may even supply it with the
    parameters to ./configure.in from step 1 and spare yourself step
    1.


=============================
Step 1: Configure the sources
=============================

Now run either one of


  ./configure --prefix=/usr/local

     to prepare a tarball source tree for installation in /usr/local


  ./configure --prefix=/home/me/root --with-drivers=ptp,canon

       to prepare a tarball source tree for installation in
       /home/me/root and for compilation only of the drivers 
       for PTP and Canon cameras

or run ./configure --help in order to find out about more
configuration parameters.

See Appendix A at the end of this file for some hints on configuring
for certain platforms.

The following software components are optional, and will improve the
libraries' and/or command-line client's functionality if present:

	libusb (ver. >= 0.1.5) -- Universal Serial Bus camera support
	    <URL:http://www.sourceforge.net/projects/libusb/>

	gettext (ver. >= 0.10.35) -- internationalization using shared library

	aalib -- picture preview
	    <URL:http://www.sourceforge.net/projects/aa-project/>

	cdk -- camera configuration dialogs
	    <URL:http://dickey.his.com/cdk/>

	gtk-doc -- documentation built in doc/api/

	jpeglib -- JPEG picture preview

	libexif - EXIF tag support
	    <URL:http://www.sourceforge.net/projects/libexif>

Please check the output of the configure script for whether all
desired libraries have been detected correctly. E.g., you might
have to add the path where libusb-config resides to your PATH
before running configure.


===========================
Step 2: Compile the program
===========================

You will probably be best off running GNU make. On GNU/Linux linux
systems, you can run "make", on other systems (such as *BSD), you
will have to run "gmake" or something similar.

The classic way to compile the program is just to run

    make

and wait until the source is built.

If you want to install gphoto2 using RPM, you should be able to run

    make rpm

after making sure that CDPATH is unset. The RPM packages will be
located in packaging/rpm/RPMS/.


==============================
Step 3: Installing the program
==============================

To install the stuff you just compiled by running "make", you can just
run 

   make install

now. If installing to a directory which is not writable by your
current user, you will have to run it as root.

This installs the software and documentation into the proper
directories on your system.

In the case you're trying to use RPM packages, find the *.rpm files in
packaging/rpm/RPMS/ and install them.


====================================================
Step 4: Installation is finished - now what do I do?
====================================================

Note that gphoto2 is not designed to be installed as a setuid/setgid
program. Running ANY gphoto2 frontend as root or setuid root or in a
similar fashion will open up a SECURITY HOLE in your system!

Read doc/FAQ if you run into problems.

Read doc/gphoto2.txt for more general information about how to
configure gphoto2.

If you have permission problems when accessing your camera, read
doc/gphoto2.txt -- you will probably want to create a new user group
for the users that are to have camera access and change the
permissions of the serial or USB device to match.


===============================================
Appendix A: Platform specific compilation hints
===============================================

gphoto2 has been successfully used on many system.  Some systems where it
has been reported to successfully compile are listed below. Not all, or even
any, camera libraries have been tested on these systems, so there may be
endian other other issues that prevent some camera libraries from working.
Please report any changes to this list to the gphoto2 developer mailing
list.  As of this writing, USB support is only available on Linux and
FreeBSD as those are the only systems on which libusb is available.

If you have build problems in the intl or po directories, try re-running
configure with the --disable-nls flag.  If configure stops due to an error
with 'test', try re-running configure with the --without-usb flag.  If
'make' reports an error, try using GNU make (often called gmake or gnumake)
instead of the make that comes with your system.  If one camera driver
has compilation errors, re-run configure with an appropriate --with-drivers=
flag to prevent that driver from being compiled.

i386:
  Debian GNU/Linux 2.2
  Red Hat Linux 7.1
  Red Hat Linux 4.2
  TurboLinux 6.5
  Slackware Linux 8.0
  FreeBSD 4.3
	Try the following to configure the optional libraries:
	  env CFLAGS="-I/usr/local/include" CPPFLAGS="-I/usr/local/include" \
	  LDFLAGS="-I/usr/local/lib" ./configure
	(you may also need to append the flag --disable-nls).
	Use GNU make to build (gmake).

Alpha:
  Debian GNU/Linux 2.2
  OpenBSD 3.0
  NetBSD 1.5.1
  	Configure with this command:
  	  ./configure --disable-nls
	Use GNU make to build (gmake).
  Tru64 5.1A
  	Configure with this command:
  	  env CFLAGS='-D__STDC_VERSION__=0' ./configure --disable-nls
	Use GNU make to build (gnumake).

PowerPC:
  Debian GNU/Linux 2.2
  Apple Darwin/OS X
  	Need dlcompat from <URL:http://fink.sourceforge.net>
  	Configure with this command:
  	  env CFLAGS="-I/path/to/dlcompat -no-cpp-precomp" \
  	  LDFLAGS="-L/path/to/dlcompat" ./configure --disable-nls
	Need libtool ver. >= 1.4.2a

Sparc:
  Debian GNU/Linux 2.2
  Solaris 8 (gcc)
  	Configure with this command:
  		./configure --without-usb
	and use GNU make to build (gmake).

StrongARM:
  Intimate+Debian iPAQ GNU/Linux (native gcc)
  Linux (cross-compiled gcc)

Itanium:
  Red Hat 7.1 (gcc)


The following systems have some problems compiling, but may be made to
work with some effort:

Itanium:
  Red Hat 7.1 (Intel ecc)
  	There is a bug in ver. 5.0.1 of this compiler tickled by gphoto2 that
  	prevents full compilation.
  	Need better libtool support (newer than version 1.4.2).
  Red Hat 7.1 (sgicc)
  	Need better libtool support (newer than version 1.4.2).

Sparc:
  Solaris 8 (cc)
  	Sun's cc doesn't support #warning or # or ## macro features, which
  	occur several times in the code.


Thanks go to SourceForge for their compile farm, and Compaq for their
TestDrive program which allowed gphoto2 to be tested on many of these
systems.