dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #11292
Re: Build error on Windows
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.
It's difficult to program without a compiler that tells me when I do
something wrong.
--
Anders
Attachment:
signature.asc
Description: Digital signature
Follow ups
References