fem-fenics 0.0.1 released

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

fem-fenics 0.0.1 released

Carnë Draug
Hi everyone

a new release of the fem-fenics package is out, version 0.0.1, by
Marco Vassallo. Enjoy Octave responsibly.

Carnë
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

lukshuntim
On Sunday, February 23, 2014 01:53 AM, Carnë Draug wrote:
> Hi everyone
>
> a new release of the fem-fenics package is out, version 0.0.1, by
> Marco Vassallo. Enjoy Octave responsibly.
>
> Carnë

Hi,

Thanks!

When doing

pkg install fem-fenics -forge

I got these errors.

checking dolfin.h usability... no
checking dolfin.h presence... no
checking for dolfin.h... no

My fenics is self-compiled and installed under /usr/local and hence
dolfin.h is in /usr/local/include. So it seems pkg is not looking into
/usr/local for the headers. Can something like -I/usr/local/include be
passed to it?

Regards,
ST
--

_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Marco Vassallo




On Sun, Feb 23, 2014 at 4:46 AM, <[hidden email]> wrote:
On Sunday, February 23, 2014 01:53 AM, Carnë Draug wrote:
Hi everyone

a new release of the fem-fenics package is out, version 0.0.1, by
Marco Vassallo. Enjoy Octave responsibly.

Carnë

Hi,

Thanks!

When doing

pkg install fem-fenics -forge

I got these errors.

checking dolfin.h usability... no
checking dolfin.h presence... no
checking for dolfin.h... no

My fenics is self-compiled and installed under /usr/local and hence dolfin.h is in /usr/local/include. So it seems pkg is not looking into /usr/local for the headers. Can something like -I/usr/local/include be passed to it?


Hi,

it could be that Eigen or mpi, which are necessary for dolfin, are not installed in a "normal" directory.

Please read the discusion here [1].

The solutions seems to be to set the CPPFLAGS as follow

export CPPFLAGS="-I/usr/include/eigen3 $(mpicxx -showme:compile)"

Marco

[1] http://octave.1599824.n4.nabble.com/FORGE-Fem-fenics-installation-fails-td4661997.html
 
Regards,
ST
--

_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave


_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Juan Pablo Carbajal-2
On Sun, Feb 23, 2014 at 9:18 AM, Marco Vassallo <[hidden email]> wrote:
> The solutions seems to be to set the CPPFLAGS as follow
>
> export CPPFLAGS="-I/usr/include/eigen3 $(mpicxx -showme:compile)"

Indeed this should solve the problem,
just find where "Dense" is installed. Try
 locate Eigen/Dense
in your terminal, you should add that path to CPPFLAGS as Marco explained.

To see if mpi is properly installed you can run
 mpicxx -showme:compile
in your terminal as well. If you get an error, then you need to install openmpi.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

lukshuntim
On Sunday, February 23, 2014 08:36 PM, Juan Pablo Carbajal wrote:

> On Sun, Feb 23, 2014 at 9:18 AM, Marco Vassallo <[hidden email]> wrote:
>> The solutions seems to be to set the CPPFLAGS as follow
>>
>> export CPPFLAGS="-I/usr/include/eigen3 $(mpicxx -showme:compile)"
>
> Indeed this should solve the problem,
> just find where "Dense" is installed. Try
>   locate Eigen/Dense
> in your terminal, you should add that path to CPPFLAGS as Marco explained.
>
> To see if mpi is properly installed you can run
>   mpicxx -showme:compile
> in your terminal as well. If you get an error, then you need to install openmpi.
>

Thanks! It solved the dolfin.h not found problem. I also found out that
setting CPPFLAGS to -I/usr/include/eigen3 alone is sufficient. In order
to use the package, it has to be set before starting octave as well.
Otherwise I still get "Eigen/Dense not found" when fem-fenics is run.

One more glitch is, for example, when trying the one of the
femfenics_examples, octave exits and threw this error:

symbol lookup error: /usr/lib/openmpi/lib/openmpi
/mca_paffinity_linux.so: undefined symbol: mca_base_param_reg_int

I searched a bit and found that it seems to be specific to openmpi only
and quite common when openmpi is called from scripting languages. It's
related to how openmpi loads its supporting libraries.

http://www.open-mpi.org/faq/?category=running#loading-libmpi-dynamically

