BrunoLevy / GraphiteThree

Experimental 3D modeler
GNU General Public License v2.0
213 stars 18 forks source link

compiling plugins on macos #7

Open farnikn opened 11 months ago

farnikn commented 11 months ago

For compiling on macOS, everything is fine in the first round on compilation but after adding/editing the GraphiteThree/plugins/OGF/Plugins.txt file for the optimal transport plugin add_subdirectory(WarpDrive), in re-configuration and re-building the Graphite I get this error (+ many warnings):

In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:43:
/Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/commands/mesh_grob_transport_commands.h:48:10: fatal error: 'exploragram/optimal_transport/optimal_transport.h' file not found
#include <exploragram/optimal_transport/optimal_transport.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16 warnings generated.
16 warnings and 1 error generated.
make[2]: *** [plugins/OGF/WarpDrive/CMakeFiles/WarpDrive.dir/common/WarpDrive_common.cpp.o] Error 1
make[1]: *** [plugins/OGF/WarpDrive/CMakeFiles/WarpDrive.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
7 warnings generated.
18 warnings generated.
20 warnings generated.
[ 99%] Linking CXX shared library ../../../../lib/libvoxel.dylib
ld: warning: directory not found for option '-L/Users/farnik/test/GraphiteThree/geogram/build/Darwin-clang-dynamic-Release/lib'
[ 99%] Built target voxel
make: *** [all] Error 2

It seems the exploragram is missing and when I git clone it to the GraphiteThree/geogram/src/lib directory, it fixes the error but I'm not sure if this is the best solution. I'm using an Apple Silicon / M1 machine with cmake version 3.22.2 and clang version 16.0.1 arm64-apple-darwin22.5.0

Here is the longer log:

In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/algo/VSDM.cpp:40:
/Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/algo/VSDM.h:43:10: fatal error: 'exploragram/optimal_transport/VSDM.h' file not found
#include <exploragram/optimal_transport/VSDM.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_type.h:41:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/services/life_cycle.h:73:10: warning: '~LifeCycle' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~LifeCycle();
                ^
/Users/farnik/test/GraphiteThree/geogram/src/lib/geogram/basic/counted.h:152:17: note: overridden virtual function is here
        virtual ~Counted();
                ^
1 error generated.
make[2]: *** [plugins/OGF/WarpDrive/CMakeFiles/WarpDrive.dir/algo/VSDM.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_type.h:44:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/types/object.h:78:17: warning: '~Object' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~Object();
                ^
/Users/farnik/test/GraphiteThree/geogram/src/lib/geogram/basic/counted.h:152:17: note: overridden virtual function is here
        virtual ~Counted();
                ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:41:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_type.h:159:17: warning: '~MetaInformation' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~MetaInformation() ;
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/types/object.h:78:17: note: overridden virtual function is here
        virtual ~Object();
                ^
4 warnings generated.
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:43:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_signal.h:67:17: warning: '~MetaSignal' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~MetaSignal() ;
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_method.h:103:2: note: overridden virtual function is here
        ~MetaMethod() override;
        ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:44:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_slot.h:85:17: warning: '~MetaSlot' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~MetaSlot() ;
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_method.h:103:2: note: overridden virtual function is here
        ~MetaMethod() override;
        ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:45:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_constructor.h:42:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/services/factory.h:73:17: warning: '~Factory' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~Factory() ;
                ^
/Users/farnik/test/GraphiteThree/geogram/src/lib/geogram/basic/counted.h:152:17: note: overridden virtual function is here
        virtual ~Counted();
                ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:45:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_constructor.h:69:10: warning: '~MetaConstructor' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~MetaConstructor();
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_method.h:103:2: note: overridden virtual function is here
        ~MetaMethod() override;
        ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:46:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_property.h:73:17: warning: '~MetaMethodSetProperty' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~MetaMethodSetProperty() ;
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_method.h:103:2: note: overridden virtual function is here
        ~MetaMethod() override;
        ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:46:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_property.h:81:22: warning: 'invoke' overrides a member function but is not marked 'override' [-Wsuggest-override]
        virtual bool invoke(
                     ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_method.h:334:22: note: overridden virtual function is here
        virtual bool invoke(
                     ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:46:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_property.h:116:17: warning: '~MetaMethodGetProperty' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~MetaMethodGetProperty() ;
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_method.h:103:2: note: overridden virtual function is here
        ~MetaMethod() override;
        ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:46:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_property.h:124:22: warning: 'invoke' overrides a member function but is not marked 'override' [-Wsuggest-override]
        virtual bool invoke(
                     ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_method.h:334:22: note: overridden virtual function is here
        virtual bool invoke(
                     ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:46:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_property.h:177:17: warning: '~MetaProperty' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~MetaProperty() ;
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_member.h:73:2: note: overridden virtual function is here
        ~MetaMember() override;
        ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/types/scene_graph_library.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta.h:42:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/reflection/meta_class.h:515:25: warning: 'create' overrides a member function but is not marked 'override' [-Wsuggest-override]
        virtual Object* create(const ArgList& args);
                        ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/services/factory.h:83:25: note: overridden virtual function is here
        virtual Object* create(const ArgList& args) = 0 ;
                        ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:43:
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/commands/mesh_grob_transport_commands.h:47:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/mesh/commands/mesh_grob_commands.h:43:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/mesh/grob/mesh_grob.h:44:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/grob/grob.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/shaders/shader_manager.h:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/shaders/shader.h:42:
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/types/node.h:71:17: warning: '~Node' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        virtual ~Node() ;
                ^
/Users/farnik/test/GraphiteThree/src/lib/OGF/gom/types/object.h:78:17: note: overridden virtual function is here
        virtual ~Object();
                ^
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:43:
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/commands/mesh_grob_transport_commands.h:47:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/mesh/commands/mesh_grob_commands.h:43:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/mesh/grob/mesh_grob.h:44:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/grob/grob.h:42:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/shaders/shader_manager.h:41:
In file included from /Users/farnik/test/GraphiteThree/src/lib/OGF/scene_graph/shaders/shader.h:43:
/Users/farnik/test/GraphiteThree/src/lib/OGF/renderer/context/texture.h:69:9: warning: '~Texture' overrides a destructor but is not marked 'override' [-Wsuggest-destructor-override]
        ~Texture();
        ^
/Users/farnik/test/GraphiteThree/geogram/src/lib/geogram/basic/counted.h:152:17: note: overridden virtual function is here
        virtual ~Counted();
                ^
12 warnings generated.
In file included from /Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/common/WarpDrive_common.cpp:43:
/Users/farnik/test/GraphiteThree/plugins/OGF/WarpDrive/commands/mesh_grob_transport_commands.h:48:10: fatal error: 'exploragram/optimal_transport/optimal_transport.h' file not found
#include <exploragram/optimal_transport/optimal_transport.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16 warnings generated.
16 warnings and 1 error generated.
make[2]: *** [plugins/OGF/WarpDrive/CMakeFiles/WarpDrive.dir/common/WarpDrive_common.cpp.o] Error 1
make[1]: *** [plugins/OGF/WarpDrive/CMakeFiles/WarpDrive.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
7 warnings generated.
18 warnings generated.
20 warnings generated.
[ 99%] Linking CXX shared library ../../../../lib/libvoxel.dylib
ld: warning: directory not found for option '-L/Users/farnik/test/GraphiteThree/geogram/build/Darwin-clang-dynamic-Release/lib'
[ 99%] Built target voxel
make: *** [all] Error 2
BrunoLevy commented 9 months ago

Hi Farnik, The Warpdrive plugin (note: different from the warpdrive program that you are using for astrophys) depends on the exploragram optional library in geogram. See instructions here on how to get and configure exploragram. Cheers, -- B