Cannot compile PDDL 2.1 Temporal Planner POPF on Ubuntu 20.04.1 LTS

280 Views Asked by At

I need a temporal planner that supports durative-actions in PDDL, I was following this youtube guide, but I can't make the popf planner work. I'm getting this error when making popf:

/home/virginia/Scaricati/popf/src/VALfiles/TimSupport.cpp:1392:36:   required from here
/usr/include/c++/9/bits/stl_tree.h:1117:16: error: no type named ‘value_type’ in ‘struct std::iterator_traits<TIM::getConditionally<std::_Rb_tree_const_iterator<TIM::Property*> > >’
 1117 |  __enable_if_t<!__same_value_type<_InputIterator>::value>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/VALfiles/CMakeFiles/Inst.dir/build.make:154: src/VALfiles/CMakeFiles/Inst.dir/TimSupport.o] Errore 1
make[1]: *** [CMakeFiles/Makefile2:213: src/VALfiles/CMakeFiles/Inst.dir/all] Errore 2

I used these commands: mkdir build cd build cmake path_to_src_folder make

After the installation process I expected to have the file 'build/popf/popf-clp' as a binary of popf. Obviously, since I have an error, I don't have it.

I am using Ubuntu 20.04.1 LTS.

2

There are 2 best solutions below

1
jbx On BEST ANSWER

I think this is related to the fact that the VAL code is quite old and incompatible with the newer C++ libraries. Try putting it inside a Singularity file (very similar to Docker, but for some performance reasons AI Planning community prefers Singularity) which uses Ubuntu 16.04 as its base image. Then change your planner invocation scripts to run the singularity image instead (which you could then set in VSCode).

Refer to this very similar issue (SMTPlan and POPF use the same VAL code which is giving you problems): https://github.com/KCL-Planning/SMTPlan/issues/10#issuecomment-660515454

Further down there is a reference to the Singularity file I had used, but you would need to change it to include your POPF compilation steps instead of SMTPlan.

0
B.Bocquet On

I think I had the exact same error. And finally, I tried this fork version that compiled on "first try" on my Ubuntu 22.04 (after apt installed dependancies) https://github.com/DaniGarciaLopez/popf