need a helping hand to setup fem on debian jessie

Having trouble installing or compiling FreeCAD? Get help here.
django013
Posts: 106
Joined: Tue Jan 13, 2015 7:51 am

need a helping hand to setup fem on debian jessie

Postby django013 » Tue Jul 07, 2015 5:44 am

Hello,

build of fc from git-master works fine so far, but I have really trouble to get the "soft" dependencies to work.
I found calculix packages with an executable, that fails with runtime error (missing some dynamic lib), other packages of calculix have source, that don't compiles ...
At least I got spooles built, not sure, whether built of arpack was right (I had to change commandline-option of f77).
I tried to change makefile of calculix to use debians libarpack - but build fails ...

I found an outdated thread about calculix build here, seems quite outdated, as it did noch work on my system - but may be a pebcak :(

At fc level i tried to use gmsh macro - but it only starts consuming 100% cpu for quite a big while, than cpu gets released, but nothing happens at fc.

So I don't know, where to start, as I don't have any error message.

When i clone netgen repo and start cmake, result is:

Code: Select all

  Enabled functionality:

    OCC: ............... OFF
    JPEGlib: ........... OFF
    FFMPEG: ............ OFF
    GUI: ............... ON
    MPI: ............... OFF
    PYTHON: ............ ON
I think, it should at least use the oce used to build fc.
Furthermore it would be nice, to have an ON for jpeglib and ffmpeg too. Both packages are installed, so I don't know, why there's an OFF ...
I don't know cmake - where should i tweak the configuration?

Could anybody please help me get all things around fc to run, to start using fem-wb?

FC-Info:
OS: Debian GNU/Linux 8.1 (jessie)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.5196 (Git)
Build type: Unknown
Branch: master
Hash: cc281d482e71fe911289f873f3610cd1f0a559a8
Python version: 2.7.9
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17

In case someone has the same problems, I collect my steps here:
fem-wb needs calculix.
I happened to find a nice description about building Calculix
Calculix does not have an install job, so ccx_2.8p2 needs to be copied to /usr/bin manually (as mentioned in README.INSTALL).
A softlink relaxes the call

Code: Select all

ln -s /usr/bin/ccx_2.8p2 /usr/bin/ccx
Next big step is netgen
Debian has a package for squeeze and for sid, but not for jessie :(
netgen uses cmake too, so add -D USE_OCC=ON -D OCE_DIR=/usr/local/lib/oce-0.17 to cmake commandline.

When netgen build succeeded, fc needs some tweaks too:
cmake needs this additional parameters:

Code: Select all

-D BUILD_FEM_NETGEN=ON -D FREECAD_USE_EXTERNAL_PIVY=ON -D CMAKE_INSTALL_DATADIR=share/freecad -D CMAKE_INSTALL_DOCDIR=share/doc/freecad -D CMAKE_CXX_FLAGS=-std=c++11 
and cMake/FindNETGEN.cmake should be changed to this:

Code: Select all

# Try to find nglib/netgen
# Once done this will define
#
# NGLIB_INCLUDE_DIR   - where the nglib include directory can be found
# NGLIB_LIBRARIES     - Link this to use nglib
# NETGEN_INCLUDE_DIRS - where the netgen include directories can be found
#
# See also: http://git.salome-platform.org/gitweb/?p=NETGENPLUGIN_SRC.git;a=summary

if(NOT NETGENDATA)
    SET(NETGENDATA /usr/local/src/netgen-mesher)
endif()
if(NOT NETGEN_LS)
    SET(NETGEN_LS /usr/local/src/netgen-mesher/libsrc)
endif()

# nglib
FIND_PATH(NGLIB_INCLUDE_DIR nglib.h ${NETGENDATA}/nglib)
FIND_LIBRARY(NGLIB_LIBRARIES nglib  /opt/netgen/lib)

# netgen headers
SET(NETGEN_INCLUDE_DIRS ${NETGEN_LS}/include)
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS})

add_definitions(-DNETGEN_V5 -DNO_PARALLEL_THREADS -DOCCGEOMETRY)

