Documents the use of GP_CAMLIB_SET on the make command line. Setting CAMLIBS= on the make command line to specify the set of camlibs to be built and installed has not worked at least since the introduction of GP_CAMLIB_SET.
247 lines
7.7 KiB
Plaintext
247 lines
7.7 KiB
Plaintext
########################################################################
|
|
# This file describes how to compile and install libgphoto2.
|
|
########################################################################
|
|
|
|
Follow these steps to build and install libgphoto2 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 libgphoto2 running after installation, you will
|
|
probably want to read The gPhoto2 Manual. It is available from the
|
|
homepage:
|
|
|
|
http://gphoto.org/
|
|
http://gphoto.com/
|
|
http://gphoto.sourceforge.net/
|
|
|
|
At lease one of these should work at any time.
|
|
|
|
|
|
===============================
|
|
Step 0: Preparing configuration
|
|
===============================
|
|
|
|
If you have obtained your copy of gphoto2 packaged from a .tar.gz or
|
|
.tar.bz2 tarball, SKIP THIS STEP.
|
|
|
|
If you have obtained libgphoto2 source using Git, then you will
|
|
have to prepare for step 1 (the configuration of the sources) by running
|
|
the autoreconf program.
|
|
|
|
For autoreconf to succeed, you require the following tools:
|
|
|
|
automake
|
|
autoconf
|
|
pkg-config (to detect additional library dependencies)
|
|
autopoint (needed if installing from github)
|
|
gettext (possibly from -dev or -devel package)
|
|
libtool (possibly from -dev or -devel package)
|
|
|
|
in versions compatible with each other and with libgphoto2. Most
|
|
combinations on current GNU/Linux systems work, whereas BSD systems
|
|
tend to have some compatibility problems.
|
|
|
|
We recommend you call autoreconf like this:
|
|
|
|
$ autoreconf --install --symlink
|
|
|
|
|
|
=============================
|
|
Step 1: Configure the sources
|
|
=============================
|
|
|
|
$ ./configure --prefix=/usr/local
|
|
|
|
to prepare a tarball source tree for installation in (e.g.) /usr/local
|
|
|
|
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.6a) -- Universal Serial Bus camera support
|
|
<URL:http://www.sourceforge.net/projects/libusb/>
|
|
|
|
gettext (ver. >= 0.10.40) -- internationalization using shared library
|
|
|
|
gtk-doc -- documentation built in doc/api/
|
|
(Debian package name gtk-doc-tools)
|
|
|
|
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
|
|
or
|
|
$ make -jN (if you have N CPU cores)
|
|
|
|
and wait until the source is built.
|
|
|
|
If you want to compile only one or two specific camlibs, run something like
|
|
|
|
$ make -C camlibs canon.la ptp2.la
|
|
|
|
|
|
==============================
|
|
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.
|
|
|
|
If you want to install only one or two specific camlibs, run something like
|
|
|
|
$ make GP_CAMLIB_SET="canon.la ptp2.la" install-camlibs
|
|
|
|
On Linux, the installed libtool .la files are not needed and can be removed.
|
|
|
|
====================================================
|
|
Step 4: Installation is finished - now what do I do?
|
|
====================================================
|
|
|
|
Note that libgphoto2 is not designed to be run by a setuid/setgid
|
|
program. Running ANY libgphoto2 frontend as root or setuid root or in
|
|
a similar fashion will open up a SECURITY HOLE in your system!
|
|
|
|
If you run into problems, please read the FAQ (at the website) first.
|
|
|
|
For more general information about how to configure libgphoto2, read
|
|
The gPhoto2 Manual (at the website).
|
|
|
|
If you have permission problems when accessing your camera, read
|
|
the chapter on Permission Setup -- 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
|
|
===============================================
|
|
|
|
libgphoto2 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 issues that prevent
|
|
some camera libraries from working.
|
|
|
|
Please report any changes to this list to the gphoto 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.
|
|
|
|
General Hints:
|
|
|
|
- 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 (camlib) has compilation errors, re-run
|
|
configure with an appropriate --with-camlibs= flag to prevent that
|
|
specific camlib from being compiled.
|
|
|
|
|
|
The list of working systems is a little outdated as of 2002-11-20, but
|
|
we have still left it here as a reference.
|
|
|
|
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 Linux 7.1 (gcc)
|
|
|
|
|
|
The following systems have some problems compiling, but may be made to
|
|
work with some effort:
|
|
|
|
Itanium:
|
|
Red Hat Linux 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 Linux 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.
|
|
|
|
MIPS:
|
|
IRIX (cc)
|
|
MIPSpro C doesn't support #warning.
|
|
|
|
|
|
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.
|