0

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.

jbx
  • 21,365
  • 18
  • 90
  • 144
  • The problem has nothing to do with visual studio. The problem is that you can't compile the POPF planner. – jbx Dec 05 '22 at 01:35
  • Yes I know, I only mentioned since my final goal was to use it with visual studio, whose pddl extension seemed to work well with popf – twistedshell Dec 05 '22 at 10:19
  • The vscode extension just calls an executable. It doesn't interact with POPF in any way. – jbx Dec 06 '22 at 08:26
  • I suggest you include the operating system and version you are using, together with the versions of dependencies. It might be more useful to log an issue on the popf github repository so the authors might see it. – jbx Dec 06 '22 at 08:55

2 Answers2

0

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.

jbx
  • 21,365
  • 18
  • 90
  • 144
0

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

B.Bocquet
  • 21
  • 5