FIND_PATH(NETGEN_DIR_csg csg.hpp PATHS ${NETGEN_LS}/csg)
FIND_PATH(NETGEN_DIR_gen array.hpp PATHS ${NETGEN_LS}/general)
FIND_PATH(NETGEN_DIR_geom2d geom2dmesh.hpp PATHS ${NETGEN_LS}/geom2d)
FIND_PATH(NETGEN_DIR_gprim gprim.hpp PATHS ${NETGEN_LS}/gprim)
FIND_PATH(NETGEN_DIR_la linalg.hpp PATHS ${NETGEN_LS}/linalg)
FIND_PATH(NETGEN_DIR_mesh meshing.hpp PATHS ${NETGEN_LS}/meshing)
FIND_PATH(NETGEN_DIR_occ occgeom.hpp PATHS ${NETGEN_LS}/occ)
FIND_PATH(NETGEN_DIR_stlgeom stlgeom.hpp PATHS ${NETGEN_LS}/stlgeom)

SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_csg})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_gen})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_geom2d})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_gprim})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_la})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_mesh})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_occ})
SET(NETGEN_INCLUDE_DIRS ${NETGEN_INCLUDE_DIRS} ${NETGEN_DIR_stlgeom})
With this fc build should work. Next I'll go for runtime problems ...
Last edited by django013 on Sat Jul 18, 2015 4:47 am, edited 3 times in total.
OS: Linux Debian Jessie amd64 - FC: Git Master
drei
Posts: 479
Joined: Sun May 11, 2014 7:47 pm
Location: Mexico
Contact:

Re: need a helping hand to setup fem on debian jessie

Postby drei » Tue Jul 07, 2015 6:33 pm

Hello django013,

First, let's confirm you have Calculix (ccx) installed. I found this link about Calculix binaries for Debian.Perhaps it could be useful, else we'll have to guide you on setting up ccx manually.

Next, let's properly install gmsh as well. Official package. After that, confirm you can run gmsh from the console, just type gmsh in the command line and press enter. Some dialog listing all possible options should appear. Else we'll have to compile that as well.

If you could install gmsh directly, the GMSH macro should run without problems now. If not, we'll have to do a couple of tests and inform the developer about the bugs you may find.

About cmake, I'd recommend you use cmake-gui instead of cmake since I think it would be more intuitive to you.

I'll post later with further explanations, gotta get a good idea of your problems first. ;)
Need help? Feel free to ask, but please read the guidelines first
User avatar
PrzemoF
Posts: 2752
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: need a helping hand to setup fem on debian jessie

Postby PrzemoF » Tue Jul 07, 2015 7:19 pm

Some comments:
- get ccx binary i.e. from here: http://www.dhondt.de/ccx_2.8p2.tar.bz2
- gmsh GMSHMacro are optional. If you have problems with gmsh start FreeCAD from terminal command line and watch output from the GMSH macro.
- take a look here [1]. Those changes might work on debian as well
- in general try to start FreeCAD from terminal - there will be a lot of useful messages

[1] viewtopic.php?f=18&t=11692

P.S. Please report any errors or problems. I want to make FEM wb easily compilable and working on all platforms
django013
Posts: 106
Joined: Tue Jan 13, 2015 7:51 am

Re: need a helping hand to setup fem on debian jessie

Postby django013 » Wed Jul 08, 2015 6:36 am

Hi,

thanks for your attention! I appreciate your help a lot, as I think, that none of my problems is a fc-error ...
- get ccx binary i.e. from here: http://www.dhondt.de/ccx_2.8p2.tar.bz2
That was my first try - guess I found the link at one of your former postings.

Errormessage:

Code: Select all

./ccx_2.8p2: error while loading shared libraries: libgfortran.so.2: cannot open shared object file: No such file or directory
but libgfortran is installed:

Code: Select all

ii  libgfortran-4.9-dev:amd64   4.9.2-10    amd64    Runtime library for GNU Fortran applications (development files)
ii  libgfortran3:amd64          4.9.2-10    amd64    Runtime library for GNU Fortran applications
So I thought - may be I have to look for the source and build it myself.
First, let's confirm you have Calculix (ccx) installed. I found this link about Calculix binaries for Debian.
Yes, I found the same, but that package is for sid - not for jessie.
I never did such hack - I fear running into trouble with non-existing dependencies - I'm only a linux user :(
About cmake, I'd recommend you use cmake-gui instead of cmake since I think it would be more intuitive to you.
I tried it, but will purge it next - I hate tools, that try to write at root-directory without asking for permission.
That are very poor ported windows apps - I don't want such tools on my workstation :(
First, let's confirm you have Calculix (ccx) installed.
Failed.
To build calculix, I already fail to build the dependencies as written in the first post.
Building spooles worked so far. On ARPACK I had to remove the option -cg89 - the fortran compiler of my system doesn't know this option.
Then I changed the suffix "SUN4" to "INTEL" as calculix searches for the INTEL-Variant ...

