carmen

Revision 15 as of 2007-07-05 05:49:26

Clear message

http://carmen.sourceforge.net/images/carmen-logo-big.png

Carnegie Mellon Robot Navigation Toolkit http://carmen.sourceforge.net/

How-To Download, Configure, and Make Carmen on Ubuntu 7.04

Download Carmen from SourceForge

http://downloads.sourceforge.net/carmen/carmen-0.6.6-beta.tgz?modtime=1178804560&big_mirror=0

Extract file

tar -xzvf carmen<tab>"

Make symlink

ln -s carmen<tab> carmen

=== Install following the Installation Guidelines === http://carmen.sourceforge.net/getting_carmen.html

./configure will give you many errors. Here is how to correct most of them quick and dirty. Read below to see step by step how to arrive at these packages:

   1 apt-get install --yes --force-yes libgtk2.0-* libwrap0-deb  libjpeg-dev lib*zlib*  doxygen doxygen-doc doxygen-docs doxygen-gui swig swig-doc swig-examples g++  libgtk1.2-dev gdk-imlib-dev
   2 rm -rf laser
   3 ./configure --no-java

*Answer N to Python bindings

   1 Should Python Bindings be installed: [y/N] N

*Answer N to oldlaser (we want new laser)

   1 Should the old laser server be used instead of the new one: [y/N] N

*Accept all robots but SegWay

   1 Robot numbers [*]: 1,2,3,4,5,6,7,8
   2 Compiling base support for: pioneer rflex scout orc4 orc5

*Remove camera from Makefile packages


./configure

Address the output of ./configure piece by piece:

   1 ./configure 
   2 Using $CC as gcc...
   3 Found processor unknown.
   4 Congratulations. You are running Linux.
   5 Found kernel 2.6.20-16-generic.
   6 This doesn't look like SuSE!
   7 Searching for canlib... 
   8 Could not find Kvaser canlib header file. I looked for
   9 /usr/include/canlib.h
  10 but it does not seem to exist.
  11 
  12 Searching for GTK... not found. 
  13 I tried to execute pkg-config gtk+-2.0
  14 and got this response:
  15 
  16 Package gtk+-2.0 was not found in the pkg-config search path.
  17 Perhaps you should add the directory containing `gtk+-2.0.pc'
  18 to the PKG_CONFIG_PATH environment variable
  19 No package 'gtk+-2.0' found
  20 
  21 If you do not have graphics, CARMEN's display modules will not compile, but 
  22 all other modules should compile without problem. Please install gtk 2.0, 
  23 or re-run ./configure with --nographics.


Kvaser Canlib

   1 Could not find Kvaser canlib header file. I looked for
   2 /usr/include/canlib.h

Kvaser canlib.h can be found here: http://www.kvaser.com/download/index_developer.htm

tar -xzvf the archive and then copy canlib.h to appease ./configure

cp ~/linuxcan_v2/include/canlib.h /usr/include/canlib.h


gtk+-2.0

   1 Searching for GTK... not found. 
   2 I tried to execute pkg-config gtk+-2.0
   3 and got this response:
   4 
   5 Package gtk+-2.0 was not found in the pkg-config search path.
   6 Perhaps you should add the directory containing `gtk+-2.0.pc'
   7 to the PKG_CONFIG_PATH environment variable
   8 No package 'gtk+-2.0' found

apt-get install libgtk2.0-*


libraries and .h files

   1 Searching for tcpd.h... found
   2 Searching for jpeglib.h... found
   3 Searching for zlib.h... found
   4 Searching for Wand... not found
   5 Searching for Java... found
   6 Searching for doxygen... found
   7 Searching for SWIG... found
   8 Searching for Python... found

Now the .h files will need some libraries installed. First vi /etc/apt/source.list and uncomment the restricted universe repositories. Then apt-get update; apt-get install the following packages

gtk+-2.0 = apt-get install libgtk2.0-*

tcpd.h = apt-get install libwrap0-deb

jpeglib.h = apt-get install libjpeg-dev

zlib.h = apt-get install lib*zlib*

Wand = ?

Java = apt-get install j2sdk1.4

doxygen = apt-get install doxygen doxygen-doc doxygen-docs doxygen-gui

SWIG = apt-get install swig swig-doc swig-examples

* Typically only the -dev or lib packages are required, but why not get the docs and tools as well.


JAVA_HOME

give configure the environment variable JAVA_HOME to find /usr/bin/javac

