[ros-users] error in compiling amcl_node.cpp

Ruben Smits ruben.smits at mech.kuleuven.be
Mon Apr 12 14:11:20 UTC 2010


On Monday 12 April 2010 15:45:13 hitesh dhiman wrote:
> Hi all,
> Im trying to compile the amcl node to run the navigation stack. However, i
> get the following error:
> 
> amcl_node.cpp:(.text+0x2ee2): undefined reference to `pf_get_cluster_stats'
>   amcl_node.cpp:(.text+0x3f65): undefined reference to `pf_update_resample'
>   CMakeFiles/amcl_node.dir/src/amcl_node.o: In function
> `AmclNode::~AmclNode()': amcl_node.cpp:(.text+0x7086): undefined reference
> to `map_free'
>   amcl_node.cpp:(.text+0x7195): undefined reference to `pf_free'
>   CMakeFiles/amcl_node.dir/src/amcl_node.o: In function
> `AmclNode::~AmclNode()': amcl_node.cpp:(.text+0x7676): undefined reference
> to `map_free'
>   amcl_node.cpp:(.text+0x7785): undefined reference to `pf_free'
>   CMakeFiles/amcl_node.dir/src/amcl_node.o: In function
> `AmclNode::requestMap()': amcl_node.cpp:(.text+0x7d1d): undefined
> reference to `map_alloc' CMakeFiles/amcl_node.dir/src/amcl_node.o: In
> function `AmclNode::AmclNode()': amcl_node.cpp:(.text+0x9b0c): undefined
> reference to `pf_alloc'
>   amcl_node.cpp:(.text+0x9b3b): undefined reference to `pf_vector_zero'
>   amcl_node.cpp:(.text+0x9b70): undefined reference to `pf_matrix_zero'
>   amcl_node.cpp:(.text+0x9d88): undefined reference to `pf_init'
>   amcl_node.cpp:(.text+0x9da8): undefined reference to
> `amcl::AMCLOdom::AMCLOdom()' amcl_node.cpp:(.text+0x9dea): undefined
> reference to `amcl::AMCLOdom::SetModelDiff(double, double, double,
> double)' amcl_node.cpp:(.text+0x9e17): undefined reference to
> `amcl::AMCLLaser::AMCLLaser(unsigned int, map_t*)'
> amcl_node.cpp:(.text+0x9e82): undefined reference to
> `amcl::AMCLLaser::SetModelBeam(double, double, double, double, double,
> double, double)' amcl_node.cpp:(.text+0xaa91): undefined reference to
> `amcl::AMCLLaser::SetModelLikelihoodField(double, double, double, double)'
> amcl_node.cpp:(.text+0xb118): undefined reference to
> `amcl::AMCLOdom::SetModelOmni(double, double, double, double, double)'
> CMakeFiles/amcl_node.dir/src/amcl_node.o: In function
> `AmclNode::AmclNode()': amcl_node.cpp:(.text+0xd7ad): undefined reference
> to `pf_alloc'
>   amcl_node.cpp:(.text+0xd7dc): undefined reference to `pf_vector_zero'
>   amcl_node.cpp:(.text+0xd811): undefined reference to `pf_matrix_zero'
>   amcl_node.cpp:(.text+0xda29): undefined reference to `pf_init'
>   amcl_node.cpp:(.text+0xda49): undefined reference to
> `amcl::AMCLOdom::AMCLOdom()' amcl_node.cpp:(.text+0xda8b): undefined
> reference to `amcl::AMCLOdom::SetModelDiff(double, double, double,
> double)' amcl_node.cpp:(.text+0xdab8): undefined reference to
> `amcl::AMCLLaser::AMCLLaser(unsigned int, map_t*)'
> amcl_node.cpp:(.text+0xdb23): undefined reference to
> `amcl::AMCLLaser::SetModelBeam(double, double, double, double, double,
> double, double)' amcl_node.cpp:(.text+0xe811): undefined reference to
> `amcl::AMCLLaser::SetModelLikelihoodField(double, double, double, double)'
> amcl_node.cpp:(.text+0xee98): undefined reference to
> `amcl::AMCLOdom::SetModelOmni(double, double, double, double, double)'
> collect2: ld returned 1 exit status
>   make[3]: *** [../amcl_node] Error 1
> 
> 
> I get these despite the fact that pf.h is included in the headers...
> Any suggestions would be helpful!

This is a linking error, if you do make VERBOSE=1 in the amcl package,
do you see the something like -lpf during the linking step?

Ruben

> --
> Regards,
> Hitesh Dhiman
> Electrical Engineering
> National University of Singapore



More information about the ros-users mailing list