Build of Calculix then fails with this error-message:

Code: Select all

../../../ARPACK/libarpack_INTEL.a(second.o): In function `second_':
second.f:(.text+0x11): undefined reference to `etime_'
collect2: error: ld returned 1 exit status
Next, let's properly install gmsh as well.
No problem. gmsh is in stable repository

Code: Select all

ii  gmsh         2.8.5+dfsg-1.1+b1     amd64   Three-dimensional finite element mesh generator       
ii  gmsh-doc     2.8.5+dfsg-1.1          all   Three-dimensional finite element mesh generator  
Next I'll try to start fc with gmsh from commandline ...

Ok, got this result:

Code: Select all

Running: /usr/bin/gmsh /tmp/tmp5FWaZX.step -3 -format unv -o /tmp/Compound_Mesh.unv -algo netgen -clmax 5,00   -optimize -order 2
Unexpected error in GMSHMesh macro: <class 'subprocess.CalledProcessError'>
step-file was created with 700k and unv-file with 470Mb ...
OS: Linux Debian Jessie amd64 - FC: Git Master
django013
Posts: 106
Joined: Tue Jan 13, 2015 7:51 am

Re: need a helping hand to setup fem on debian jessie

Postby django013 » Wed Jul 08, 2015 7:33 am

- take a look here [1]. Those changes might work on debian as well
Thanks! That was a big pointer!

So I noticed, how to change run of cmake ...

and I tried this:

Code: Select all

cmake -D USE_OCC=ON
and I realized, that "find_package" uses wrong precedence.
It finds the include files of an older oce installation at /usr (official debian package) and finds the libs in the actual package at /usr/local ...

So I edited CMakeCache.txt and changed OCC_INCLUDE_DIR from /usr/include/oce to /usr/local/include/oce
OCE_DIR looked quite ok ...

Then I started the build, and it passed :)

Now I can try an fc build with netgen enabled ...
OS: Linux Debian Jessie amd64 - FC: Git Master
User avatar
PrzemoF
Posts: 2752
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: need a helping hand to setup fem on debian jessie

Postby PrzemoF » Wed Jul 08, 2015 8:19 am

OK, I had problems with fortran libs as well on fedora and I had to copy it from a rpm file - that might not work for you. Looks like some fortran libs are not backward compatible. There is a thread [1] about ccx for debian. Also bernd wrote that he compiled ccx - we might ask him for help.

Compiling FreeCAD with netgen... That post [2] suggests that debian had similar problems as fedora: unusual netgen header locations and some API changes between netgen < 5.0 and >=5.0. I know how to solve them it that's still a problem - the netgen_v1 branch solves those for fedora, so we might extend it for debian if necessary.

[1] viewtopic.php?f=4&t=5975
[2] viewtopic.php?t=5285#p42125
django013
Posts: 106
Joined: Tue Jan 13, 2015 7:51 am

Re: need a helping hand to setup fem on debian jessie

Postby django013 » Wed Jul 08, 2015 8:58 am

There is a thread [1] about ccx for debian.
Yes, already read it.
... and I agree with NormandC, that I don't like changing source code packages that way!
... and I went for git-repo and cmake
... but Calculix is very ugly. Using cmake should relax from the need of hardcoding external dependencies ...

... but actually I run in a problem with fc.
I finally solved to build netgen, but when I run it, it states:

Code: Select all

NETGEN-6.1-dev
Developed by Joachim Schoeberl at
2010-xxxx Vienna University of Technology
2006-2010 RWTH Aachen University
1996-2006 Johannes Kepler University Linz
Including OpenCascade geometry kernel
cannot load package Tix
error : can't find package Tix
optfile ./ng.opt does not exist - using default values
OCC module loaded
So I missed a dependency on tix :O

When I try a rebuild of fc (after removing CMakeCache.txt) with

Code: Select all

cmake -D BUILD_FEM_NETGEN=ON .
I get this bunch of errors from cmake:

Code: Select all

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
NETGEN_DIR_csg
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NETGEN_DIR_gen
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NETGEN_DIR_geom2d
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NETGEN_DIR_gprim
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NETGEN_DIR_la
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NETGEN_DIR_mesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NETGEN_DIR_occ
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NETGEN_DIR_stlgeom
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NGLIB_INCLUDE_DIR
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
   used as include directory in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