export JAVA_HOME=/usr

   1 sub verify_java {
   2   my $error = undef;
   3 
   4   print "Searching for Java... ";
   5   if (defined $ENV{JAVA_HOME}) {
   6     if (-x "$ENV{JAVA_HOME}/bin/javac") {
   7       print "found\n";
   8       return $ENV{JAVA_HOME}
   9     }
  10     print<<EOF;
  11 ${red}not found${normal}.

* Even with this environment variable set and javac available, had to ./configure --nojava


laser exitsts

* Now you should be ready to ./configure again

   1 carmen/src# ./configure 
   2 Using $CC as gcc...
   3 Found processor unknown.
   4 Congratulations. You are running Linux.
   5 Found kernel 2.6.20-16-generic.
   6 This doesn't look like SuSE!
   7 Searching for canlib... Found canlib header at /usr/include/canlib.h
   8 Searching for GTK... found, version 2.10.11
   9 Searching for joystick... found at /usr/include/linux/joystick.h
  10 
  11 It looks like this is a system include, so I won't add it to the standard
  12 include path. Adding partial system include paths is usually a recipe for
  13 disaster. If this is the wrong thing to do, you could add the following
  14 line to Makefile.vars:
  15 JOYSTICK_INCLUDE = -I/usr/include/linux/joystick.h
  16 
  17 Searching for tcpd.h... found
  18 Looks like your system supports access control. Very good.
  19 Searching for jpeglib.h... found
  20 Searching for zlib.h... found
  21 Searching for Wand... not found
  22 Searching for Java... found
  23 Searching for doxygen... found
  24 Searching for SWIG... found
  25 Searching for Python... found
  26 Should Python Bindings be installed: [y/N] N
  27 Should the old laser server be used instead of the new one: [y/N] N
  28 ERROR: The directory called laser exitsts.

* This is just safeguarding to make sure you don't overwrite work

* If this is your first install, just delete the directory

   1 ERROR: The directory called laser exitsts.
   2 Please remove it and run configure again.
   3 
   4 carmen/src# ls -lr laser
   5 total 0
   6 carmen/src# rm -rf laser


Successful ./configure

   1 carmen/src# ./configure 
   2 Using $CC as gcc...
   3 Found processor unknown.
   4 Congratulations. You are running Linux.
   5 Found kernel 2.6.20-16-generic.
   6 This doesn't look like SuSE!
   7 Searching for canlib... Found canlib header at /usr/include/canlib.h
   8 Searching for GTK... found, version 2.10.11
   9 Searching for joystick... found at /usr/include/linux/joystick.h
  10 
  11 It looks like this is a system include, so I won't add it to the standard
  12 include path. Adding partial system include paths is usually a recipe for
  13 disaster. If this is the wrong thing to do, you could add the following
  14 line to Makefile.vars:
  15 JOYSTICK_INCLUDE = -I/usr/include/linux/joystick.h
  16 
  17 Searching for tcpd.h... found
  18 Looks like your system supports access control. Very good.
  19 Searching for jpeglib.h... found
  20 Searching for zlib.h... found
  21 Searching for Wand... not found
  22 Searching for Java... found
  23 Searching for doxygen... found
  24 Searching for SWIG... found
  25 Searching for Python... found
  26 Should Python Bindings be installed: [y/N] N
  27 Should the old laser server be used instead of the new one: [y/N] N
  28 
  29 Type the install prefix to use for public installs, or hit enter to keep the
  30 default as /usr/local. (This prefix is not currently used by any rules.)
  31 
  32 Install path [/usr/local/]: 
  33 
  34 You must have Linux kernel 2.0.20 to compile:
  35 Nomadic Technologies XR4000
  36 
  37 These are the robot types CARMEN currently supports:
  38 1. ActiveMedia Pioneer I
  39 2. ActiveMedia Pioneer II
  40 3. iRobot ATRV
  41 4. iRobot ATRV-JR
  42 5. iRobot B21R
  43 6. Scout
  44 7. OrcBoard v.4 
  45 8. OrcBoard v.5 (Experimental)
  46 8. Segway RMP
  47 9. *
  48 
  49 Please select which robots you wish to compile base modules for.
  50 e.g., 1, 2, 6 would compile support for both Pioneer types and a Scout.
  51 Hit enter to compile them all, or type "none" to compile no base module
  52 support, for example, if you will be working exclusively in simulation.
  53 
  54 Robot numbers [*]: 
  55 Very well, compiling support for all base types.


make

* Once you get a successful ./configure, you can run make


JAVA LIBRARIRES

I ended up skipping over java because of these errors:

   1 ****************************************************************
   2 * Module  : JAVA LIBRARIES
   3 * Comment : Module for interfacing java programs with Carmen!
   4 ****************************************************************
   5 
   6   --> Starting make
   7     ---- Compiling ipcjava.c to ipcjava.o (C)
   8 In file included from /usr/include/_G_config.h:44,
   9                  from /usr/include/libio.h:32,
  10                  from /usr/include/stdio.h:72,
  11                  from ipcjava.c:67:
  12 /usr/include/gconv.h:72: error: expected declaration specifiers or ‘...’ before ‘size_t’
  13 /usr/include/gconv.h:88: error: expected declaration specifiers or ‘...’ before ‘size_t’
  14 /usr/include/gconv.h:97: error: expected declaration specifiers or ‘...’ before ‘size_t’
  15 /usr/include/gconv.h:174: error: expected specifier-qualifier-list before ‘size_t’
  16 In file included from /usr/include/stdio.h:72,
  17 
  18 make[3]: *** [ipcjava.o] Error 1
  19 exit: 7: Illegal number: -1
  20 make[2]: *** [libraries] Error 2
  21 make[1]: *** [phase1] Error 2
  22 exit: 1: Illegal number: -1
  23 make: *** [phase1] Error 2


./configure --nojava

So, let's ./configure again and skip java

   1 carmen/src# ./configure --nojava
   2 Using $CC as gcc...
   3 Found processor unknown.
   4 Congratulations. You are running Linux.
   5 Found kernel 2.6.20-16-generic.
   6 This doesn't look like SuSE!
   7 Searching for canlib... Found canlib header at /usr/include/canlib.h
   8 Searching for GTK... found, version 2.10.11
   9 Searching for joystick... found at /usr/include/linux/joystick.h
  10 
  11 It looks like this is a system include, so I won't add it to the standard
  12 include path. Adding partial system include paths is usually a recipe for
  13 disaster. If this is the wrong thing to do, you could add the following
  14 line to Makefile.vars:
  15 JOYSTICK_INCLUDE = -I/usr/include/linux/joystick.h
  16 
  17 Searching for tcpd.h... found
  18 Looks like your system supports access control. Very good.
  19 Searching for jpeglib.h... found
  20 Searching for zlib.h... found
  21 Searching for Wand... not found
  22 Searching for doxygen... found
  23 Searching for SWIG... found
  24 Searching for Python... found
  25 Should Python Bindings be installed: [y/N] N
  26 Should the old laser server be used instead of the new one: [y/N] N
  27 
  28 Type the install prefix to use for public installs, or hit enter to keep the
  29 default as /usr/local. (This prefix is not currently used by any rules.)
  30 
  31 Install path [/usr/local/]: 
  32 
  33 You must have Linux kernel 2.0.20 to compile:
  34 Nomadic Technologies XR4000
  35 
  36 These are the robot types CARMEN currently supports:
  37 1. ActiveMedia Pioneer I
  38 2. ActiveMedia Pioneer II
  39 3. iRobot ATRV
  40 4. iRobot ATRV-JR
  41 5. iRobot B21R
  42 6. Scout
  43 7. OrcBoard v.4 
  44 8. OrcBoard v.5 (Experimental)
  45 8. Segway RMP
  46 9. *
  47 
  48 Please select which robots you wish to compile base modules for.
  49 e.g., 1, 2, 6 would compile support for both Pioneer types and a Scout.
  50 Hit enter to compile them all, or type "none" to compile no base module
  51 support, for example, if you will be working exclusively in simulation.
  52 
  53 Robot numbers [*]: 
  54 Very well, compiling support for all base types.

./configure --nojava successful


IPC

IPC requires g++ to be installed

   1 carmen/src# make
   2 
   3 ****************************************************************
   4 * Module  : IPC
   5 * Comment : Flexible communications package written by Reid Simmons
   6 ****************************************************************
   7 
   8   --> Starting make
   9     ---- Archiving ipc.o queryResponse.o marshall.o timer.o list.o behaviors.o tcModError.o datamsg.o formatters.o hash.o idtable.o key.o primFmttrs.o reg.o sendMsg.o tcaMem.o tcaRef.o comModule.o com.o globalM.o globalMUtil.o strList.o modLogging.o modVar.o resMod.o parseFmttrs.o lex.o printData.o into libipc.so.1 (C)
  10 make[3]: g++: Command not found
  11 make[3]: *** [libipc.so.1] Error 127
  12 exit: 7: Illegal number: -1
  13 make[2]: *** [binaries] Error 2
  14 make[1]: *** [phase2] Error 2
  15 exit: 1: Illegal number: -1
  16 make: *** [phase2] Error 2

* make[3]: g++: Command not found

apt-get install g++


SEGWAY

make again and it will probably error out on the Segway:

   1 ****************************************************************
   2 * Module  : SEGWAY
   3 * Comment : Segway RMP Base Module
   4 ****************************************************************
   5 
   6   --> Starting make
   7     ---- Compiling segwaycore.c to segwaycore.o (C)
   8 In file included from segwaycore.c:30:
   9 /usr/include/canlib.h:13:21: error: canstat.h: No such file or directory
  10 In file included from segwaycore.c:30:
  11 /usr/include/canlib.h:130: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canSetDriverMode’
  12 /usr/include/canlib.h:135: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canClose’
  13 /usr/include/canlib.h:137: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canGetRawHandle’
  14 /usr/include/canlib.h:139: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canBusOn’
  15 /usr/include/canlib.h:141: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canResetBus’
  16 /usr/include/canlib.h:143: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canBusOff’
  17 /usr/include/canlib.h:145: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canSetBusParams’
  18 /usr/include/canlib.h:153: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canGetBusParams’
  19 /usr/include/canlib.h:161: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canSetBusParamsC200’
  20 /usr/include/canlib.h:165: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canSetBusOutputControl’
  21 /usr/include/canlib.h:168: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canGetBusOutputControl’
  22 /usr/include/canlib.h:171: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canAccept’
  23 /usr/include/canlib.h:175: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canReadStatus’
  24 /usr/include/canlib.h:178: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canReadErrorCounters’
  25 /usr/include/canlib.h:183: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canWrite’
  26 /usr/include/canlib.h:187: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canWriteWait’
  27 /usr/include/canlib.h:191: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canWriteSync’
  28 /usr/include/canlib.h:194: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canReadWait’
  29 /usr/include/canlib.h:202: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canRead’
  30 /usr/include/canlib.h:210: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canTranslateBaud’
  31 /usr/include/canlib.h:217: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canGetErrorText’
  32 /usr/include/canlib.h:231: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canIoCtl’
  33 /usr/include/canlib.h:234: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canReadTimer’
  34 /usr/include/canlib.h:236: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canGetNumberOfChannels’
  35 /usr/include/canlib.h:238: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canGetChannelData’
  36 /usr/include/canlib.h:242: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘canSetNotify’
  37 cc1: warnings being treated as errors
  38 segwaycore.c: In function ‘segway_update_status’:
  39 segwaycore.c:49: warning: implicit declaration of function ‘canReadWait’
  40 segwaycore.c:54: warning: implicit declaration of function ‘canBusOn’
  41 segwaycore.c: In function ‘segway_initialize’:
  42 segwaycore.c:140: warning: implicit declaration of function ‘canSetBusParams’
  43 segwaycore.c: In function ‘segway_free’:
  44 segwaycore.c:158: warning: implicit declaration of function ‘canClose’
  45 segwaycore.c: In function ‘segway_kill’:
  46 segwaycore.c:166: warning: implicit declaration of function ‘canWrite’
  47 make[6]: *** [segwaycore.o] Error 1
  48 exit: 7: Illegal number: -1
  49 make[5]: *** [libraries] Error 2
  50 make[4]: *** [all] Error 2
  51 make[3]: *** [segway] Error 2
  52 exit: 7: Illegal number: -1
  53 make[2]: *** [binaries] Error 2
  54 make[1]: *** [phase2] Error 2
  55 exit: 1: Illegal number: -1
  56 make: *** [phase2] Error 2


./configure to skip SEGWAY

Robot numbers [*]: 1,2,3,4,5,6,7,8

* If you cannot make the segway, ./configure again and choose the other robots

   1 /carmen/src# ./configure --nojava 
   2 Using $CC as gcc...
   3 Found processor unknown.
   4 Congratulations. You are running Linux.
   5 Found kernel 2.6.20-16-generic.
   6 This doesn't look like SuSE!
   7 Searching for canlib... Found canlib header at /usr/include/canlib.h
   8 Searching for GTK... found, version 2.10.11
   9 Searching for joystick... found at /usr/include/linux/joystick.h
  10 
  11 It looks like this is a system include, so I won't add it to the standard
  12 include path. Adding partial system include paths is usually a recipe for
  13 disaster. If this is the wrong thing to do, you could add the following
  14 line to Makefile.vars:
  15 JOYSTICK_INCLUDE = -I/usr/include/linux/joystick.h
  16 
  17 Searching for tcpd.h... found
  18 Looks like your system supports access control. Very good.
  19 Searching for jpeglib.h... found
  20 Searching for zlib.h... found
  21 Searching for Wand... not found
  22 Searching for doxygen... found
  23 Searching for SWIG... found
  24 Searching for Python... found
  25 Should Python Bindings be installed: [y/N] N
  26 Should the old laser server be used instead of the new one: [y/N] N
  27 
  28 Type the install prefix to use for public installs, or hit enter to keep the
  29 default as /usr/local. (This prefix is not currently used by any rules.)
  30 
  31 Install path [/usr/local/]: 
  32 
  33 You must have Linux kernel 2.0.20 to compile:
  34 Nomadic Technologies XR4000
  35 
  36 These are the robot types CARMEN currently supports:
  37 1. ActiveMedia Pioneer I
  38 2. ActiveMedia Pioneer II
  39 3. iRobot ATRV
  40 4. iRobot ATRV-JR
  41 5. iRobot B21R
  42 6. Scout
  43 7. OrcBoard v.4 
  44 8. OrcBoard v.5 (Experimental)
  45 8. Segway RMP
  46 9. *
  47 
  48 Please select which robots you wish to compile base modules for.
  49 e.g., 1, 2, 6 would compile support for both Pioneer types and a Scout.
  50 Hit enter to compile them all, or type "none" to compile no base module
  51 support, for example, if you will be working exclusively in simulation.
  52 
  53 Robot numbers [*]: 1,2,3,4,5,6,7,8
  54 
  55 Compiling base support for: pioneer rflex scout orc4 orc5

./configure --nojava

Should Python Bindings be installed: [y/N] N

Should the old laser server be used instead of the new one: [y/N] N

Robot numbers [*]: 1,2,3,4,5,6,7,8


gtk-config

MAP-EDITOR requires gtk-config

apt-get install libgtk1.2-dev gdk-imlib-dev

   1 ****************************************************************
   2 * Module  : MAP_EDITOR
   3 * Comment : Provides photoshop-like map editor.
   4 ****************************************************************
   5 
   6   --> Starting make
   7     ---- Compiling map_editor.c to map_editor.o (C)
   8 /bin/sh: gtk-config: not found
   9 map_editor.c:29:21: error: gtk/gtk.h: No such file or directory
  10 In file included from map_editor.c:31:
  11 map_editor.h:37:23: error: gdk_imlib.h: No such file or directory
  12 In file included from map_editor.c:31:
  13 
  14 carmen/src# gtk-config
  15 The program 'gtk-config' is currently not installed.  You can install it by typing:
  16 apt-get install libgtk1.2-dev
  17 bash: gtk-config: command not found

apt-get install libgtk1.2-dev

apt-get install gdk-imlib-dev


QUICKCAM

This should get you all the way to the Phillips Camera

   1 ****************************************************************
   2 * Module  : QUICKCAM
   3 * Comment : Phillips Camera Module
   4 ****************************************************************
   5 
   6   --> Starting make
   7 ccvt_mmx.S:31:27: error: linux/linkage.h: No such file or directory
   8 make[6]: *** [ccvt_mmx.o] Error 1
   9 exit: 7: Illegal number: -1
  10 make[5]: *** [libraries] Error 2
  11 make[4]: *** [all] Error 2
  12 make[3]: *** [quickcam/libquickcam.a] Error 2
  13 exit: 7: Illegal number: -1
  14 make[2]: *** [binaries] Error 2
  15 make[1]: *** [phase2] Error 2
  16 exit: 1: Illegal number: -1
  17 make: *** [phase2] Error 2


== linkage.h ===

QUICKCAM requires linkage.h

* I don't know how to fix this error, but I have the pwc.ko module compiled on another platform so this is not a show stopper at the moment.

   1 carmen/src# locate linkage.h
   2 /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h
   3 /usr/src/linux-headers-2.6.20-16-generic/include/linux/linkage.h
   4 /usr/src/linux-headers-2.6.20-16/include/asm-x86_64/linkage.h
   5 /usr/src/linux-headers-2.6.20-16/include/asm-s390/linkage.h
   6 /usr/src/linux-headers-2.6.20-16/include/asm-sh64/linkage.h
   7 /usr/src/linux-headers-2.6.20-16/include/asm-xtensa/linkage.h
   8 /usr/src/linux-headers-2.6.20-16/include/asm-sh/linkage.h
   9 /usr/src/linux-headers-2.6.20-16/include/asm-i386/linkage.h
  10 /usr/src/linux-headers-2.6.20-16/include/asm-sparc64/linkage.h
  11 /usr/src/linux-headers-2.6.20-16/include/asm-mips/linkage.h
  12 /usr/src/linux-headers-2.6.20-16/include/asm-m68knommu/linkage.h
  13 /usr/src/linux-headers-2.6.20-16/include/asm-m32r/linkage.h
  14 /usr/src/linux-headers-2.6.20-16/include/asm-sparc/linkage.h
  15 /usr/src/linux-headers-2.6.20-16/include/asm-um/linkage.h
  16 /usr/src/linux-headers-2.6.20-16/include/asm-v850/clinkage.h
  17 /usr/src/linux-headers-2.6.20-16/include/asm-v850/linkage.h
  18 /usr/src/linux-headers-2.6.20-16/include/asm-alpha/linkage.h
  19 /usr/src/linux-headers-2.6.20-16/include/asm-avr32/linkage.h
  20 /usr/src/linux-headers-2.6.20-16/include/linux/linkage.h
  21 /usr/src/linux-headers-2.6.20-16/include/asm-h8300/linkage.h
  22 /usr/src/linux-headers-2.6.20-16/include/asm-arm26/linkage.h
  23 /usr/src/linux-headers-2.6.20-16/include/asm-parisc/linkage.h
  24 /usr/src/linux-headers-2.6.20-16/include/asm-frv/linkage.h
  25 /usr/src/linux-headers-2.6.20-16/include/asm-m68k/linkage.h
  26 /usr/src/linux-headers-2.6.20-16/include/asm-ia64/linkage.h
  27 /usr/src/linux-headers-2.6.20-16/include/asm-cris/linkage.h
  28 /usr/src/linux-headers-2.6.20-16/include/asm-powerpc/linkage.h
  29 /usr/src/linux-headers-2.6.20-16/include/asm-arm/linkage.h
  30 /usr/src/linux-headers-2.6.20-15/include/asm-x86_64/linkage.h
  31 /usr/src/linux-headers-2.6.20-15/include/asm-s390/linkage.h
  32 /usr/src/linux-headers-2.6.20-15/include/asm-sh64/linkage.h
  33 /usr/src/linux-headers-2.6.20-15/include/asm-xtensa/linkage.h
  34 /usr/src/linux-headers-2.6.20-15/include/asm-sh/linkage.h
  35 /usr/src/linux-headers-2.6.20-15/include/asm-i386/linkage.h
  36 /usr/src/linux-headers-2.6.20-15/include/asm-sparc64/linkage.h
  37 /usr/src/linux-headers-2.6.20-15/include/asm-mips/linkage.h
  38 /usr/src/linux-headers-2.6.20-15/include/asm-m68knommu/linkage.h
  39 /usr/src/linux-headers-2.6.20-15/include/asm-m32r/linkage.h
  40 /usr/src/linux-headers-2.6.20-15/include/asm-sparc/linkage.h
  41 /usr/src/linux-headers-2.6.20-15/include/asm-um/linkage.h
  42 /usr/src/linux-headers-2.6.20-15/include/asm-v850/clinkage.h
  43 /usr/src/linux-headers-2.6.20-15/include/asm-v850/linkage.h
  44 /usr/src/linux-headers-2.6.20-15/include/asm-alpha/linkage.h
  45 /usr/src/linux-headers-2.6.20-15/include/asm-avr32/linkage.h
  46 /usr/src/linux-headers-2.6.20-15/include/linux/linkage.h
  47 /usr/src/linux-headers-2.6.20-15/include/asm-h8300/linkage.h
  48 /usr/src/linux-headers-2.6.20-15/include/asm-arm26/linkage.h
  49 /usr/src/linux-headers-2.6.20-15/include/asm-parisc/linkage.h
  50 /usr/src/linux-headers-2.6.20-15/include/asm-frv/linkage.h
  51 /usr/src/linux-headers-2.6.20-15/include/asm-m68k/linkage.h
  52 /usr/src/linux-headers-2.6.20-15/include/asm-ia64/linkage.h
  53 /usr/src/linux-headers-2.6.20-15/include/asm-cris/linkage.h
  54 /usr/src/linux-headers-2.6.20-15/include/asm-powerpc/linkage.h
  55 /usr/src/linux-headers-2.6.20-15/include/asm-arm/linkage.h


skip camera

* The quickest way to get around this is to remove the camera package from the Makefile

   1 PACKAGES = ipc global param_daemon base laser robot simulator robotgui \
   2            maptools mapeditor logger logtools hmap \
   3            localize navigator vasco proccontrol \
   4            *camera* joystick pantilt gps
   5 }
   6 
   7 Makefile with camera package removed:
   8 
   9 {{{#!cplusplus
  10 PACKAGES = ipc global param_daemon base laser robot simulator robotgui \
  11            maptools mapeditor logger logtools hmap \
  12            localize navigator vasco proccontrol \
  13            joystick pantilt gps
  14 }
  15 ----
  16 
  17 == make ==
  18 
  19 Now you should be able to make
  20 
  21 {{{#!cplusplus
  22 carmen/src# make
  23 
  24        ***********
  25        E X P O R T
  26        ***********
  27 
  28 
  29        *****************
  30        L I B R A R I E S
  31        *****************
  32 
  33 
  34 ****************************************************************
  35 * Module  : IPC
  36 * Comment : Flexible communications package written by Reid Simmons
  37 ****************************************************************
  38 
  39   --> Starting make
  40   <-- Make done
  41 
  42 ****************************************************************
  43 * Module  : GLOBAL
  44 * Comment : CARMEN global functions
  45 ****************************************************************
  46 
  47   --> Starting make
  48   <-- Make done
  49 
  50 ****************************************************************
  51 * Module  : PARAMDAEMON
  52 * Comment : Module providing central repository for module parameters
  53 ****************************************************************
  54 
  55   --> Starting make
  56   <-- Make done
  57 
  58 ****************************************************************
  59 * Module  : BASE
  60 * Comment : Generic interface to all robot bases
  61 ****************************************************************
  62 
  63   --> Starting make
  64   <-- Make done
  65 
  66 ****************************************************************
  67 * Module  : LASER
  68 * Comment : The new laser module for SICK and Hokuyo lasers
  69 ****************************************************************
  70 
  71   --> Starting make
  72   <-- Make done
  73 
  74 ****************************************************************
  75 * Module  : ROBOT_DAEMON
  76 * Comment : Module integrating all robot sensors and configuration
  77 ****************************************************************
  78 
  79   --> Starting make
  80   <-- Make done
  81 
  82 ****************************************************************
  83 * Module  : SIMULATOR
  84 * Comment : simulates the readings of a robot on a map
  85 ****************************************************************
  86 
  87   --> Starting make
  88   <-- Make done
  89 
  90 ****************************************************************
  91 * Module  : ROBOTGUI
  92 * Comment : Module for displaying output of robot, lasers and sonars and odometry
  93 ****************************************************************
  94 
  95   --> Starting make
  96   <-- Make done
  97 
  98 ****************************************************************
  99 * Module  : MAPTOOLS
 100 * Comment : Tools for mapping etc.
 101 ****************************************************************
 102 
 103   --> Starting make
 104   <-- Make done
 105 
 106 ****************************************************************
 107 * Module  : MAP_EDITOR
 108 * Comment : Provides photoshop-like map editor.
 109 ****************************************************************
 110 
 111   --> Starting make
 112   <-- Make done
 113 
 114 ****************************************************************
 115 * Module  : LOGGER
 116 * Comment : Modules for logging, displaying, and playing back data.
 117 ****************************************************************
 118 
 119   --> Starting make
 120   <-- Make done
 121 
 122 ****************************************************************
 123 * Module  : LOGTOOLS
 124 * Comment : Log tools, like the famous log2pic
 125 ****************************************************************
 126 
 127   --> Starting make
 128   <-- Make done
 129 
 130 ****************************************************************
 131 * Module  : HMAP
 132 * Comment : mapserver add-on for heirarchical maps (hmaps).
 133 ****************************************************************
 134 
 135   --> Starting make
 136   <-- Make done
 137 
 138 ****************************************************************
 139 * Module  : LOCALIZE
 140 * Comment : Markov Localization Module
 141 ****************************************************************
 142 
 143   --> Starting make
 144   <-- Make done
 145 
 146 ****************************************************************
 147 * Module  : NAVIGATOR
 148 * Comment : The motion planner!
 149 ****************************************************************
 150 
 151   --> Starting make
 152   <-- Make done
 153 
 154 ****************************************************************
 155 * Module  : VASCO
 156 * Comment : Scan-matching mapper by Dirk Haehnel
 157 ****************************************************************
 158 
 159   --> Starting make
 160   <-- Make done
 161 
 162 ****************************************************************
 163 * Module  : PROCCONTROL
 164 * Comment : Process controller for CARMEN
 165 ****************************************************************
 166 
 167   --> Starting make
 168   <-- Make done
 169 
 170 ****************************************************************
 171 * Module  : JOYSTICK
 172 * Comment : Joystick library and control modules
 173 ****************************************************************
 174 
 175   --> Starting make
 176   <-- Make done
 177 
 178 ****************************************************************
 179 * Module  : PANTILT
 180 * Comment : Module for pantilt interface - direct perception
 181 ****************************************************************
 182 
 183   --> Starting make
 184   <-- Make done
 185 
 186 ****************************************************************
 187 * Module  : GPS
 188 * Comment : NMEA GPS Module
 189 ****************************************************************
 190 
 191   --> Starting make
 192   <-- Make done
 193 
 194        ***************
 195        B I N A R I E S
 196        ***************
 197 
 198 
 199 ****************************************************************
 200 * Module  : IPC
 201 * Comment : Flexible communications package written by Reid Simmons
 202 ****************************************************************
 203 
 204   --> Starting make
 205   <-- Make done
 206 
 207 ****************************************************************
 208 * Module  : GLOBAL
 209 * Comment : CARMEN global functions
 210 ****************************************************************
 211 
 212   --> Starting make
 213   <-- Make done
 214 
 215 ****************************************************************
 216 * Module  : PARAMDAEMON
 217 * Comment : Module providing central repository for module parameters
 218 ****************************************************************
 219 
 220   --> Starting make
 221   <-- Make done
 222 
 223 ****************************************************************
 224 * Module  : BASE
 225 * Comment : Generic interface to all robot bases
 226 ****************************************************************
 227 
 228   --> Starting make
 229   <-- Make done
 230 
 231 ****************************************************************
 232 * Module  : LASER
 233 * Comment : The new laser module for SICK and Hokuyo lasers
 234 ****************************************************************
 235 
 236   --> Starting make
 237   <-- Make done
 238 
 239 ****************************************************************
 240 * Module  : ROBOT_DAEMON
 241 * Comment : Module integrating all robot sensors and configuration
 242 ****************************************************************
 243 
 244   --> Starting make
 245   <-- Make done
 246 
 247 ****************************************************************
 248 * Module  : SIMULATOR
 249 * Comment : simulates the readings of a robot on a map
 250 ****************************************************************
 251 
 252   --> Starting make
 253   <-- Make done
 254 
 255 ****************************************************************
 256 * Module  : ROBOTGUI
 257 * Comment : Module for displaying output of robot, lasers and sonars and odometry
 258 ****************************************************************
 259 
 260   --> Starting make
 261   <-- Make done
 262 
 263 ****************************************************************
 264 * Module  : MAPTOOLS
 265 * Comment : Tools for mapping etc.
 266 ****************************************************************
 267 
 268   --> Starting make
 269   <-- Make done
 270 
 271 ****************************************************************
 272 * Module  : MAP_EDITOR
 273 * Comment : Provides photoshop-like map editor.
 274 ****************************************************************
 275 
 276   --> Starting make
 277   <-- Make done
 278 
 279 ****************************************************************
 280 * Module  : LOGGER
 281 * Comment : Modules for logging, displaying, and playing back data.
 282 ****************************************************************
 283 
 284   --> Starting make
 285   <-- Make done
 286 
 287 ****************************************************************
 288 * Module  : LOGTOOLS
 289 * Comment : Log tools, like the famous log2pic
 290 ****************************************************************
 291 
 292   --> Starting make
 293   <-- Make done
 294 
 295 ****************************************************************
 296 * Module  : HMAP
 297 * Comment : mapserver add-on for heirarchical maps (hmaps).
 298 ****************************************************************
 299 
 300   --> Starting make
 301   <-- Make done
 302 
 303 ****************************************************************
 304 * Module  : LOCALIZE
 305 * Comment : Markov Localization Module
 306 ****************************************************************
 307 
 308   --> Starting make
 309   <-- Make done
 310 
 311 ****************************************************************
 312 * Module  : NAVIGATOR
 313 * Comment : The motion planner!
 314 ****************************************************************
 315 
 316   --> Starting make
 317   <-- Make done
 318 
 319 ****************************************************************
 320 * Module  : VASCO
 321 * Comment : Scan-matching mapper by Dirk Haehnel
 322 ****************************************************************
 323 
 324   --> Starting make
 325   <-- Make done
 326 
 327 ****************************************************************
 328 * Module  : PROCCONTROL
 329 * Comment : Process controller for CARMEN
 330 ****************************************************************
 331 
 332   --> Starting make
 333   <-- Make done
 334 
 335 ****************************************************************
 336 * Module  : JOYSTICK
 337 * Comment : Joystick library and control modules
 338 ****************************************************************
 339 
 340   --> Starting make
 341     ---- Compiling wingman_control.c to wingman_control.o (C)
 342     ---- Linking wingman_control.o joyctrl.o to wingman_control (C)
 343     ---- Copying wingman_control to ~/carmen/bin
 344   <-- Make done
 345 
 346 ****************************************************************
 347 * Module  : PANTILT
 348 * Comment : Module for pantilt interface - direct perception
 349 ****************************************************************
 350 
 351   --> Starting make
 352     ---- Compiling io.c to io.o (C)
 353     ---- Compiling ipc.c to ipc.o (C)
 354     ---- Compiling utils.c to utils.o (C)
 355     ---- Compiling main.c to main.o (C)
 356     ---- Linking io.o ipc.o utils.o main.o to pantilt (C)
 357     ---- Compiling pantilt-test.c to pantilt-test.o (C)
 358     ---- Linking pantilt-test.o to pantilt-test (C)
 359     ---- Copying pantilt to ~/carmen/bin
 360     ---- Copying pantilt-test to ~/carmen/bin
 361   <-- Make done
 362 
 363 ****************************************************************
 364 * Module  : GPS
 365 * Comment : NMEA GPS Module
 366 ****************************************************************
 367 
 368   --> Starting make
 369     ---- Compiling gps-io.c to gps-io.o (C)
 370     ---- Compiling gps-ipc.c to gps-ipc.o (C)
 371     ---- Compiling gps-nmea.c to gps-nmea.o (C)
 372     ---- Compiling gps-main.c to gps-main.o (C)
 373     ---- Linking gps-io.o gps-ipc.o gps-nmea.o gps-main.o to gps-nmea (C)
 374     ---- Compiling gps-test.c to gps-test.o (C)
 375     ---- Linking gps-test.o gps_nmea_interface.o to gps-test (C)
 376     ---- Copying gps-nmea to ~/carmen/bin
 377   <-- Make done
 378 Done making binaries...

make successful


RUN

Congratulations you have now downloaded, configured and made Carmen on Ubuntu!

Running instructions are here:

http://carmen.sourceforge.net/using_carmen.html