Unfortunately I'm not much of a developer to meddle in the code to
implement the recommendation, though. :-(

A workaround is to preload it with something like

export LD_PRELOAD=/usr/lib/openmpi/lib/libmpi.so

before starting octave.

Thanks again for making fenics available in octave. It's great now
octave can interface with a full blown FEM code,

Regards,
ST
--
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Marco Vassallo



On Mon, Feb 24, 2014 at 3:04 PM, <[hidden email]> wrote:
On Sunday, February 23, 2014 08:36 PM, Juan Pablo Carbajal wrote:
On Sun, Feb 23, 2014 at 9:18 AM, Marco Vassallo <[hidden email]> wrote:
The solutions seems to be to set the CPPFLAGS as follow

export CPPFLAGS="-I/usr/include/eigen3 $(mpicxx -showme:compile)"

Indeed this should solve the problem,
just find where "Dense" is installed. Try
  locate Eigen/Dense
in your terminal, you should add that path to CPPFLAGS as Marco explained.

To see if mpi is properly installed you can run
  mpicxx -showme:compile
in your terminal as well. If you get an error, then you need to install openmpi.


Thanks! It solved the dolfin.h not found problem. I also found out that setting CPPFLAGS to -I/usr/include/eigen3 alone is sufficient. In order to use the package, it has to be set before starting octave as well. Otherwise I still get "Eigen/Dense not found" when fem-fenics is run.

One more glitch is, for example, when trying the one of the femfenics_examples, octave exits and threw this error:

symbol lookup error: /usr/lib/openmpi/lib/openmpi /mca_paffinity_linux.so: undefined symbol: mca_base_param_reg_int

I searched a bit and found that it seems to be specific to openmpi only and quite common when openmpi is called from scripting languages. It's related to how openmpi loads its supporting libraries.

http://www.open-mpi.org/faq/?category=running#loading-libmpi-dynamically

Unfortunately I'm not much of a developer to meddle in the code to implement the recommendation, though. :-(

 
I had exactly the same issue using Ubuntu, but with Mac OS X it doesn't seems to be a problem.
However I don't know exactly how to solve it because in the code I've written
I never call directly mpi; probably it is used from dolfin somewhere else but I can't figure out how to fix it.
If anyone has any suggestion...

Marco
A workaround is to preload it with something like

export LD_PRELOAD=/usr/lib/openmpi/lib/libmpi.so

before starting octave.

Thanks again for making fenics available in octave. It's great now octave can interface with a full blown FEM code,

Regards,
ST
--


_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

c.-2
In reply to this post by lukshuntim

On 24 Feb 2014, at 16:04, [hidden email] wrote:

> Thanks! It solved the dolfin.h not found problem. I also found out that setting CPPFLAGS to -I/usr/include/eigen3 alone is sufficient. In order to use the package, it has to be set before starting octave as well. Otherwise I still get "Eigen/Dense not found" when fem-fenics is run.

You can also do it from within Octave using

setenv ("CPPFLAGS", "-I/usr/include/eigen3")


c.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Juan Pablo Carbajal-2
On Mon, Feb 24, 2014 at 5:37 PM, c. <[hidden email]> wrote:
> setenv ("CPPFLAGS", "-I/usr/include/eigen3")

We should capture this flags from installation/compilation time and
change PKG_ADD consistently.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

c.-2

On 24 Feb 2014, at 20:23, Juan Pablo Carbajal <[hidden email]> wrote:

> On Mon, Feb 24, 2014 at 5:37 PM, c. <[hidden email]> wrote:
>> setenv ("CPPFLAGS", "-I/usr/include/eigen3")
>
> We should capture this flags from installation/compilation time and
> change PKG_ADD consistently.

I don't understand what you mean exactly, should we capture the flags when configuring Octave or when configuring the package?
c.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Juan Pablo Carbajal-2
On Mon, Feb 24, 2014 at 8:39 PM, c. <[hidden email]> wrote:

>
> On 24 Feb 2014, at 20:23, Juan Pablo Carbajal <[hidden email]> wrote:
>
>> On Mon, Feb 24, 2014 at 5:37 PM, c. <[hidden email]> wrote:
>>> setenv ("CPPFLAGS", "-I/usr/include/eigen3")
>>
>> We should capture this flags from installation/compilation time and
>> change PKG_ADD consistently.
>
> I don't understand what you mean exactly, should we capture the flags when configuring Octave or when configuring the package?
> c.

To install (i.e. build)  the package one needs to define CPPFLAGS, so
at this time we could capture the flags and modify PKG_ADD
accordingly, right? or is there a counter indication to this?
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Mike Miller
On Mon, Feb 24, 2014 at 21:33:02 +0100, Juan Pablo Carbajal wrote:

> On Mon, Feb 24, 2014 at 8:39 PM, c. <[hidden email]> wrote:
>>
>> On 24 Feb 2014, at 20:23, Juan Pablo Carbajal <[hidden email]> wrote:
>>
>>> On Mon, Feb 24, 2014 at 5:37 PM, c. <[hidden email]> wrote:
>>>> setenv ("CPPFLAGS", "-I/usr/include/eigen3")
>>>
>>> We should capture this flags from installation/compilation time and
>>> change PKG_ADD consistently.
>>
>> I don't understand what you mean exactly, should we capture the flags when configuring Octave or when configuring the package?
>> c.
>
> To install (i.e. build)  the package one needs to define CPPFLAGS, so
> at this time we could capture the flags and modify PKG_ADD
> accordingly, right? or is there a counter indication to this?

The flags are not needed once the package is built and installed,
right? So I don't think PKG_ADD is relevant at all. I haven't been
following this thread too closely, but it sounds like all that is
needed is an improved configure.ac to search for the necessary header
files and libraries in the most common locations. Things like
pkg-config help greatly, if eigen and dolfin provide pkg-config files.

--
mike
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

c.-2
In reply to this post by Juan Pablo Carbajal-2

On 24 Feb 2014, at 21:33, Juan Pablo Carbajal <[hidden email]> wrote:

> To install (i.e. build)  the package one needs to define CPPFLAGS, so
> at this time we could capture the flags and modify PKG_ADD
> accordingly, right? or is there a counter indication to this?

No, I don't think there is any counter indication I was wodering whether
you wanted to do that in order to simplify package installation or to ease
the use of the package later.

Can you propose a patch to do this?

c.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Juan Pablo Carbajal-2
In reply to this post by Mike Miller
On Mon, Feb 24, 2014 at 9:37 PM, Mike Miller <[hidden email]> wrote:

> On Mon, Feb 24, 2014 at 21:33:02 +0100, Juan Pablo Carbajal wrote:
>> On Mon, Feb 24, 2014 at 8:39 PM, c. <[hidden email]> wrote:
>>>
>>> On 24 Feb 2014, at 20:23, Juan Pablo Carbajal <[hidden email]> wrote:
>>>
>>>> On Mon, Feb 24, 2014 at 5:37 PM, c. <[hidden email]> wrote:
>>>>> setenv ("CPPFLAGS", "-I/usr/include/eigen3")
>>>>
>>>> We should capture this flags from installation/compilation time and
>>>> change PKG_ADD consistently.
>>>
>>> I don't understand what you mean exactly, should we capture the flags when configuring Octave or when configuring the package?
>>> c.
>>
>> To install (i.e. build)  the package one needs to define CPPFLAGS, so
>> at this time we could capture the flags and modify PKG_ADD
>> accordingly, right? or is there a counter indication to this?
>
> The flags are not needed once the package is built and installed,
> right? So I don't think PKG_ADD is relevant at all. I haven't been
> following this thread too closely, but it sounds like all that is
> needed is an improved configure.ac to search for the necessary header
> files and libraries in the most common locations. Things like
> pkg-config help greatly, if eigen and dolfin provide pkg-config files.
>
> --
> mike

Hi mike,
According to this user:

Thanks! It solved the dolfin.h not found problem. I also found out
that setting CPPFLAGS to -I/usr/include/eigen3 alone is sufficient. In
order to use the package, it has to be set before starting octave as
well. Otherwise I still get "Eigen/Dense not found" when fem-fenics is
run.

it seems that the paths are needed during use of the package as well.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

c.-2
In reply to this post by Mike Miller

On 24 Feb 2014, at 21:37, Mike Miller <[hidden email]> wrote:

> The flags are not needed once the package is built and installed,
Mike -- Actually with fem-fenics they are, as it generates C++ code
and compiles it during its normal operation.
c.
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: fem-fenics 0.0.1 released

Mike Miller
On Mon, Feb 24, 2014 at 22:11:33 +0100, c. wrote:
>
> On 24 Feb 2014, at 21:37, Mike Miller <[hidden email]> wrote:
>
>> The flags are not needed once the package is built and installed,
> Mike -- Actually with fem-fenics they are, as it generates C++ code
> and compiles it during its normal operation.

Ok I see, that makes sense. Sorry for the noise :)

--
mike
_______________________________________________
Help-octave mailing list
[hidden email]
https://mailman.cae.wisc.edu/listinfo/help-octave