NGLIB_LIBRARIES
    linked by target "Driver" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "DriverDAT" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "DriverSTL" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "DriverUNV" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "MEFISTO2" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "NETGENPlugin" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "SMDS" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "SMESH" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "SMESHDS" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh
    linked by target "StdMeshers" in directory /usr/local/src/free-cad-code/src/3rdParty/salomesmesh

-- Configuring incomplete, errors occurred!
NETGEN_DIR is set to /opt/netgen/bin
OS: Linux Debian Jessie amd64 - FC: Git Master
User avatar
PrzemoF
Posts: 2752
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: need a helping hand to setup fem on debian jessie

Postby PrzemoF » Wed Jul 08, 2015 9:13 am

CalculiX code is ... ugly by todays standards (but it works!!) and looks like nobody wants to tackle ancient make files and fortran :lol:

Can you check where in your system are located those netgen header files:

csg.hpp
array.hpp
geom2dmesh.hpp
gprim.hpp
linalg.hpp
meshing.hpp
array.hpp
occgeom.hpp
geom2dmesh.hpp
stlgeom.hpp

They will be probably in different sub directories of one directory.
We'll have to add a section like this:

Code: Select all

if(NOT NETGENDATA_FEDORA)
    SET(NETGENDATA_FEDORA /usr/include/netgen-mesher/private)
endif()
to FindNETGEN.cmake file
django013
Posts: 106
Joined: Tue Jan 13, 2015 7:51 am

Re: need a helping hand to setup fem on debian jessie

Postby django013 » Wed Jul 08, 2015 9:47 am

Finally - Calculix build :)

I found the important hint here: https://gcc.gnu.org/ml/fortran/2007-03/msg00305.html

So I edited ARPACK/UTIL/second.f
and changed lines:

Code: Select all

     REAL               ETIME
     EXTERNAL           ETIME
to these lines:

Code: Select all

*     REAL               ETIME
      EXTERNAL REAL      ETIME
Then rebuild of ARPACK followed by Calculix build ...
Can you check where in your system are located those netgen header files:

Code: Select all

. is /usr/local/src

./netgen-mesher-git/libsrc/include/csg.hpp
./netgen-mesher-git/libsrc/general/array.hpp
./netgen-mesher-git/libsrc/geom2d/geom2dmesh.hpp
./netgen-mesher-git/libsrc/include/gprim.hpp
./netgen-mesher-git/libsrc/include/linalg.hpp
./netgen-mesher-git/libsrc/include/meshing.hpp
./netgen-mesher-git/libsrc/include/occgeom.hpp
./netgen-mesher-git/libsrc/include/stlgeom.hpp
They will be probably in different sub directories of one directory.
We'll have to add a section like this:
Hm, I don't have a directory "private"
Many packages recommend calling that directory "build" and so do I.
OS: Linux Debian Jessie amd64 - FC: Git Master
User avatar
PrzemoF
Posts: 2752
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: need a helping hand to setup fem on debian jessie

Postby PrzemoF » Wed Jul 08, 2015 10:24 am

django013 wrote:Finally - Calculix build :)
On my personal scale how hard is to compile a software, ccx is at the very top with nothing close to it. Congratulations!
Can you check where in your system are located those netgen header files:

Code: Select all

. is /usr/local/src

./netgen-mesher-git/libsrc/include/csg.hpp
./netgen-mesher-git/libsrc/general/array.hpp
./netgen-mesher-git/libsrc/geom2d/geom2dmesh.hpp
./netgen-mesher-git/libsrc/include/gprim.hpp
./netgen-mesher-git/libsrc/include/linalg.hpp
./netgen-mesher-git/libsrc/include/meshing.hpp
./netgen-mesher-git/libsrc/include/occgeom.hpp
./netgen-mesher-git/libsrc/include/stlgeom.hpp
[..]
Hm, I don't have a directory "private"
Many packages recommend calling that directory "build" and so do I.
That doesn't look like a normal header location (suffix -git), so I'm not sure if we should add them to FindNETGEN.cmake. Some debian specalist advice is required...

You can do one of those 2 compile with BUILD_FEM_NETGEN switched on:
1. Use cmake-gui and type "NETGEN"is Search box and set all NETGEN_DIR_* directories
or
2. Pull netgen_v1 from my github account and edit cMake/FindNETGEN.cmake to include header file locations. Use NETGENDATA_FEDORA as a template
cron