Skip to content

Boost 1.81.0: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'? #115

Open

Description

@wally-mageia

When trying to build mapnik 3.1.0 with boost 1.81.0 having a patch from #112 and gcc 12.2.1 in Mageia Cauldron the build fails with:

c++ -o plugins/input/csv/csv_utils.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O2 -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/usr/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 plugins/input/csv/csv_utils.cpp
In file included from /usr/include/boost/phoenix/stl.hpp:14,
                 from /usr/include/boost/phoenix/phoenix.hpp:19,
                 from include/mapnik/wkt/wkt_factory.hpp:26,
                 from plugins/input/csv/csv_utils.cpp:27:
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:16:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   16 |         BOOST_PP_LOCAL_MACRO(1)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:19:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   19 |         BOOST_PP_LOCAL_MACRO(2)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:22:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   22 |         BOOST_PP_LOCAL_MACRO(3)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:25:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   25 |         BOOST_PP_LOCAL_MACRO(4)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:28:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   28 |         BOOST_PP_LOCAL_MACRO(5)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:31:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   31 |         BOOST_PP_LOCAL_MACRO(6)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:34:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   34 |         BOOST_PP_LOCAL_MACRO(7)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:37:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   37 |         BOOST_PP_LOCAL_MACRO(8)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:40:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   40 |         BOOST_PP_LOCAL_MACRO(9)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:43:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   43 |         BOOST_PP_LOCAL_MACRO(10)
      |         ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/geometry/core/config.hpp:16,
                 from /usr/include/boost/geometry/strategy/cartesian/side_by_triangle.hpp:27,
                 from /usr/include/boost/geometry/strategies/strategies.hpp:137,
                 from /usr/include/boost/geometry/geometry.hpp:57,
                 from /usr/include/boost/geometry.hpp:17,
                 from include/mapnik/geometry_adapters.hpp:38,
                 from include/mapnik/geometry_correct.hpp:27,
                 from plugins/input/csv/csv_utils.cpp:26:
/usr/include/boost/spirit/include/phoenix_function.hpp:12:1: note: '#pragma message: This header is deprecated. Use <boost/phoenix/function.hpp> instead.'
   12 | BOOST_HEADER_DEPRECATED("<boost/phoenix/function.hpp>")
      | ^~~~~~~~~~~~~~~~~~~~~~~

Activity

  1. wally-mageia commented on Dec 25, 2022

    @wally-mageia
    Author
  2. wally-mageia commented on Dec 25, 2022

    @wally-mageia
    Author

    Build continues with a workaround from #111 (comment): -DBOOST_PHOENIX_STL_TUPLE_H_.

  3. tomhughes commented on Feb 26, 2023

    @tomhughes

    The problem is that stl/tuple.hpp assumes that boost::phoenix::placeholders::argN is defined, and uses it to define uargN, but if BOOST_PHOENIX_NO_PREDEFINED_TERMINALS is set then that is not true.

  4. djowel commented on Feb 27, 2023

    @djowel
    Collaborator

    I think we need to fully revert this nagging issue. Any takers?

  5. LowLevelMahn commented on Dec 14, 2023

    @LowLevelMahn

    fixed with 1.84.0

  6. added a commit that references this issue on Dec 24, 2023
  7. added a commit that references this issue on May 25, 2024
  8. jwakely commented on Dec 9, 2025

    @jwakely

    fixed with 1.84.0

    Addressed by 8913607 although it has "FIX ME" so I guess that's why this issue is still open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions