On 16.06.2015 22:42, Matthew McIntire wrote: > I am trying to install graph-tool on windows in the cygwin environment. I > have managed to install all of the dependencies and successfully run the > configuration script, but when I make, I get this: > > $ make > make all-recursive > make[1]: Entering directory '/home/mcintima/graph-tool-2.2.43' > Making all in src > make[2]: Entering directory '/home/mcintima/graph-tool-2.2.43/src' > Making all in graph > make[3]: Entering directory '/home/mcintima/graph-tool-2.2.43/src/graph' > Making all in centrality > make[4]: Entering directory > '/home/mcintima/graph-tool-2.2.43/src/graph/centrality' > CXX graph_betweenness.lo > CXX graph_centrality_bind.lo > CXX graph_closeness.lo > CXX graph_eigentrust.lo > CXX graph_eigenvector.lo > CXX graph_hits.lo > CXX graph_katz.lo > CXX graph_pagerank.lo > CXX graph_trust_transitivity.lo > CXXLD libgraph_tool_centrality.la <http://libgraph_tool_centrality.la> > /usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: > warning: --export-dynamic is not supported for PE+ targets, did you mean > --export-all-symbols? > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2449): undefined > reference to `graph_tool::GraphInterface::GetNumberOfVertices(bool)' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2449): relocation > truncated to fit: R_X86_64_PC32 against undefined symbol > `graph_tool::GraphInterface::GetNumberOfVertices(bool)' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2659): undefined > reference to `graph_tool::GraphInterface::GetNumberOfVertices(bool)' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2659): relocation > truncated to fit: R_X86_64_PC32 against undefined symbol > `graph_tool::GraphInterface::GetNumberOfVertices(bool)' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2709): undefined > reference to `graph_tool::ValueException::ValueException(std::string const&)' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2709): relocation > truncated to fit: R_X86_64_PC32 against undefined symbol > `graph_tool::ValueException::ValueException(std::string const&)' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2726): undefined > reference to `graph_tool::ValueException::~ValueException()' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x2726): relocation > truncated to fit: R_X86_64_PC32 against undefined symbol > `graph_tool::ValueException::~ValueException()' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x275f): undefined > reference to `graph_tool::ValueException::ValueException(std::string const&)' > .libs/graph_betweenness.o:graph_betweenness.cc:(.text+0x275f): relocation > truncated to fit: R_X86_64_PC32 against undefined symbol > `graph_tool::ValueException::ValueException(std::string const&)' > > .libs/graph_betweenness.o:graph_betweenness.cc:(.text$_ZN10graph_tool14ActionNotFoundD1Ev[_ZN10graph_tool14ActionNotFoundD1Ev]+0x3c): > undefined reference to `graph_tool::GraphException::~GraphException()' > > .libs/graph_betweenness.o:graph_betweenness.cc:(.text$_ZN10graph_tool14ActionNotFoundD1Ev[_ZN10graph_tool14ActionNotFoundD1Ev]+0x3c): > relocation truncated to fit: R_X86_64_PC32 against undefined symbol > `graph_tool::GraphException::~GraphException()' > > ...and so on. I tried replacing --export-dynamic with --export-all-symbols > in configure.ac <http://configure.ac>, which just led to the same error. I > also tried replacing all instances of --export-dynamic in the graph-tool > folder, which just caused the compilation to crash sooner. Any help would be > greatly appreciated.
The shared library model on windows is very different than typical unixes, even under cygwin. The way that graph-tool works is that each submodule has its own shared library. Each one may have undefined symbols that get dynamically resolved when they are all loaded. If I'm not mistaken, in windows these must all be resolved during compilation time (as this error shows). This means that the submodules must explicitly include libgraph_tool_core.a (which is redundant and wasteful in e.g. GNU/Linux). There was a thread about this a little while ago (but without Cygwin): http://lists.skewed.de/pipermail/graph-tool/2015-May/001972.html The build process needs be significantly modified. I'll see if I find the time to do this, but it is rather difficult since I cannot test this myself. Best, Tiago -- Tiago de Paula Peixoto <ti...@skewed.de>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ graph-tool mailing list graph-tool@skewed.de http://lists.skewed.de/mailman/listinfo/graph-tool