← Back to team overview

dolfin team mailing list archive

Re: Build error on Windows

 

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
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>




References