On Sun, December 21, 2008 23:29, Anders Logg wrote: > On Sun, Dec 21, 2008 at 11:07:33PM +0100, Johannes Ring wrote: >> On Sun, December 21, 2008 22:51, Anders Logg wrote: >> > On Sun, Dec 21, 2008 at 09:46:24PM +0100, Johannes Ring wrote: >> >> On Sun, December 21, 2008 21:20, Anders Logg wrote: >> >> > On Sun, Dec 21, 2008 at 09:09:58PM +0100, Johannes Ring wrote: >> >> >> On Sun, December 21, 2008 20:34, Anders Logg wrote: >> >> >> > On Sun, Dec 21, 2008 at 06:43:10PM +0100, Johannes Ring wrote: >> >> >> >> Hi, >> >> >> >> >> >> >> >> I get the error below when trying to build DOLFIN on Windows. >> It >> >> is a >> >> >> >> fresh hg clone and all optional dependencies are turned off. >> MPI >> >> is >> >> >> not >> >> >> >> installed (yet). >> >> >> >> >> >> >> >> Any ideas? >> >> >> >> >> >> >> >> Johannes >> >> >> > >> >> >> > Looks like swig can't spot the difference between int* and >> double* >> >> >> > (I guess it's casting everything to void*). >> >> >> > >> >> >> > I've added an ignore to dolfin/swig/ignores.i. See if it helps. >> >> >> >> >> >> Yes, it did but there are still problems: >> >> >> >> >> >> swig -o dolfin\swig\cpp_wrap.cc -python -c++ -shadow >> -Iinclude\swig >> >> >> -IC:\Python25\include >> >> -IC:\Python25\lib\site-packages\numpy\core\include >> >> >> -Ic:\johannr\jhbuildbot\fenics\include -IC:\Python25\include >> >> >> -Ic:\local\src\boost_1_35_0\ -Ic:\local\include >> dolfin\swig\dolfin.i >> >> >> c++ -o dolfin\swig\cpp_wrap.o -c -Wall -pipe -ansi -Werror -DDEBUG >> -g >> >> >> -DNDEBUG -O2 -DPACKAGE_VERSION=\"0.8.1\" -fno-strict-aliasing -I. >> >> >> -IC:\johannr\jhbuildbot\fenics\include -IC:\local\src\boost_1_35_0 >> >> >> -IC:\local\include -IC:\Python25\include -IC:\Python25\include >> >> >> -IC:\Python25\lib\site-packages\numpy\core\include >> >> >> -IC:\johannr\jhbuildbot\fenics\include -IC:\Python25\include >> >> >> -IC:\local\src\boost_1_35_0 -IC:\local\include >> >> dolfin\swig\cpp_wrap.cc >> >> >> c++ -shared -Wl,--enable-auto-import -o dolfin\swig\_cpp.pyd >> >> >> dolfin\swig\cpp_wrap.o -Ldolfin -LC:\Python25\libs >> -LC:\Python25\libs >> >> >> -LC:\local\bin -LC:\local\lib -lpython25 -lpython25 -lxml2 >> -ldolfin >> >> >> -Wl,--out-implib,dolfin\swig\libcpp.a >> >> >> -Wl,--output-def,dolfin\swig\cpp.def >> >> >> scons: building terminated because of errors. >> >> >> Creating library file: dolfin\swig\libcpp.a >> >> >> dolfin\swig\cpp_wrap.o: In function >> >> >> `wrap_MPI_gather':dolfin/swig/cpp_wrap.cc:62774: undefined >> reference >> >> to >> >> >> `dolfin::MPI::gather(std::vector<unsigned int, >> >> std::allocator<unsigned >> >> >> int> >&)' >> >> >> dolfin\swig\cpp_wrap.o: In function >> >> >> `wrap_MPI_distribute__SWIG_0':dolfin/swig/cpp_wrap.cc:62620: >> >> undefined >> >> >> reference to `dolfin::MPI::distribute(std::vector<unsigned int, >> >> >> std::allocator<unsigned int> >&, std::vector<unsigned int, >> >> >> std::allocator<unsigned int> >&)' >> >> >> dolfin\swig\cpp_wrap.o: In function >> >> >> `wrap_MPI_distribute__SWIG_1':dolfin/swig/cpp_wrap.cc:62679: >> >> undefined >> >> >> reference to `dolfin::MPI::distribute(std::vector<double, >> >> >> std::allocator<double> >&, std::vector<unsigned int, >> >> >> std::allocator<unsigned int> >&)' >> >> >> collect2: ld returned 1 exit status >> >> >> scons: *** [dolfin\swig\_cpp.pyd] Error 1 >> >> >> >> >> >> Johannes >> >> > >> >> > The implementations of these functions were missing in MPI.cpp. >> >> > This should be fixed now. >> >> >> >> Now it fails when compiling MPI.cpp: >> >> >> >> c++ -o dolfin\main\MPI.o -c -Wall -pipe -ansi -Werror -DDEBUG -g >> >> -DNDEBUG >> >> -O2 -DPACKAGE_VERSION=\"0.8.1\" -I. >> >> -IC:\johannr\jhbuildbot\fenics\include >> >> -IC:\local\src\boost_1_35_0 -IC:\local\include dolfin\main\MPI.cpp >> >> cc1plus.exe: warnings being treated as errors >> >> dolfin\main\MPI.cpp: In static member function 'static dolfin::uint >> >> dolfin::MPI::send_recv(double*, dolfin::uint, dolfin::uint, double*, >> >> dolfin::uint, dolfin::uint)': >> >> dolfin\main\MPI.cpp:168: warning: control reaches end of non-void >> >> function >> >> dolfin\main\MPI.cpp: In static member function 'static dolfin::uint >> >> dolfin::MPI::send_recv(dolfin::uint*, dolfin::uint, dolfin::uint, >> >> dolfin::uint*, dolfin::uint, dolfin::uint)': >> >> dolfin\main\MPI.cpp:162: warning: control reaches end of non-void >> >> function >> >> scons: building terminated because of errors. >> >> scons: *** [dolfin\main\MPI.o] Error 1 >> >> >> >> Johannes >> > >> > Fixed (I hope). >> >> Yes, but now I got this: >> >> c++ -o dolfin\main\MPI.o -c -Wall -pipe -ansi -Werror -DDEBUG -g >> -DNDEBUG >> -O2 -DPACKAGE_VERSION=\"0.8.1\" -I. >> -IC:\johannr\jhbuildbot\fenics\include >> -IC:\local\src\boost_1_35_0 -IC:\local\include dolfin\main\MPI.cpp >> scons: building terminated because of errors. >> dolfin\main\MPI.cpp: In static member function 'static void >> dolfin::MPI::gather(std::vector<unsigned int, std::allocator<unsigned >> int> >> >&)': >> dolfin\main\MPI.cpp:156: error: return-statement with a value, in >> function >> returning 'void' >> scons: *** [dolfin\main\MPI.o] Error 1 >> >> Johannes > > Sorry... I have MPI installed here and I'm too lazy to test without.
No problem. It builds fine now after the latest fix. Johannes > It's difficult to program without a compiler that tells me when I do > something wrong. > > -- > Anders > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev > _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
