← Back to team overview

dolfin team mailing list archive

Re: another dolfin compile error

 

OK. I may see if I can just get it to compile by changing the few 'underscore' errors that show up. But I will seriously consider the virtualbox. One thing that bothers me is having to limit the RAM accessible by the virtualbox (this would impact dolfin if I were computing something big).

Actually, could I just run a virtual terminal on my windows PC that connects to some other linux box? Orginally, I wanted to avoid this because I was unix retarded. However, in the process of mucking with all this compiling, I am now less retarded. Is this a viable option?

- Shawn

On Wed, 6 Aug 2008, Garth N. Wells wrote:

Shawn Walker wrote:
I understand. I got the umfpack part working. I was just messing up the include directories. But I still have that other error.

It has to do with the following code:

ublas_sparse_matrix& _B = B.mat();

If I change '_B' to say Bq, then it compiles fine. For some reason it doesn't like the underscore. I guess this has to do with your 'templates' comment.

If you can get it all to work, create a hg bundle and mail it to this list. Instructions on how to create a bundle can be found at the end of the DOLFIN manual.

If this is just a compiler issue, then I think I
can upgrade the compiler manually to gcc 4.3.


Apparently there are some serious technical obstacles with gcc 4.x and Cywgin, so I don't expect that this will be trivial.

For this virtual machine, is it a pain in the ass to setup? It looked like it was just an emulator for any operating system you want. Does that mean it will be slow? I assume it is just as flexible as cygwin, if not more.

VirtualBox (http://www.virtualbox.org) is free and very easy to use. My experience is that if you have a relatively new processor and enable the virtualisation option in the BIOS, performance is near native.

Garth


- Shawn

On Wed, 6 Aug 2008, Garth N. Wells wrote:

Shawn Walker wrote:
OK, here we go again. I disabled UMFPACK, and the compilation goes further, but I get the following error:

----------------------------------------------
$ scons withBoostDir=$BOOST_DIR withUmfpackDir=$UMFPACK_DIR enableDemos=yes enableScotch=no enableTrilinos=no enableMpi=no enablePetsc=no enableSlepc=no enableUmfpack=no enableDebug=no

scons: Reading SConscript files ...
Using options from scons/options.cache
Checking for pkg-config... yes
Checking for numpy-1... yes
Checking for ufc-1... yes
Checking for python-2... yes
Checking for gts... yes
Checking for boost... yes
Checking for libxml-2.0... yes
Resolving compiler... done
Found optional package: gts
Unable to find optional package: petsc
Unable to find optional package: slepc
Unable to find optional package: scotch
Unable to find optional package: umfpack
Unable to find optional package: trilinos
Enabling compilation of PyDOLFIN

scons: warning: The env.Copy() method is deprecated; use the env.Clone() method instead. File "/download/src/fenics/dolfin/dolfin/SConscript", line 107, in <module>
scons: done reading SConscript files.
scons: Building targets ...
c++ -o dolfin/common/TimeDependent.os -c -Wall -pipe -DNDEBUG -O2 -DPACKAGE_VERSION=\"0.8.0\" -DHAS_GTS=1 -I. -I/download/src/boost_1_35_0 -I/usr/include/libxml2 -I/build/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include dolfin/common/TimeDependent.cpp

.....................etc...................

c++ -o dolfin/ode/MonoAdaptiveJacobian.os -c -Wall -pipe -DNDEBUG -O2 -DPACKAGE_VERSION=\"0.8.0\" -DHAS_GTS=1 -I. -I/download/src/boost_1_35_0 -I/usr/include/libxml2 -I/build/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include dolfin/ode/MonoAdaptiveJacobian.cpp c++ -o dolfin/ode/MonoAdaptiveNewtonSolver.os -c -Wall -pipe -DNDEBUG -O2 -DPACKAGE_VERSION=\"0.8.0\" -DHAS_GTS=1 -I. -I/download/src/boost_1_35_0 -I/usr/include/libxml2 -I/build/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include dolfin/ode/MonoAdaptiveNewtonSolver.cpp dolfin/ode/MonoAdaptiveNewtonSolver.cpp: In member function `void dolfin::MonoAdaptiveNewtonSolver::debug()': dolfin/ode/MonoAdaptiveNewtonSolver.cpp:265: error: expected primary-expression before '&' token dolfin/ode/MonoAdaptiveNewtonSolver.cpp:286: error: `128' cannot be used as a function
scons: *** [dolfin/ode/MonoAdaptiveNewtonSolver.os] Error 1
scons: building terminated because of errors.
---------------------------------------------------------

I tried this, and received the same error. It looks like like a Cygwin issue with templates, and is perhaps not surprising since Cywgin uses quite old compilers.

I'm not going to spend time on work-arounds for Cygwin peculiarities and for gcc 3.x since running a virtual machine is a viable alternative now and there has been some work on compiling DOLFIN natively under Windows. If someone provides simple patches for Cywgin, we can apply them.

Garth


If there were no errors, run

     scons install

.....................etc...................
---------------------------------------------------------------

Any ideas about this? Again, I am using Cygwin and the latest codes through Mercurial.

- Shawn
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev






Follow ups

References