compile error

I am using macOS on m1 chip, when I run the command "python setup.py install", it occurred  error:" calling a private constructor of class 'Eigen::Ref<Eigen::Matrix<double, -1, -1, 0>, 0, Eigen::OuterStride<-1>>'
return empty;"
what should I do to fix the bug?

I also got the same error. The attached picture shows the error message.

@TypeFloat
Do you know how to solve the problem? Thank you.

@TypeFloat
Do you know how to solve the problem? Thank you.

Sorry, I have not found a solution yet.

@TypeFloat @Hs-Cheng  have you found the solution?

@veerendrav
I have no solution, sorry about that.

It happened to me too on macOS.
Here's a simple solution that works:
Change those type definitions from Ref <MatrixXd> to Matrix <double, 2, Dynamic>
In directory evogym/simulator/SimulatorCPP/ edit files:

Environment.h
Environment.cpp
Sim.h
Sim.cpp

Hi all, thank you for your interest in EvoGym. I'm trying to recreate this issue, and suspect it has to with the cpp compiler/version of cpp being compiled.
For instance, if you are on windows, you will get this error if you attempt to build with the MS Visual Studios 2019 build tools. You will need to install the 2017 version as advised here.
Could someone please send me the full output of their python setup.py install so I can see what compiler is being used by cmake?

Hello.
I had the same error on MacOS with M1 chip and was able to resolve it.
Probably the reason is that the front-end compiler used by default for CMake on MacOS is the one shipped with XCode.
I was able to avoid this error by installing gcc from homebrew and specifying it as the compiler in setup.py.
(I apologize for any unnatural parts of the text, as I used a translation service to create the text.)

Sorry, one correction about the above message: you need to set g++ as the C++ compiler, but do not explicitly specify the C compiler; specifying gcc as the C compiler seems to cause a different error.
The specific procedure is

install gcc and g++ (from homebrew, for example).
add the following statement to line 51 of setup.py. (replace {path_of_g++} with the g++ installation path. in my case it is /opt/homebrew/bin/g++-12)

cmake_args += ["-DCMAKE_CXX_COMPILER={path_of_g++}"]

run python setup.py install.

For reference, I am attaching the full output of the python setup.py install before and after the problem was solved. (The user name and computer name are replaced with different strings.)

