octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fem-fenics] Build system


From: Eugenio Gianniti
Subject: [fem-fenics] Build system
Date: Thu, 6 Mar 2014 16:09:05 +0000



I will be careful not to do a similar error in the future. I’m working at a polished proposal,
way less intrusive. I now have a development VM with Ubuntu on it and the package builds
fine in it. I am waiting for the build of the core Octave repository to test it with the examples,
then I will submit a working patch for you to evaluate.

When installing fem-fenics with my edits I get the following error:

>> pkg install fem-fenics.tar.gz

If you do

pkg install fem-fenics.tar.gz -verbose

do you get a more detailed explanation of the error ?
What are the edits you have made ?
Are you able to install it from forge using the workarounds discussed here [1] ?

I attach the preliminary patch (pkg-config-patch.diff) I’m using so that you know what are my edits.

I was able to install both the Forge package and the one I’m testing. I noticed going through the Forge distributed tarball that I needed to ./bootstrap my version before packaging.

I wasn’t able to have a successful run of the examples with neither of the two, so I attach a comprehensive set of errors and crashes (errors.txt) to ask for advice. Here I summarise my attempts for your convenience:
     1) Installing the Forge fem-fenics with the suggested export of the preprocessor flags leads in most cases to an Octave crash for a failed symbol lookup related to an openmpi shared library
     2) Installing my tarball with the suggested environment ends up as (1)
     3) If after installing the Forge package as in (1) I unset CPPFLAGS Octave errors out with a compilation error due to the <Eigen/Dense> missing include
     4) Without CPPFLAGS set my tarball does install, anyway Octave errors out as in (3)
     5) It is not reported in the attachment, but the Forge package doesn’t install without exporting CPPFLAGS

First of all I’d like to know if the openmpi issue is known and, in case, I would kindly ask for a reference to where it is addressed. Furthermore, examples (3) and (4) suggest that the build system is fragile to headers which are not in the standard include directories. I would propose to add proper environment variables definitions through PKG_ADD [1]. If I’m not getting it wrong that file allows for Octave commands to be run at the moment of loading the package. I would use a system() call like others I can see in the core repository m-files. Anyway I don’t know if such a call supports setting environment variables: the best situation would be if they were set for the Octave process and then unset after exiting. Actually I expect this latter behaviour, since ./octave is executed and not sourced, but I would like to know if exporting in the first place is possible.

Eugenio

Attachment: pkg-config-patch.diff
Description: pkg-config-patch.diff

Attachment: errors.txt
Description: errors.txt




 
copyfile: no files to move
error: called from 'copyfile' in file /home/eugenio/Octave/install/share/octave/4.1.0+/m/miscellaneous/copyfile.m near line 88, column 5
error: called from:
error:   /home/eugenio/Octave/install/share/octave/4.1.0+/m/pkg/private/install.m at line 199, column 5
error:   /home/eugenio/Octave/install/share/octave/4.1.0+/m/pkg/pkg.m at line 384, column 9

The tarball contains the directory fem-fenics. I’m not sure if it is correct, because what I found on the subject is only [1], in which it seems like a package is just like that, and [2], in which there are more steps to fulfil, but if I’m not wrong it is for actually releasing, not strictly needed to try and install it.

If compiled with ./configure && make from src the build succeeds, so I would ask you advice on how to solve the issue mentioned, in order for me to test if the package actually works when loaded in Octave.

Eugenio



Eugenio


Don't be shy to ask questions and to interact with the community, your willingness
and ability to do so is one of the key elements in making your application successful.

HTH
c.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]