Testserver build error ‘PP’ was not declared in this scope #6031

Open
opened 2024-01-21 00:28:44 +00:00 by AliasAlreadyTaken · 3 comments

I'm trying to compile 5.8.0 with YL modifications: https://gitea.your-land.de/your-land/minetest/src/branch/yl_stable-5

make[2]: *** [src/CMakeFiles/minetestserver.dir/build.make:286: src/CMakeFiles/minetestserver.dir/mapgen/mapgen_flat.cpp.o] Error 1
In file included from /home/mt/5.8.0/Minetest_test/src/mapblock.h:27,
                 from /home/mt/5.8.0/Minetest_test/src/mapgen/mapgen_singlenode.cpp:24:
/home/mt/5.8.0/Minetest_test/src/staticobject.h: In member function ‘void StaticObjectList::insert(irr::u16, const StaticObject&)’:
/home/mt/5.8.0/Minetest_test/src/staticobject.h:94:52: error: ‘PP’ was not declared in this scope
   94 |                                                 << PP(obj.pos) << ", \"...\")): "
      |                                                    ^~
In file included from /home/mt/5.8.0/Minetest_test/src/mapblock.h:27,
                 from /home/mt/5.8.0/Minetest_test/src/mapgen/mapgen_fractal.cpp:26:
/home/mt/5.8.0/Minetest_test/src/staticobject.h: In member function ‘void StaticObjectList::insert(irr::u16, const StaticObject&)’:
/home/mt/5.8.0/Minetest_test/src/staticobject.h:94:52: error: ‘PP’ was not declared in this scope
   94 |                                                 << PP(obj.pos) << ", \"...\")): "
      |                                                    ^~
make[2]: *** [src/CMakeFiles/minetestserver.dir/build.make:314: src/CMakeFiles/minetestserver.dir/mapgen/mapgen_singlenode.cpp.o] Error 1
make[2]: *** [src/CMakeFiles/minetestserver.dir/build.make:300: src/CMakeFiles/minetestserver.dir/mapgen/mapgen_fractal.cpp.o] Error 1
make[2]: Leaving directory '/home/mt/5.8.0/Minetest_test/build'
make[1]: *** [CMakeFiles/Makefile2:420: src/CMakeFiles/minetestserver.dir/all] Error 2
make[1]: Leaving directory '/home/mt/5.8.0/Minetest_test/build'
make: *** [Makefile:156: all] Error 2
make: Leaving directory '/home/mt/5.8.0/Minetest_test/build'

We added this due to entity issues, it worked nicely in 5.7.0, but most likely MT upstream changed something

c4ca8d53b6

removing PP(obj.pos) << allows me to compile at least :D

I'm trying to compile 5.8.0 with YL modifications: https://gitea.your-land.de/your-land/minetest/src/branch/yl_stable-5 ``` make[2]: *** [src/CMakeFiles/minetestserver.dir/build.make:286: src/CMakeFiles/minetestserver.dir/mapgen/mapgen_flat.cpp.o] Error 1 In file included from /home/mt/5.8.0/Minetest_test/src/mapblock.h:27, from /home/mt/5.8.0/Minetest_test/src/mapgen/mapgen_singlenode.cpp:24: /home/mt/5.8.0/Minetest_test/src/staticobject.h: In member function ‘void StaticObjectList::insert(irr::u16, const StaticObject&)’: /home/mt/5.8.0/Minetest_test/src/staticobject.h:94:52: error: ‘PP’ was not declared in this scope 94 | << PP(obj.pos) << ", \"...\")): " | ^~ In file included from /home/mt/5.8.0/Minetest_test/src/mapblock.h:27, from /home/mt/5.8.0/Minetest_test/src/mapgen/mapgen_fractal.cpp:26: /home/mt/5.8.0/Minetest_test/src/staticobject.h: In member function ‘void StaticObjectList::insert(irr::u16, const StaticObject&)’: /home/mt/5.8.0/Minetest_test/src/staticobject.h:94:52: error: ‘PP’ was not declared in this scope 94 | << PP(obj.pos) << ", \"...\")): " | ^~ make[2]: *** [src/CMakeFiles/minetestserver.dir/build.make:314: src/CMakeFiles/minetestserver.dir/mapgen/mapgen_singlenode.cpp.o] Error 1 make[2]: *** [src/CMakeFiles/minetestserver.dir/build.make:300: src/CMakeFiles/minetestserver.dir/mapgen/mapgen_fractal.cpp.o] Error 1 make[2]: Leaving directory '/home/mt/5.8.0/Minetest_test/build' make[1]: *** [CMakeFiles/Makefile2:420: src/CMakeFiles/minetestserver.dir/all] Error 2 make[1]: Leaving directory '/home/mt/5.8.0/Minetest_test/build' make: *** [Makefile:156: all] Error 2 make: Leaving directory '/home/mt/5.8.0/Minetest_test/build' ``` We added this due to entity issues, it worked nicely in 5.7.0, but most likely MT upstream changed *something* https://gitea.your-land.de/your-land/minetest/commit/c4ca8d53b6cede355e0b609508b44b44f163f210 removing `PP(obj.pos) <<` allows me to compile at least :D
AliasAlreadyTaken added the
3. source/engine
1. kind/bug
labels 2024-01-21 00:28:57 +00:00
Member

Maybe just replacing PP(obj.pos) with obj.pos could work?
Because I had similar issue inside a mod - they added _tostring method to positions, but in 5.7.0 it didn't work.
Maybe current MT version has proper method implemented in C++ too?

Maybe just replacing `PP(obj.pos)` with `obj.pos` could work? Because I had similar issue inside a mod - they added _tostring method to positions, but in 5.7.0 it didn't work. Maybe current MT version has proper method implemented in C++ too?

We added this due to entity issues, it worked nicely in 5.7.0, but most likely MT upstream changed something

https://github.com/minetest/minetest/pull/13630

> We added this due to entity issues, it worked nicely in 5.7.0, but most likely MT upstream changed *something* https://github.com/minetest/minetest/pull/13630
Member

Basically doing what PR found by Bla does:
adding
#include "irrlicht_changes/printing.h"
to staticobject.h
and changing PP(obj.pos) to just obj.pos makes it compile again.

Basically doing what PR found by Bla does: adding `#include "irrlicht_changes/printing.h"` to `staticobject.h` and changing `PP(obj.pos)` to just `obj.pos` makes it compile again.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#6031
No description provided.