| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | Basic Installation | 
					
						
							|  |  |  | ================== | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |     For more information specific to this package, please read the README | 
					
						
							|  |  |  | file. This source code distribution  is autoconfiguring and you should be  | 
					
						
							|  |  |  | able to compile it and install it without manual interventions such as  | 
					
						
							|  |  |  | editing Makefiles, configuration files, and so on. These are generic  | 
					
						
							|  |  |  | instructions for people who are not familiar with installing autoconfiguring | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | software (along with some Hamlib-specific information). | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | The simplest way to compile this package is to enter the source code | 
					
						
							|  |  |  | main directory and do the following: | 
					
						
							|  |  |  |     | 
					
						
							|  |  |  |   1. Configure the source code by typing: | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  |          | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |         $ ./configure | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      If you're planning to install the package into your home directory | 
					
						
							|  |  |  |      or to a location other than `/usr/local' then add the flag | 
					
						
							|  |  |  |      `--prefix=PATH' to `configure'. For example, if your home directory   | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  |      is `/home/username' you can configure the package to install itself  | 
					
						
							|  |  |  |      there by invoking: | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |         $ ./configure --prefix=/home/username | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |      N.B. If you know that you won't be using scripting languages (Perl, | 
					
						
							|  |  |  |      Python, or TCL) and that you won't need static libaries (most | 
					
						
							|  |  |  |      applications dynamically link Hamlib by default) invoke `configure' | 
					
						
							|  |  |  |      as follows: | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |         $ ./configure --without-perl-binding --without-python-binding \ | 
					
						
							|  |  |  |         --without-tcl-binding --disable-static | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |      This will result in a much smaller Hamlib installation (and faster | 
					
						
							|  |  |  |      compilation :-) ).  See also the "Hamlib specific Features" section  | 
					
						
							|  |  |  |      below for other `configure' options.   | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |       | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |      While running, `configure' prints some messages telling you which | 
					
						
							|  |  |  |      features it is checking for.  | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |   2. Compile the package by typing: | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  |          | 
					
						
							|  |  |  |         $ make | 
					
						
							|  |  |  |       | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |      Running `make' takes a while.  Since Hamlib is a package, now is the  | 
					
						
							|  |  |  |      time to go get a cup of coffee. | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |       | 
					
						
							|  |  |  |   3. Some packages are bundled with self-tests for source-code  | 
					
						
							|  |  |  |      verification. If this package includes such tests, you can  | 
					
						
							|  |  |  |      optionally run them after compilation by typing  | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         $ make check | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |   4. Type `make install' to install the programs and any data files and | 
					
						
							|  |  |  |      documentation. Type `make uninstall' to undo the installation. | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      During installation, the following files go to the following directories: | 
					
						
							|  |  |  |         Executables          -> /prefix/bin | 
					
						
							|  |  |  |         Libraries            -> /prefix/lib | 
					
						
							|  |  |  |         Public header files  -> /prefix/include | 
					
						
							|  |  |  |         Man pages            -> /prefix/man/man? | 
					
						
							|  |  |  |         Info files           -> /prefix/info | 
					
						
							|  |  |  |         Doc files            -> /prefix/share/doc/<prog name> | 
					
						
							|  |  |  |         Share files          -> /prefix/share/<prog name> | 
					
						
							|  |  |  |      where `prefix' is either `/usr/local' or the PATH that you specified | 
					
						
							|  |  |  |      in the `--prefix' flag. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      If any of these directories do not presently exist, they will be | 
					
						
							|  |  |  |      created on demand.  | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      If you are installing in your home directory make sure that  | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  |      `/home/username/bin' is in your path. If you're using the bash shell | 
					
						
							|  |  |  |      add these lines at the end of your .bashrc file: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         PATH="/home/username/bin:${PATH}" | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |         export PATH | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      If you are using csh or tcsh, then use this line instead: | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         setenv PATH /home/username/bin:${PATH} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      By prepending your home directory to the rest of the PATH you can | 
					
						
							|  |  |  |      override systemwide installed software with your own custom installation. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |   5. After installation you may need to update the ld.so.cache as the  | 
					
						
							|  |  |  |      installation files are placed in /usr/local/lib by default.  On most | 
					
						
							|  |  |  |      systems this is easily accomplished by running the `ldconfig' command | 
					
						
							|  |  |  |      as the superuser (root).  The following line may need to be added to | 
					
						
							|  |  |  |      /etc/ld.so.conf: | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |         /usr/local/lib | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |      On Debian systems since at least 4.0 (Etch) and its derivatives (Ubuntu, | 
					
						
							|  |  |  |      etc.), a file will need to be created in the /etc/ld.so.conf.d directory. | 
					
						
							|  |  |  |      It doesn't seem to matter what you name it so long as it ends in .conf  | 
					
						
							|  |  |  |      and local.conf is a good choice.  Place the following line in it: | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |         /usr/local/lib | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |      Now `ldconfig' can be run.   | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |      While the programs built along with Hamlib will probably work fine | 
					
						
							|  |  |  |      without running `ldconfig', experience has shown that precompiled | 
					
						
							|  |  |  |      binaries like Fldigi will not be able to find libhamlib.so.2 without | 
					
						
							|  |  |  |      updating the ld.so.cache. | 
					
						
							|  |  |  |       | 
					
						
							|  |  |  |   6. You can remove the program binaries and object files from the | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |      source code directory by typing `make clean'.  To also remove the | 
					
						
							|  |  |  |      files that `configure' created (so you can compile the package for | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |      a different kind of computer), type `make distclean'.  The | 
					
						
							|  |  |  |      `configure' program will need to be run again to recompile Hamlib. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |   7. You can optionally generate the Doxygen documentation files: | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-13 14:33:52 +00:00
										 |  |  |         cd doc | 
					
						
							|  |  |  |         make doc | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-10-13 14:33:52 +00:00
										 |  |  |      The HTML output files are provided for binary releases on the hamlib.org | 
					
						
							|  |  |  |      web site. | 
					
						
							| 
									
										
										
										
											2008-01-12 00:36:58 +00:00
										 |  |  |       | 
					
						
							|  |  |  |   8. Finally, if you wish to remove Hamlib, run `make uninstall' as  | 
					
						
							|  |  |  |      superuser (root), unless Hamlib was installed into your home directory, | 
					
						
							|  |  |  |      from the Hamlib source directory.  This will work unless `make distclean' | 
					
						
							|  |  |  |      has been run. | 
					
						
							| 
									
										
										
										
											2006-10-13 14:33:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | Compiler configuration | 
					
						
							|  |  |  | ====================== | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |    The `configure' shell script is responsible for choosing and configuring | 
					
						
							|  |  |  | the compiler(s).  | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | The following options allow you to specify whether you | 
					
						
							|  |  |  | want to enable or disable various debugging mechanisms: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | `--enable-warnings' | 
					
						
							|  |  |  |       Make the compilers very picky about warnings. Try this whenever you | 
					
						
							|  |  |  |       write new code since it may catch a few bugs. This is not active by | 
					
						
							|  |  |  |       default because all too often warnings can be too picky and scare | 
					
						
							|  |  |  |       the end-user. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | All programs are compiled with optimization level 2 by default (-O2). | 
					
						
							|  |  |  | Occasionally that confuses the debugger when code is inlined. To disable | 
					
						
							|  |  |  | optimization and enable debugging, set the shell environment variables | 
					
						
							|  |  |  | CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this | 
					
						
							|  |  |  | like this: | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |   $ export CFLAGS="-g" | 
					
						
							|  |  |  |   $ export CXXFLAGS="-g" | 
					
						
							|  |  |  |   $ export FFLAGS="-g" | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | On the tcsh shell, use the `setenv' command instead: | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  |   % setenv CFLAGS "-g" | 
					
						
							|  |  |  |   ...etc... | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-11-04 21:37:27 +00:00
										 |  |  | For other shell, please consult your shell's documentation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Similarly, you can increase the optimization level by assigning these | 
					
						
							|  |  |  | variables to "-g -O3".  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Depending on what languages the package uses, some of these options may | 
					
						
							|  |  |  | or may not be available. To see what is available, type: | 
					
						
							|  |  |  |     % sh ./configure --help | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | About the configure script | 
					
						
							|  |  |  | ========================== | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |    The `configure' shell script attempts to guess correct values for | 
					
						
							|  |  |  | various system-dependent variables used during compilation.  It uses | 
					
						
							|  |  |  | those values to create a `Makefile' in each directory of the package. | 
					
						
							|  |  |  | It may also create one or more `.h' files containing system-dependent | 
					
						
							|  |  |  | definitions.  Finally, it creates a shell script `config.status' that | 
					
						
							|  |  |  | you can run in the future to recreate the current configuration, a file | 
					
						
							|  |  |  | `config.cache' that saves the results of its tests to speed up | 
					
						
							|  |  |  | reconfiguring, and a file `config.log' containing compiler output | 
					
						
							|  |  |  | (useful mainly for debugging `configure'). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    If you need to do unusual things to compile the package, please try | 
					
						
							|  |  |  | to figure out how `configure' could check whether to do them, and mail | 
					
						
							|  |  |  | diffs or instructions to the address given in the `README' so they can | 
					
						
							|  |  |  | be considered for the next release.  If at some point `config.cache' | 
					
						
							|  |  |  | contains results you don't want to keep, you may remove or edit it. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    The file `configure.in' is used to create `configure' by a program | 
					
						
							|  |  |  | called `autoconf'.  You only need `configure.in' if you want to change | 
					
						
							|  |  |  | it or regenerate `configure' using a newer version of `autoconf'. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Advanced installation options. | 
					
						
							|  |  |  | ============================== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    The `configure' script also understands the following more advanced | 
					
						
							|  |  |  | options, to handle situations for which `--prefix' alone is not sufficient. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    You can specify separate installation prefixes for | 
					
						
							|  |  |  | architecture-specific files and architecture-independent files.  If you | 
					
						
							|  |  |  | give `configure' the option `--exec-prefix=PATH', the package will use | 
					
						
							|  |  |  | PATH as the prefix for installing programs and libraries. | 
					
						
							|  |  |  | Documentation and other data files will still use the regular prefix. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    In addition, if you use an unusual directory layout you can give | 
					
						
							|  |  |  | options like `--bindir=PATH' to specify different values for particular | 
					
						
							|  |  |  | kinds of files.  Run `configure --help' for a list of the directories | 
					
						
							|  |  |  | you can set and what kinds of files go in them. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    If the package supports it, you can cause programs to be installed | 
					
						
							|  |  |  | with an extra prefix or suffix on their names by giving `configure' the | 
					
						
							|  |  |  | option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Optional Features | 
					
						
							|  |  |  | ================= | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Some packages pay attention to `--enable-FEATURE' options to | 
					
						
							|  |  |  | `configure', where FEATURE indicates an optional part of the package. | 
					
						
							|  |  |  | They may also pay attention to `--with-PACKAGE' options, where PACKAGE | 
					
						
							|  |  |  | is something like `gnu-as' or `x' (for the X Window System).  The | 
					
						
							|  |  |  | `README' should mention any `--enable-' and `--with-' options that the | 
					
						
							|  |  |  | package recognizes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    For packages that use the X Window System, `configure' can usually | 
					
						
							|  |  |  | find the X include and library files automatically, but if it doesn't, | 
					
						
							|  |  |  | you can use the `configure' options `--x-includes=DIR' and | 
					
						
							|  |  |  | `--x-libraries=DIR' to specify their locations. | 
					
						
							| 
									
										
										
										
											2000-07-18 21:35:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-02-08 17:39:38 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | Win32 | 
					
						
							|  |  |  | ===== | 
					
						
							|  |  |  | - Debian system with mingw32msvc cross-compiler | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	./configure --host=i586-mingw32msvc | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Mingw compiler under Cygwin  | 
					
						
							|  |  |  | 	CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" ./configure --host=i686-pc-mingw32  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Cygwin | 
					
						
							|  |  |  | 	Native Cygwin requires no special options besides regular ones. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-04-28 06:34:58 +00:00
										 |  |  | Hamlib specific Features | 
					
						
							|  |  |  | ======================== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    Should you encounter any problem with the build of the C++ binding, | 
					
						
							|  |  |  | you can disable this optional part by passing `--without-cxx-binding' | 
					
						
							| 
									
										
										
										
											2004-02-08 17:39:38 +00:00
										 |  |  | to the configure script (may happen under MacOSX). | 
					
						
							| 
									
										
										
										
											2003-04-28 06:34:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-02-08 17:39:38 +00:00
										 |  |  |    Any problem encountered with the perl, tcl, python or swig tool can be | 
					
						
							|  |  |  | disabled by passing `--without-tcl-binding', `--without-perl-binding', | 
					
						
							|  |  |  | and/or '--without-python-binding'. | 
					
						
							| 
									
										
										
										
											2003-04-28 06:34:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |    Some platfroms may have trouble compiling the RPC support (e.g. Mac OS X). | 
					
						
							|  |  |  | in such a case, the rpcrig and rpcrot backends may be disabled  | 
					
						
							|  |  |  | with the `--without-rpc-backends' option. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-04 17:30:31 +00:00
										 |  |  |    Building static libraries can be disabled by use of the `--disable-static' | 
					
						
							|  |  |  | option.  This will reduce the installed size of Hamlib considerably. | 
					
						
							|  |  |  | 
 |