Reputation: 1
I tried to compile Apache Ignite 2.0 C++. I am running make from the directory /opt/apache-ignite-2.0.0-src/modules/platforms/cpp
. I already compiled all Java code and I can start Apache Ignite just fine. However, C++ does not compile. It seems like I have to go through C++ code to fix the problem.
The error I get when running make is:
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in common
Making all in include
make[3]: Nothing to be done for `all'.
Making all in os/linux/include
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in binary
Making all in include
make[3]: Nothing to be done for `all'.
CXX src/binary/binary_containers.lo
In file included from src/binary/binary_containers.cpp:18:
In file included from ./include/ignite/binary/binary_containers.h:30:
In file included from ./include/ignite/impl/binary/binary_writer_impl.h:35:
In file included from ./include/ignite/impl/binary/binary_object_impl.h:31:
./include/ignite/impl/binary/binary_reader_impl.h:986:58: error: variable has incomplete type 'ignite::binary::BinaryReader'
ignite::binary::BinaryReader reader(&readerImpl);
^
./include/ignite/binary/binary_type.h:135:15: note: forward declaration of 'ignite::binary::BinaryReader'
class BinaryReader;
^
In file included from src/binary/binary_containers.cpp:18:
In file included from ./include/ignite/binary/binary_containers.h:30:
./include/ignite/impl/binary/binary_writer_impl.h:702:54: error: variable has incomplete type 'ignite::binary::BinaryWriter'
ignite::binary::BinaryWriter writer(&writerImpl);
^
./include/ignite/binary/binary_type.h:134:15: note: forward declaration of 'ignite::binary::BinaryWriter'
class BinaryWriter;
^
2 errors generated.
make[3]: *** [src/binary/binary_containers.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Upvotes: 0
Views: 105
Reputation: 785
This is most likely because you are using clang++ to compile ignite.
The reason itself is explained in a different SO question: the Apache Ignite C++ code is wrong (it has a bug), but it so happens that some compilers do not detect and report the problem.
One solution (beside modifying ignite source code) would be to use g++. Instruction for OSX are in a different SO question.
Upvotes: 1
Reputation: 463
Well, OS X is not supported officially. You may want to write to Apache Ignite user mailing list to ask someone to help you. Make sure you subscribe before sending your question though, so everyone will see your mail.
Upvotes: 2