carmen
35825
Comment:
|
37104
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
== How-To Download, Install, and Make Carmen on Ubuntu 7.04 == 1. Download Carmen from SourceForge |
== How-To Download, Configure, and Make Carmen on Ubuntu 7.04 == === Download Carmen from SourceForge === |
Line 11: | Line 11: |
Extract file with "tar -xzvf carmen<tab>" Make symlink for yourself "ln -s carmen<tab> carmen" 2. Install following the Installation Guidelines http://carmen.sourceforge.net/getting_carmen.html |
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 |
Line 19: | Line 23: |
Line 88: | Line 93: |
Kvaser canlib.h can be found here: http://www.kvaser.com/download/index_developer.htm |
Kvaser canlib.h can be found here: http://www.kvaser.com/download/index_developer.htm |
Line 92: | Line 96: |
cp ~/linuxcan_v2/include/canlib.h /usr/include/canlib.h | === cp ~/linuxcan_v2/include/canlib.h /usr/include/canlib.h === ---- == gtk+-2.0 == {{{#!cplusplus Searching for GTK... not found. I tried to execute pkg-config gtk+-2.0 and got this response: Package gtk+-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' found }}} === apt-get install libgtk2.0-* === |
Line 97: | Line 119: |
{{{#!cplusplus Searching for tcpd.h... found Searching for jpeglib.h... found Searching for zlib.h... found Searching for Wand... not found Searching for Java... found Searching for doxygen... found Searching for SWIG... found Searching for Python... found }}} |
|
Line 114: | Line 147: |
doxygen = apt-get install doxygen doxygen-doc doxygen-docs doxygen-gui | doxygen = apt-get install doxygen doxygen-doc doxygen-docs doxygen-gui |
Line 125: | Line 158: |
give configure the environment variable it wants "export JAVA_HOME=/usr" |
give configure the environment variable JAVA_HOME to find /usr/bin/javac === export JAVA_HOME=/usr === |
Line 298: | Line 331: |
So, let's ./configure again and remove java | So, let's ./configure again and skip java |
Line 357: | Line 390: |
=== ./configure --nojava successful === |
|
Line 361: | Line 396: |
Try make again. IPC requires g++ to be installed. * make[3]: g++: Command not found === apt-get install g++ === |
=== IPC requires g++ to be installed === |
Line 387: | Line 417: |
* make[3]: g++: Command not found === apt-get install g++ === |
|
Line 454: | Line 488: |
== SEGWAY == | == ./configure to skip SEGWAY == |
Line 517: | Line 551: |
==== ./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 ==== |
|
Line 652: | Line 691: |
'''camera''' joystick pantilt gps | *camera* joystick pantilt gps |
Line 655: | Line 694: |
Makefile with camera package removed: {{{#!cplusplus PACKAGES = ipc global param_daemon base laser robot simulator robotgui \ maptools mapeditor logger logtools hmap \ localize navigator vasco proccontrol \ joystick pantilt gps } |
|
Line 1021: | Line 1068: |
=== make successful === |
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:
*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
*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
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
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
* 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
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:
carmen (last edited 2011-05-19 22:33:24 by dhcp-43-43)