before
(evogym) me@mycomputer evogym % python setup.py install
running install
/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running bdist_egg
running egg_info
creating evogym.egg-info
writing evogym.egg-info/PKG-INFO
writing dependency_links to evogym.egg-info/dependency_links.txt
writing top-level names to evogym.egg-info/top_level.txt
writing manifest file 'evogym.egg-info/SOURCES.txt'
reading manifest file 'evogym.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'evogym.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-11.1-arm64/egg
running install_lib
running build_py
creating build
creating build/lib.macosx-11.1-arm64-cpython-38
creating build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/world.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/sim.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/viewer.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/__init__.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/utils.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
creating build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/climb.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/jump.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/__init__.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/traverse.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/manipulate.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/walk.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/flip.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/multi_goal.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/change_shape.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/balance.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/base.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
creating build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/DownStepper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/rigid_3x3.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Lifter-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Traverser-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Jumper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Balancer-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BidirectionalWalker-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/GapJumper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Thrower-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Balancer-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Climber-v2.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/UpStepper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Walker-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/CaveCrawler-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Climber-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/package.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Climber-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/rigid_2x2.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BridgeWalker-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Pusher-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Flipper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BeamSlider-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Carrier-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Hurdler-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/ObstacleTraverser-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/ObstacleTraverser-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/ShapeChange.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/rigid_1x1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/peg.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Carrier-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BeamToppler-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/PlatformJumper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Pusher-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
running build_ext
-- The C compiler identification is AppleClang <IP_ADDRESS>00029
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/OpenGL.framework
-- Found GLEW: /opt/homebrew/lib/cmake/glew/glew-config.cmake
-- pybind11 v2.9.0
-- Found PythonInterp: /Users/me/miniforge3/envs/evogym/bin/python (found version "3.8.13")
-- Found PythonLibs: /Users/me/miniforge3/envs/evogym/lib/libpython3.8.dylib
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Performing Test HAS_FLTO_THIN
-- Performing Test HAS_FLTO_THIN - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found Doxygen: /opt/homebrew/bin/doxygen (found version "1.9.5") found components: doxygen
-- Including Cocoa support
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/me/repos/research/evogym/build/temp.macosx-11.1-arm64-cpython-38
[  5%] Generating HTML documentation
[  5%] Building C object externals/CMakeFiles/glew.dir/glew/src/glew.c.o
[  7%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/init.c.o
[ 10%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/context.c.o
[ 12%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/input.c.o
[ 15%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/platform.c.o
[ 17%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/monitor.c.o
[ 20%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/vulkan.c.o
warning: Tag 'FORMULA_TRANSPARENT' at line 1522 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'CLASS_DIAGRAMS' at line 2193 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOT_FONTNAME' at line 2235 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOT_FONTSIZE' at line 2242 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOT_TRANSPARENT' at line 2466 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
[ 20%] Built target docs
[ 22%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/window.c.o
[ 25%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/egl_context.c.o
[ 27%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.o
[ 30%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_init.c.o
[ 32%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_monitor.c.o
[ 35%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_window.c.o
[ 37%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_joystick.c.o
[ 40%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_time.c.o
[ 42%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/posix_module.c.o
[ 45%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/posix_thread.c.o
[ 47%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_init.m.o
[ 50%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_joystick.m.o
[ 52%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_monitor.m.o
[ 55%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_window.m.o
[ 57%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/nsgl_context.m.o
/Users/me/repos/research/evogym/evogym/simulator/externals/glfw/src/cocoa_window.m:366:62: warning: 'kUTTypeURL' is deprecated: first deprecated in macOS 12.0 - Use UTTypeURL instead. [-Wdeprecated-declarations]
        [self registerForDraggedTypes:@[(__bridge NSString*) kUTTypeURL]];
                                                             ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/UTCoreTypes.h:210:26: note: 'kUTTypeURL' has been explicitly marked deprecated here
extern const CFStringRef kUTTypeURL                                  API_DEPRECATED("Use UTTypeURL instead.", ios(3.0, 15.0), macos(10.4, 12.0), tvos(9.0, 15.0), watchos(1.0, 8.0));
                         ^
1 warning generated.
[ 60%] Linking C static library libglfw3.a
[ 60%] Built target glfw
[ 62%] Linking C static library libglew.a
[ 62%] Built target glew
[ 67%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Boxel.cpp.o
[ 67%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Camera.cpp.o
[ 70%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/PythonBindings.cpp.o
[ 72%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/BBTreeNode.cpp.o
[ 75%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/ObjectCreator.cpp.o
[ 77%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Environment.cpp.o
[ 80%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Edge.cpp.o
[ 82%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Interface.cpp.o
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:6:26: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        point_top_right_index = NULL;
                              ~ ^~~~
                                0
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:7:25: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        point_top_left_index = NULL;
                             ~ ^~~~
                               0
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:8:26: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        point_bot_right_index = NULL;
                              ~ ^~~~
                                0
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:9:25: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        point_bot_left_index = NULL;
                             ~ ^~~~
                               0
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:11:19: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        edge_top_index = NULL;
                       ~ ^~~~
                         0
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:12:19: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        edge_bot_index = NULL;
                       ~ ^~~~
                         0
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:13:20: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        edge_left_index = NULL;
                        ~ ^~~~
                          0
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:14:21: warning: implicit conversion of NULL constant to 'int' [-Wnull-conversion]
        edge_right_index = NULL;
                         ~ ^~~~
                           0
[ 85%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/PhysicsEngine.cpp.o
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/PythonBindings.cpp:3:
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Interface.h:13:
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.h:9:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive [-Wextra-tokens]
#include "SimObject.h";
                      ^
                      //
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Environment.cpp:271:10: error: calling a private constructor of class 'Eigen::Ref<Eigen::Matrix<double, -1, -1, 0>, 0, Eigen::OuterStride<-1>>'
                return empty;
                       ^
/Users/me/repos/research/evogym/evogym/simulator/externals/eigen/Eigen/src/Core/Ref.h:299:30: note: declared private here
    EIGEN_DEVICE_FUNC inline Ref(const PlainObjectBase<Derived>& expr,
                             ^
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Environment.cpp:282:10: error: calling a private constructor of class 'Eigen::Ref<Eigen::Matrix<double, -1, -1, 0>, 0, Eigen::OuterStride<-1>>'
                return empty;
                       ^
/Users/me/repos/research/evogym/evogym/simulator/externals/eigen/Eigen/src/Core/Ref.h:299:30: note: declared private here
    EIGEN_DEVICE_FUNC inline Ref(const PlainObjectBase<Derived>& expr,
                             ^
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Environment.cpp:294:10: error: calling a private constructor of class 'Eigen::Ref<Eigen::Matrix<double, -1, -1, 0>, 0, Eigen::OuterStride<-1>>'
                return empty;
                       ^
/Users/me/repos/research/evogym/evogym/simulator/externals/eigen/Eigen/src/Core/Ref.h:299:30: note: declared private here
    EIGEN_DEVICE_FUNC inline Ref(const PlainObjectBase<Derived>& expr,
                             ^
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Environment.cpp:309:10: error: calling a private constructor of class 'Eigen::Ref<Eigen::Matrix<double, -1, -1, 0>, 0, Eigen::OuterStride<-1>>'
                return empty;
                       ^
/Users/me/repos/research/evogym/evogym/simulator/externals/eigen/Eigen/src/Core/Ref.h:299:30: note: declared private here
    EIGEN_DEVICE_FUNC inline Ref(const PlainObjectBase<Derived>& expr,
                             ^
[ 87%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Robot.cpp.o
[ 90%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Sim.cpp.o
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:1:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive [-Wextra-tokens]
#include "SimObject.h";
                      ^
                      //
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Interface.cpp:1:
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Interface.h:13:
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.h:9:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive [-Wextra-tokens]
#include "SimObject.h";
                      ^
                      //
8 warnings generated.
[ 92%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/SimObject.cpp.o
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:334:49: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (top != NULL && top->point_bot_left_index != NULL)
                                           ~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:336:52: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (left != NULL && left->point_top_right_index != NULL)
                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:338:60: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (top_left != NULL && top_left->point_bot_right_index != NULL)
                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:340:38: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->point_top_left_index == NULL)
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:349:50: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (top != NULL && top->point_bot_right_index != NULL)
                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:351:53: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (right != NULL && right->point_top_left_index != NULL)
                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:353:61: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (top_right != NULL && top_right->point_bot_left_index != NULL)
                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:355:39: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->point_top_right_index == NULL)
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:364:49: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (bot != NULL && bot->point_top_left_index != NULL)
                                           ~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:366:52: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (left != NULL && left->point_bot_right_index != NULL)
                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:368:60: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (bot_left != NULL && bot_left->point_top_right_index != NULL)
                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:370:38: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->point_bot_left_index == NULL)
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:380:50: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (bot != NULL && bot->point_top_right_index != NULL)
                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:382:53: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (right != NULL && right->point_bot_left_index != NULL)
                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:384:61: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (bot_right != NULL && bot_right->point_top_left_index != NULL)
                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:386:39: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->point_bot_right_index == NULL)
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:398:43: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (top != NULL && top->edge_bot_index != NULL)
                                           ~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:400:32: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->edge_top_index == NULL) {
                            ~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:405:43: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (bot != NULL && bot->edge_top_index != NULL)
                                           ~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:407:32: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->edge_bot_index == NULL) {
                            ~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:412:47: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (left != NULL && left->edge_right_index != NULL)
                                            ~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:414:33: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->edge_left_index == NULL) {
                            ~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:419:48: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (right != NULL && right->edge_left_index != NULL)
                                             ~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:421:34: warning: comparison between NULL and non-pointer ('int' and NULL) [-Wnull-arithmetic]
                        if (current->edge_right_index == NULL) {
                            ~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
4 errors generated.
make[2]: *** [SimulatorCPP/CMakeFiles/simulator_cpp.dir/Environment.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 warning generated.
25 warnings generated.
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.cpp:1:
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.h:9:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive [-Wextra-tokens]
#include "SimObject.h";
                      ^
                      //
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.cpp:19:28: warning: assigning field to itself [-Wself-assign-field]
        Sim::is_rendering_enabled = is_rendering_enabled;
                                  ^
2 warnings generated.
1 warning generated.
make[1]: *** [SimulatorCPP/CMakeFiles/simulator_cpp.dir/all] Error 2
make: *** [all] Error 2
Traceback (most recent call last):
  File "setup.py", line 61, in <module>
    setup(
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
    self.run_command(cmd)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/dist.py", line 1208, in run_command
    super().run_command(command)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/install.py", line 74, in run
    self.do_egg_install()
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/install.py", line 123, in do_egg_install
    self.run_command('bdist_egg')
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/dist.py", line 1208, in run_command
    super().run_command(command)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 165, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 151, in call_command
    self.run_command(cmdname)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/dist.py", line 1208, in run_command
    super().run_command(command)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/command/install_lib.py", line 112, in build
    self.run_command('build_ext')
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/dist.py", line 1208, in run_command
    super().run_command(command)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "setup.py", line 32, in run
    self.build_extension(ext)
  File "setup.py", line 58, in build_extension
    subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp)
  File "/Users/me/miniforge3/envs/evogym/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j8']' returned non-zero exit status 2.

after
(evogym) me@mycomputer evogym % python setup.py install
running install
/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running bdist_egg
running egg_info
creating evogym.egg-info
writing evogym.egg-info/PKG-INFO
writing dependency_links to evogym.egg-info/dependency_links.txt
writing top-level names to evogym.egg-info/top_level.txt
writing manifest file 'evogym.egg-info/SOURCES.txt'
reading manifest file 'evogym.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'evogym.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-11.1-arm64/egg
running install_lib
running build_py
creating build
creating build/lib.macosx-11.1-arm64-cpython-38
creating build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/world.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/sim.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/viewer.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/__init__.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
copying evogym/utils.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym
creating build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/climb.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/jump.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/__init__.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/traverse.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/manipulate.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/walk.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/flip.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/multi_goal.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/change_shape.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/balance.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
copying evogym/envs/base.py -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs
creating build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/DownStepper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/rigid_3x3.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Lifter-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Traverser-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Jumper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Balancer-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BidirectionalWalker-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/GapJumper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Thrower-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Balancer-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Climber-v2.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/UpStepper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Walker-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/CaveCrawler-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Climber-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/package.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Climber-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/rigid_2x2.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BridgeWalker-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Pusher-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Flipper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BeamSlider-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Carrier-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Hurdler-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/ObstacleTraverser-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/ObstacleTraverser-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/ShapeChange.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/rigid_1x1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/peg.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Carrier-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/BeamToppler-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/PlatformJumper-v0.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
copying evogym/envs/sim_files/Pusher-v1.json -> build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files
running build_ext
-- The C compiler identification is AppleClang <IP_ADDRESS>00029
-- The CXX compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/homebrew/bin/g++-12 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/OpenGL.framework
-- Found GLEW: /opt/homebrew/lib/cmake/glew/glew-config.cmake
-- pybind11 v2.9.0
-- Found PythonInterp: /Users/me/miniforge3/envs/evogym/bin/python (found version "3.8.13")
-- Found PythonLibs: /Users/me/miniforge3/envs/evogym/lib/libpython3.8.dylib
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Failed
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found Doxygen: /opt/homebrew/bin/doxygen (found version "1.9.5") found components: doxygen
-- Including Cocoa support
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/me/repos/research/evogym/build/temp.macosx-11.1-arm64-cpython-38
[  2%] Building C object externals/CMakeFiles/glew.dir/glew/src/glew.c.o
[  5%] Generating HTML documentation
[  7%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/monitor.c.o
[ 12%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/platform.c.o
[ 12%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/context.c.o
[ 15%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/init.c.o
[ 17%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/vulkan.c.o
[ 20%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/input.c.o
warning: Tag 'FORMULA_TRANSPARENT' at line 1522 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'CLASS_DIAGRAMS' at line 2193 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOT_FONTNAME' at line 2235 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOT_FONTSIZE' at line 2242 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'DOT_TRANSPARENT' at line 2466 of file 'Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
[ 20%] Built target docs
[ 22%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/window.c.o
[ 25%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/egl_context.c.o
[ 27%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.o
[ 30%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_init.c.o
[ 32%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_monitor.c.o
[ 35%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_window.c.o
[ 37%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/null_joystick.c.o
[ 40%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_time.c.o
[ 42%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/posix_module.c.o
[ 45%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/posix_thread.c.o
[ 47%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_init.m.o
[ 50%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_joystick.m.o
[ 52%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_monitor.m.o
[ 55%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/cocoa_window.m.o
[ 57%] Building C object externals/glfw/src/CMakeFiles/glfw.dir/nsgl_context.m.o
/Users/me/repos/research/evogym/evogym/simulator/externals/glfw/src/cocoa_window.m:366:62: warning: 'kUTTypeURL' is deprecated: first deprecated in macOS 12.0 - Use UTTypeURL instead. [-Wdeprecated-declarations]
        [self registerForDraggedTypes:@[(__bridge NSString*) kUTTypeURL]];
                                                             ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/UTCoreTypes.h:210:26: note: 'kUTTypeURL' has been explicitly marked deprecated here
extern const CFStringRef kUTTypeURL                                  API_DEPRECATED("Use UTTypeURL instead.", ios(3.0, 15.0), macos(10.4, 12.0), tvos(9.0, 15.0), watchos(1.0, 8.0));
                         ^
1 warning generated.
[ 60%] Linking C static library libglfw3.a
[ 60%] Built target glfw
[ 62%] Linking C static library libglew.a
[ 62%] Built target glew
[ 65%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/PythonBindings.cpp.o
[ 70%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Camera.cpp.o
[ 70%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Boxel.cpp.o
[ 72%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/ObjectCreator.cpp.o
[ 75%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Interface.cpp.o
[ 77%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Environment.cpp.o
[ 80%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/BBTreeNode.cpp.o
[ 82%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Edge.cpp.o
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:1:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive
    9 | #include "SimObject.h";
      |                       ^
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.h:9,
                 from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Interface.h:13,
                 from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Interface.cpp:1:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive
    9 | #include "SimObject.h";
      |                       ^
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.h:9,
                 from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Interface.h:13,
                 from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/PythonBindings.cpp:3:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive
    9 | #include "SimObject.h";
      |                       ^
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp: In constructor 'Boxel::Boxel(int, int)':
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:6:33: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
    6 |         point_top_right_index = NULL;
      |                                 ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:7:32: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
    7 |         point_top_left_index = NULL;
      |                                ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:8:33: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
    8 |         point_bot_right_index = NULL;
      |                                 ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:9:32: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
    9 |         point_bot_left_index = NULL;
      |                                ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:11:26: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
   11 |         edge_top_index = NULL;
      |                          ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:12:26: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
   12 |         edge_bot_index = NULL;
      |                          ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:13:27: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
   13 |         edge_left_index = NULL;
      |                           ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Boxel.cpp:14:28: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
   14 |         edge_right_index = NULL;
      |                            ^~~~
[ 85%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/PhysicsEngine.cpp.o
[ 87%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Robot.cpp.o
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp: In member function 'bool ObjectCreator::read_object_from_array(std::string, Eigen::Matrix<double, 1, -1>, Eigen::Matrix<double, 2, -1>, Eigen::Vector2d, Eigen::Vector2d, bool)':
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:334:73: warning: NULL used in arithmetic [-Wpointer-arith]
  334 |                         if (top != NULL && top->point_bot_left_index != NULL)
      |                                                                         ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:336:76: warning: NULL used in arithmetic [-Wpointer-arith]
  336 |                         if (left != NULL && left->point_top_right_index != NULL)
      |                                                                            ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:338:84: warning: NULL used in arithmetic [-Wpointer-arith]
  338 |                         if (top_left != NULL && top_left->point_bot_right_index != NULL)
      |                                                                                ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:340:62: warning: NULL used in arithmetic [-Wpointer-arith]
  340 |                         if (current->point_top_left_index == NULL)
      |                                                              ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:349:74: warning: NULL used in arithmetic [-Wpointer-arith]
  349 |                         if (top != NULL && top->point_bot_right_index != NULL)
      |                                                                          ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:351:77: warning: NULL used in arithmetic [-Wpointer-arith]
  351 |                         if (right != NULL && right->point_top_left_index != NULL)
      |                                                                             ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:353:85: warning: NULL used in arithmetic [-Wpointer-arith]
  353 |                         if (top_right != NULL && top_right->point_bot_left_index != NULL)
      |                                                                                ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:355:63: warning: NULL used in arithmetic [-Wpointer-arith]
  355 |                         if (current->point_top_right_index == NULL)
      |                                                               ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:364:73: warning: NULL used in arithmetic [-Wpointer-arith]
  364 |                         if (bot != NULL && bot->point_top_left_index != NULL)
      |                                                                         ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:366:76: warning: NULL used in arithmetic [-Wpointer-arith]
  366 |                         if (left != NULL && left->point_bot_right_index != NULL)
      |                                                                            ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:368:84: warning: NULL used in arithmetic [-Wpointer-arith]
  368 |                         if (bot_left != NULL && bot_left->point_top_right_index != NULL)
      |                                                                                ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:370:62: warning: NULL used in arithmetic [-Wpointer-arith]
  370 |                         if (current->point_bot_left_index == NULL)
      |                                                              ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:380:74: warning: NULL used in arithmetic [-Wpointer-arith]
  380 |                         if (bot != NULL && bot->point_top_right_index != NULL)
      |                                                                          ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:382:77: warning: NULL used in arithmetic [-Wpointer-arith]
  382 |                         if (right != NULL && right->point_bot_left_index != NULL)
      |                                                                             ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:384:85: warning: NULL used in arithmetic [-Wpointer-arith]
  384 |                         if (bot_right != NULL && bot_right->point_top_left_index != NULL)
      |                                                                                ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:386:63: warning: NULL used in arithmetic [-Wpointer-arith]
  386 |                         if (current->point_bot_right_index == NULL)
      |                                                               ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:398:67: warning: NULL used in arithmetic [-Wpointer-arith]
  398 |                         if (top != NULL && top->edge_bot_index != NULL)
      |                                                                   ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:400:56: warning: NULL used in arithmetic [-Wpointer-arith]
  400 |                         if (current->edge_top_index == NULL) {
      |                                                        ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:405:67: warning: NULL used in arithmetic [-Wpointer-arith]
  405 |                         if (bot != NULL && bot->edge_top_index != NULL)
      |                                                                   ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:407:56: warning: NULL used in arithmetic [-Wpointer-arith]
  407 |                         if (current->edge_bot_index == NULL) {
      |                                                        ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:412:71: warning: NULL used in arithmetic [-Wpointer-arith]
  412 |                         if (left != NULL && left->edge_right_index != NULL)
      |                                                                       ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:414:57: warning: NULL used in arithmetic [-Wpointer-arith]
  414 |                         if (current->edge_left_index == NULL) {
      |                                                         ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:419:72: warning: NULL used in arithmetic [-Wpointer-arith]
  419 |                         if (right != NULL && right->edge_left_index != NULL)
      |                                                                        ^~~~
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.cpp:421:58: warning: NULL used in arithmetic [-Wpointer-arith]
  421 |                         if (current->edge_right_index == NULL) {
      |                                                          ^~~~
[ 90%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Sim.cpp.o
[ 92%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/SimObject.cpp.o
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.h:9,
                 from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.cpp:1:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive
    9 | #include "SimObject.h";
      |                       ^
[ 95%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/Snapshot.cpp.o
[ 97%] Building CXX object SimulatorCPP/CMakeFiles/simulator_cpp.dir/main.cpp.o
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/main.cpp:1:18: warning: extra tokens at end of #include directive
    1 | #include "main.h";
      |                  ^
In file included from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/Sim.h:9,
                 from /Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/main.cpp:11:
/Users/me/repos/research/evogym/evogym/simulator/SimulatorCPP/ObjectCreator.h:9:23: warning: extra tokens at end of #include directive
    9 | #include "SimObject.h";
      |                       ^
[100%] Linking CXX shared module /Users/me/repos/research/evogym/build/lib.macosx-11.1-arm64-cpython-38/evogym/simulator_cpp.cpython-38-darwin.so
/opt/homebrew/bin/g++-12 -DVERSION_INFO=\"1.0.0\" -O3 -DNDEBUG -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -mmacosx-version-min=13.0 -bundle -Wl,-headerpad_max_install_names -Wl,-undefined,dynamic_lookup -o /Users/me/repos/research/evogym/build/lib.macosx-11.1-arm64-cpython-38/evogym/simulator_cpp.cpython-38-darwin.so CMakeFiles/simulator_cpp.dir/PythonBindings.cpp.o CMakeFiles/simulator_cpp.dir/BBTreeNode.cpp.o CMakeFiles/simulator_cpp.dir/Boxel.cpp.o CMakeFiles/simulator_cpp.dir/Camera.cpp.o CMakeFiles/simulator_cpp.dir/Edge.cpp.o CMakeFiles/simulator_cpp.dir/Environment.cpp.o CMakeFiles/simulator_cpp.dir/Interface.cpp.o CMakeFiles/simulator_cpp.dir/ObjectCreator.cpp.o CMakeFiles/simulator_cpp.dir/PhysicsEngine.cpp.o CMakeFiles/simulator_cpp.dir/Robot.cpp.o CMakeFiles/simulator_cpp.dir/Sim.cpp.o CMakeFiles/simulator_cpp.dir/SimObject.cpp.o CMakeFiles/simulator_cpp.dir/Snapshot.cpp.o CMakeFiles/simulator_cpp.dir/main.cpp.o  ../externals/libglew.a ../externals/glfw/src/libglfw3.a -Wl,-framework,OpenGL -framework Cocoa -framework IOKit -framework CoreFoundation -ldl
ld: warning: -undefined dynamic_lookup may not work with chained fixups
[100%] Built target simulator_cpp
creating build/bdist.macosx-11.1-arm64
creating build/bdist.macosx-11.1-arm64/egg
creating build/bdist.macosx-11.1-arm64/egg/evogym
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/world.py -> build/bdist.macosx-11.1-arm64/egg/evogym
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/sim.py -> build/bdist.macosx-11.1-arm64/egg/evogym
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/viewer.py -> build/bdist.macosx-11.1-arm64/egg/evogym
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/__init__.py -> build/bdist.macosx-11.1-arm64/egg/evogym
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/utils.py -> build/bdist.macosx-11.1-arm64/egg/evogym
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/simulator_cpp.cpython-38-darwin.so -> build/bdist.macosx-11.1-arm64/egg/evogym
creating build/bdist.macosx-11.1-arm64/egg/evogym/envs
creating build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/DownStepper-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/rigid_3x3.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Lifter-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Traverser-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Jumper-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Balancer-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/BidirectionalWalker-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/GapJumper-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Thrower-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Balancer-v1.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Climber-v2.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/UpStepper-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Walker-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/CaveCrawler-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Climber-v1.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/package.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Climber-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/rigid_2x2.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/BridgeWalker-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Pusher-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Flipper-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/BeamSlider-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Carrier-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Hurdler-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/ObstacleTraverser-v1.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/ObstacleTraverser-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/ShapeChange.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/rigid_1x1.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/peg.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Carrier-v1.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/BeamToppler-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/PlatformJumper-v0.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/sim_files/Pusher-v1.json -> build/bdist.macosx-11.1-arm64/egg/evogym/envs/sim_files
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/climb.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/jump.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/__init__.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/traverse.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/manipulate.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/walk.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/flip.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/multi_goal.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/change_shape.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/balance.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
copying build/lib.macosx-11.1-arm64-cpython-38/evogym/envs/base.py -> build/bdist.macosx-11.1-arm64/egg/evogym/envs
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/world.py to world.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/sim.py to sim.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/viewer.py to viewer.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/utils.py to utils.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/climb.py to climb.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/jump.py to jump.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/traverse.py to traverse.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/manipulate.py to manipulate.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/walk.py to walk.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/flip.py to flip.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/multi_goal.py to multi_goal.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/change_shape.py to change_shape.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/balance.py to balance.cpython-38.pyc
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/envs/base.py to base.cpython-38.pyc
creating stub loader for evogym/simulator_cpp.cpython-38-darwin.so
byte-compiling build/bdist.macosx-11.1-arm64/egg/evogym/simulator_cpp.py to simulator_cpp.cpython-38.pyc
creating build/bdist.macosx-11.1-arm64/egg/EGG-INFO
copying evogym.egg-info/PKG-INFO -> build/bdist.macosx-11.1-arm64/egg/EGG-INFO
copying evogym.egg-info/SOURCES.txt -> build/bdist.macosx-11.1-arm64/egg/EGG-INFO
copying evogym.egg-info/dependency_links.txt -> build/bdist.macosx-11.1-arm64/egg/EGG-INFO
copying evogym.egg-info/not-zip-safe -> build/bdist.macosx-11.1-arm64/egg/EGG-INFO
copying evogym.egg-info/top_level.txt -> build/bdist.macosx-11.1-arm64/egg/EGG-INFO
writing build/bdist.macosx-11.1-arm64/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/evogym-1.0.0-py3.8-macosx-11.1-arm64.egg' and adding 'build/bdist.macosx-11.1-arm64/egg' to it
removing 'build/bdist.macosx-11.1-arm64/egg' (and everything under it)
Processing evogym-1.0.0-py3.8-macosx-11.1-arm64.egg
creating /Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/evogym-1.0.0-py3.8-macosx-11.1-arm64.egg
Extracting evogym-1.0.0-py3.8-macosx-11.1-arm64.egg to /Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages
Adding evogym 1.0.0 to easy-install.pth file

Installed /Users/me/miniforge3/envs/evogym/lib/python3.8/site-packages/evogym-1.0.0-py3.8-macosx-11.1-arm64.egg
Processing dependencies for evogym==1.0.0
Searching for evogym==1.0.0
Reading https://pypi.org/simple/evogym/
Couldn't find index page for 'evogym' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
No local packages or working download links found for evogym==1.0.0
error: Could not find suitable distribution for Requirement.parse('evogym==1.0.0')

(I apologize for any unnatural parts of the text, as I used a translation service to create the text.)

Hi,  I had the same errors too.
I think about evogym install process probrems has 2 factors(at least on macOS).

type error
The first one, This simulator has inconsistent type definitions maybe.
The line 271 of evogym/simulator/SimulatorCPP/Environment.cpp: There is a discrepancy in the type declaration in Eigen::Ref<Eigen::Matrix<double, -1, -1, 0>, 0, Eigen::OuterStride<-1>> This topic has already been mentioned here.
https://github.com/EvolutionGym/evogym/issues/15#issuecomment-1424633656
Actually I ran into a compilation error, fixed it as per his advice. And I was able to fix the compilation error.
https://github.com/TakesxiSximada/evogym/commit/58c26593cf511fe3d8d4606b20180a8ddc6396b0
I'm not sure if this fix is reasonable, But at least I know that can work around the type error.

CMake version
The second factor is CMake version.
The latest version of CMake is 3.25.3, but the build fails evogym with this version. FindGLFW.cmake packaged with CMake seems to be the cause of the problem.
I've tried to build with some versions of CMake.
| cmake version | Original source | Patched source |
|---------------+-----------------+----------------|
|        3.22.2 | x               | o              |
|        3.24.2 | x               | o              |
|        3.25.1 | x               | x              |
|        3.25.3 | x               | x              |

(*) "Patched source" means https://github.com/TakesxiSximada/evogym/commit/58c26593cf511fe3d8d4606b20180a8ddc6396b0 has been applied.


[New Hack] AzureADand AD B2B - What The Hacks

In this what the hack, participants will learn what Azure Active Directory (AAD) is and how to use this service to implement modern authentication in their applications.

Closing this PR as a new one will be created when submitting an updated version from the WTH template generator.


placeholderFillStyle flickers while tile is fading in

See https://github.com/openseadragon/openseadragon/pull/635#issuecomment-93950505

Fixed by #727


Flags to customize some action when saving the image (To file or Bitmap)

It's retrocompatible so no changes needed if you don't want that customization
Easy to add more customize tags on other lines.
That seems to fix this Issue and this PR

I was thinking to make SaveOption a builder pattern method which saves multiple options for saving and it will be also easy to customize and we can add more properties in future releases. Whats your take @Sulfkain?

The code I upload, it's able to get all the options added (right now just 2 but easy expandable).
You just need to pass them with an | (or).
Something like
                 mPhotoEditor.saveAsFile(file.getAbsolutePath(), new PhotoEditor.OnSaveListener()[...], SaveOptions.DISABLE_CLEAR_ALL_VIEWS | SaveOptions.DISABLE_OPTIMIZATION_TRANSPARENCY)

That patter is the same as on many functions on Android SDK.
The builder pattern will be clearer, but I don't have too many time to dedicate on this lib.
If you prefer to improve and do a builder pattern, feel free to modify tha code ;).


Adding the protocol to the URL causes the help page to appear

Hello,
Thanks for this! I am plagued by cors issues all the time.
So it's handy to be able to specify the protocol since I would like to have mixed content (http and https) being delivered to my https page.
While adding the protocol in your demo seems to work great I'm having issues.
These are the 2 tests that I'm hoping will eventually both work:
https://proxy.biopama.org/www.google.com (works)
https://proxy.biopama.org/https://www.google.com (gives the help page)

This is an issue of your server configuration. You apparently have another server in front of the CORS Anywhere proxy, which normalizes the URL.
In 0.4.1 and before, the proxy would attempt to connect to the invalid host, and end up with errors like Not found because of proxy error: Error: getaddrinfo ENOTFOUND (e.g. #167 and many other reported issues on this issue tracker). In #239, you mentioned the use of Apache. See #201 for instructions on properly configuring Apache to direct requests to CORS Anywhere.
As of 0.4.2, the URL validation is more strict, and invalid URLs are mapped to the homepage instead of an error page.
Since this is a common error and a very frequently asked question from people who try to self-host CORS Anywhere, I should probably consider catching the special case and show a specialized error page instead...

I changed the code to spit out a more descriptive error message when this happens.


Dictionary app in python

Hi!
I want to create a dictionary application in python.
Please assign me this issue

Hi! I want to create a dictionary application in python. Please assign me this issue

👍


final.py: Unused imports

Pyflakes error report =>
./final.py:3: 'gensim.parsing.preprocessing.STOPWORDS' imported but unused
./final.py:4: 'gensim.utils.simple_preprocess' imported but unused
./final.py:6: 'nltk' imported but unused

how come the PyUnusedCodeBear was not able to find these imports in the latest commit?
https://github.com/coala/corobo/commit/18a5b33aac03dfdedc977356c4335832e7ca501f

Even this =>
filters.py:1: 're' imported but unused

It seems to be an issue with autoflake. It is unable to detect these imports.

please assign me this issue.

Ask on coala group on gitter for assignment.

apparently PyUnusedCodeBear fails a lot. I created a few issue about it last month or so


Add some margin bottom in the SIGNUP AS text

I will like to work on this please assign it to me.

Hi, Is this issue still open? I will like to work on this, please assign it to me.


BigValue url prop

Description

Checklist

[x] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset
[x] I have added to the docs where applicable

Added url prop to BigValue to link to another page

on hover

Updated prop from url to href to match other docs
OLD:

UPDATED:

I feel pretty strongly that we should use url instead of href when we refer to links, as i don't think href is a known term among data analysts who have not already got some experience in web development

@hughess sounds good, reverting to url.

Updated Docs

resolves #1889

Sorry I hadn’t noticed the context of this feature when I looked - that was just my knee jerk reaction to href…
for consistency with other components which have click through features, I think the prop should be called “link” and the big value itself should become clickable instead of adding the details underneath.
to show it’s clickable I would do a change in color on hover with the pointer cursor

@hughess Sounds good, one potential issue with making the entire BigValue clickable is we lose access to the small graph in BigValue. There is probably a work around, just want to ask if keeping the details button is a deal breaker?

I think it is a nice add-on in addition to all the other add-ons that can be attached to BigValue.  @ItsMeBrianD thoughts?
BigValue Clickable(wrapped in a tag): can't access small graph inside

Current BigValue in docs

with your permission I would also like to standardize the "link' prop in BigLink and LinkButton

I would probably only wrap the <Value/> component with the clickable element. To match with our other viz components, the user experience is to click the thing you want more info on - so if you saw 120 orders in a big value, you'd be able to click the 120 to see which ones they are (or get taken to a page that has more info for you)

I like the change!
This is ready to merge if you like it @hughess
LGTM
value on hover:

still access to other viz components

p.s
I'm wondering if we should add wrappable anchor wrappable options for the other viz components. It would be a pretty verbose prop library for each viz component

@ItsMeBrianD Not too sure why Netlify tests are failing.


Add Altimeter trait and default implementaiton

This creates a trait for Altimeter sensors, providing altitude readings in meters. There is also a default implementation specified for any type that implements Barometer. I also fixed some documentation that implied some functions had different return types than what they really do.

Thanks, we'll probably be moving some of these traits out of this library into separate crates at a point, but I see no reason not to merge this until I get around to making those other changes.  See https://github.com/rust-embedded/rust-i2cdev/pull/28


perl-xml-parser needs to be rebuilt?

After you try to use perl-xml-parser you get this error message:
$ perl -e "require XML::Parser"
Can't load '/usr/lib/perl5/vendor_perl/auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: No such file or directory at /usr/lib/perl5/core_perl/DynaLoader.pm line 193.
 at /usr/lib/perl5/vendor_perl/XML/Parser.pm line 18.
Compilation failed in require at /usr/lib/perl5/vendor_perl/XML/Parser.pm line 18.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/XML/Parser.pm line 22.

After rebuilding locally on the machine and pacman -U ... it works just fine.
Maybe it needs to be rebuilt in the repo?

i cannot even rebuild it, perl-5.24 seems to be unable to locate its own dll. Reinstalling does not work either :/

Fixed it, i had to rebuild all the perl modules though, it seems the change to cygwin ssp also broke a few other packages besides the ones discovered earlier.
I also discovered what might be a bug in one of the perl patches ->
majmin="msys-perl5_${patchlevel}${subversion}.${so}"
should probably be
majmin="msys-perl5${patchlevel}${subversion}.${so}"
since there is no underscore in the dll name.
I tried it with this change and it works fine with all perl modules so it might be correct, but correct me if im wrong.

With the latest perl it is working fine.


ERROR: unsatisfiable constraints:

This error comes up when trying to run bootcamp in production using docker.
openssl-dev-1.0.2o-r0:     conflicts:                libressl-dev-2.6.5-r0[pc:libcrypto=1.0.2o]                libressl-dev-2.6.5-r0[pc:libssl=1.0.2o]                libressl-dev-2.6.5-r0[pc:openssl=1.0.2o]     satisfies: world[openssl-dev]   libressl-dev-2.6.5-r0:     conflicts:                openssl-dev-1.0.2o-r0[pc:libcrypto=2.6.5]                openssl-dev-1.0.2o-r0[pc:libssl=2.6.5]                openssl-dev-1.0.2o-r0[pc:openssl=2.6.5]     satisfies:                postgresql-dev-10.4-r0[libressl-dev] ERROR: Service 'worker' failed to build: The command '/bin/sh -c apk update   && apk add --virtual build-deps gcc python3-dev musl-dev   && apk add postgresql-dev   && apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev   && apk add libffi-dev openssl-dev py-cffi' returned a non-zero code: 3
To reproduce the error, clone the repository to a server with Ubuntu 16 LTS, ensure docker and docker-compose are installed and run
sudo docker-compose -f production.yml build

It looks like the build issue is related to some dependency constrain related somehow to the basic docker-alpine v3.6 image. I fixed it deleting the clashing dependency and now is building, but I'm not sure is solved. Can you check it out and report back?

Also, I edited openssl-dev to openssl  in the production Dockerfile for postgres and the project is now building very well.

I already submitted the required changes into the repo with the last commit, reference in this issue. If you clone the repo you'll have those changes.

I have been checking the whole Docker flow, and it appear than there is work to be done due to some django-channels requirements @mwanjajoel


use node labels.

This builds upon the previous PR to use the new node labels from the node spec.  Thus we no longer have to try to parse out the formal node name into a usable label.

fixes: https://github.com/beeglebug/behave-flow/issues/20


rpm: Add plugin to prevent mid-transaction reboots

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[ ] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[ ] Any updated packages successfully build (or no packages were changed)
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

We've encountered RPM database corruption issues due to mid-transaction reboots. To fix this, we now build and ship the RPM systemd-inhibit plugin. This plugin prevents systemd from rebooting when an RPM transaction is in progress. This plugin is shipped as the rpm-plugin-systemd-inhibit package.
Any changes to add this subpackage to our images will come in a later PR.
Plugin documentation link is here.
Change Log

rpm: Build systemd-inhibit plugin and ship as a separate subpackage
toolkit: Change manifests and related scripts to account for new plugin subpackage

Does this affect the toolchain?

YES
Test Methodology

Pipeline build ongoing

Closing- this change would require adding dbus to our toolchain, which is not desirable. Will explore a different avenue for this change.

Closing- this change would require adding dbus to our toolchain, which is not desirable. Will explore a different avenue for this change.


FCC Roman Numeral Converter Bug

Challenge Roman Numeral Converter has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

The page crashed while I was trying to figure out the code, tried to reload it and now it freezes every time. I assume that the code runs every time I reload it and that an infinite loop causes the browser to freeze. All I need is to somehow reset the challenge so I can start over.
Thanks in advance.

In the URL of the challenge is where the code is stored. Try opening up this link (https://www.freecodecamp.com/challenges/roman-numeral-converter#?solution=
function convertToRoman(num) {), fixing the problems that the jshint points out for you (in my browser, it is showing that the bracket for the function is not closed), and call the function with the test that is given (convertToRoman(36)).
Then, you should be able to run the tests and save it from there. I have had it freeze in the middle of debugging and this is the way I get around it to "reset".

@robertspurlin That fixed it. Thank you so much!


Building docs is failing due to IndexError from Sphinx

We've opened an issue with sphinx here: https://github.com/sphinx-doc/sphinx/issues/11016

I'm moving to the mkdocs system we used in https://github.com/fair-workflows/nanopub because it works quite nicely


@4.1.1 -<EMAIL_ADDRESS><EMAIL_ADDRESS>

close #809

coverage: 99.245%. remained the same
when pulling bc9a693d8d7d7a3adb57adc9982ec4943388b149 on rc-4.1.1
into 51f18d549e2d93e7a6c3accb8667e4bd25f127e7 on master.


ddev and gsudo

          Discussion with @gerardog regarding this in:

https://github.com/gerardog/gsudo/pull/299
https://github.com/gerardog/gsudo/issues/296

Originally posted by @rfay in https://github.com/ddev/ddev/issues/5314#issuecomment-1708813273

Hi @rfay, I wanted to understand better how ddev uses gsudo, so I cloned every ddev repo:
$user = "ddev"
$apiUrl = "https://api.github.com/users/$user/repos?per_page=100"
$outputDir = "C:\git\ddev"

$response = Invoke-RestMethod -Uri $apiUrl
foreach ($repo in $response) {
    $repoName = $repo.name
    $repoUrl = $repo.clone_url
    Write-Host "Cloning $repoName from $repoUrl"
    git clone $repoUrl "$outputDir\$repoName"
}

and search for the gsudo literal... I mostly found it's used in:

docs (*.md)
install scripts
choco package as a dependency
nullsoft installer

So, I didn't find a place where gsudo is used as part of the actual application... Am I right??
If that is the case, is it that you just want the end user to have gsudo available for convenience?
I guess I should first understand if gsudo is a hard dependency, a must-have, or a desired convenience tool. The difference is the first one requires gsudo, the later can prompt the user if wants to install it.
The friendly way of installing gsudo is thru the .msi file... It has the convenience that the user gets the complete experience,
plus a clean uninstall, can upgrade anytime later using winget upgrade. (Yeah, winget upgrades even if the msi is installed manually), etc...
Currently gsudo is portable but may misbehave if two different versions are running at the same time. That is because as one protection against hackers is that an elevated gsudo will only accept calls from the same gsudo.exe file. Running multiple versions simultaneously may fail, hence is prefered to have only one gsudo install. This problem may be mitigated with a code change, but currently is not.
We can dig into the alternatives which I think are:

Download the .msi and install gsudo from ddev installer...
Make ddev launch gsudo installer... (either .msi or the .ps1 install script which has an possible inconvenient 'press a key' wait on the end that we can remove.
Opting for the portable way, by a) mitigating the problem mentioned above and b) embedding a non-virus flagged version inside the installer.

Thanks for the response here! Yes, gsudo is used as part of the application when escalation is required to add to the hosts file in WSL2 or traditional Windows. It's used as sudo though.
https://github.com/ddev/ddev/blob/16870030d464e7bb64a569685b65871ce5669469/pkg/ddevapp/hostname_mgt.go#L39-L45
https://github.com/ddev/ddev/blob/16870030d464e7bb64a569685b65871ce5669469/pkg/ddevapp/hostname_mgt.go#L241-L244

Hey, that was a fast response, check out I edited the OP...
Ohh so you are calling it sudo.exe?, yeap that works too, the installers create aliases for sudo...
If you are fine to embed a portable version, I suggest you may:

wait for the fix of the multiple simultaneous gsudo versions
upload a specific gsudo.exe to the ddev installers repo, maybe named as sudo.exe, for example into /third_party/gsudo

do not pickup the latest and greatest version, pick the previous so it already has some popularity in online AV vendors
check it has a score of 0 in virus total
you dont need to update gsudo every day, you can do every 6 months or so.

Thanks so much for this. Yeah, most of the logic around hosts file manipulation is generic for linux/mac/windows. The only thing that's different is knowing whether sudo is available (on Windows). The tricky thing that happens is that WSL2 users need to update the windows side hosts file for best experience, so sudo.exe is used there in WSL2 to do that.

Another option for WSL2 is a bit simpler, outside scope of this probably:

Use gsudo.exe directly and require it to be installed.
Use an explicit hosts file editor on the Windows side (sudo ddevfixhosts) or something to edit the windows-side hosts file instead of using ddev.exe, which is way overkill for this simple usage.

The tricky thing that happens is that WSL2 users need to update the windows side hosts file for best experience, so sudo.exe is used there in WSL2 to do that.

Technically you don't need gsudo for that... you can do: powershell.exe -c "Start-Process -Verb runas -FilePath notepad -ArgumentList 'C:\Windows\System32\drivers\etc\hosts'" from bash:

It shows a uac popup and then notepad opens elevated.
Looking at hostname_mgt.go I think you may create a 20 lines powershell script that does the ddevfixhosts part.

Wow, thanks for that! So notepad just knows to UAC when accessing a privileged file? But how do you actually do an edit automatically in that case?It seems this would just bring up notepad and then people would have to know what to do.

Lol No! Notepad is terribly dumb! The trick is to start a process (call CreateProcess API) with parameter Verb=RunAs which is the official windows way to elevate the process. Here I am using Powershell.exe (built-in on every windows 10 & 11) to call CreateProcess (via the start-process powershell cmdlet) so I can make it into one line.
Tearing apart that line:
powershell.exe        # Calling something ending in .exe will invoke in the windows world (escape wsl linux)
       -c                     # here comes a powershell command
       "Start-Process # documented here https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-7.3
      -Verb runas           # show the UAC Popup!
      -FilePath notepad # Run notepad or whatever windows EXE file
      -ArgumentList 'C:\Windows\System32\drivers\etc\hosts'" # passing this arguments

Thanks. So at this point, we'd just run PowerShell.exe -Verb runas -FilePath ddev.exe -ArgumentList 'hostname', domain-name-to-add.ddev.site` or something like that.

What if we create a ddevfixhosts.ps1 powershell file?

ddev shall just run powershell.exe -File ddevfixhosts.ps1 /some/file/with/current/status (

check this out

So at this point, we'd just run PowerShell.exe -Verb runas -FilePath ddev.exe -ArgumentList 'hostname', domain-name-to-add.ddev.site` or something like that.

yes that could work to, instead of a powershell script, make ddev.exe fix the things


[Docker] Install tzdata in buildkite-linux.

For libc++ there is a work-in-progress implementation of the C++20 chrono timezone database. The Clang CI test libc++ and fails for the tests of this new feature.

thank you @mordante ! I would also be helpful to provide a command to check if a new config works as expected so I can check it on test copy of agents (unless it's really cumbersome).

Thanks for merging the commit.
If you undo the changes in the directory libcxx/test of https://github.com/llvm/llvm-project/commit/88359213ee499ed2cc02c4bf0dba7b5e9af37ff6 you can test the new image. This should fix the clang-linux build. Undoing the change will break the Windows builds, but I need a different solution for that.


Add Kev Bonett json

Adds my personal webiste - https://basher.biz/ - to the a11y-webring.

Welcome! And thank you for the issue report, as well.

Thanks @ericwbailey ... and you're welcome.
Do all members get added to the list on https://a11y-webring.club/?
My name doesn't appear yet.


Open external link bug

It will open the link as well as https://devdocs.io/undefined

Fixed in v0.0.3


refactor(ci): enable merge queues and automerge

Note that enabling automerge in renovatebot doesn't allow it to bypass required status checks or code review. It uses the same automerge feature as in the GitHub PR web ui :)
It also updates the default CI workflow to run on merge_group, which is required to enable merge queues that have the same required status checks as regular merge rules.

Yup!