NGsolve stable and nightlies won't work for us. Let's try to solve the dependency/Debian packaging hell ourselves

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

NGsolve stable and nightlies won't work for us. Let's try to solve the dependency/Debian packaging hell ourselves

Post by Kunda1 »

Per the ngsolve/netgen forum
Starting with release 6.2.1711 Ubuntu packages are now hosted on Launchpad.

Stable: https://launchpad.net/~ngsolve/+archive/ubuntu/ngsolve
Nightly: https://launchpad.net/~ngsolve/+archive/ubuntu/nightly
EDIT: NGsolve is not the same as Netgen. It depends on oce which is a deal breaker.
Last edited by Kunda1 on Fri Jan 19, 2018 3:05 pm, edited 4 times in total.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Netgen stable and nightlies

Post by triplus »

Good to hear that.

P.S: Will likely help us when it comes to FreeCAD PPA/AppImage effort.
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: Netgen stable and nightlies

Post by looo »

does ngsolve include netgen?
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Netgen stable and nightlies

Post by Kunda1 »

looo wrote: Tue Jan 09, 2018 5:20 pm does ngsolve include netgen?
If you look in the ngsolve repo, you'll see it uses netgen as a submodule.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Netgen stable and nightlies

Post by triplus »

I see this PPA is more about NGSolve and less about Netgen. In addition currently it looks like there might be some package conflicts as they use liboce and we use OCC from PPA. And there seems to be some clash involved when trying to install NGSolve.

Anyway at least it's a start. And who knows maybe there will be an official Netgen related PPA in the future. In addition if they officially provide NGSolve on PPA likely more experience on their side in this area will result in better general Netgen support on Linux in the future.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Netgen stable and nightlies

Post by sgrogan »

triplus wrote: Tue Jan 09, 2018 5:38 pm I see this PPA is more about NGSolve and less about Netgen.
It seems the project is geared towards building everything. NGSolve depends on Netgen which depends on nglib. nglib and the netgen-headers are all that we need for FreeCAD (actually just libnglib.so unless you are compiling and linking FreeCAD to nglib)
triplus wrote: Tue Jan 09, 2018 5:38 pm n addition currently it looks like there might be some package conflicts as they use liboce and we use OCC from PPA.
This is definitely a problem so this package won't work with the PPA. Also netgen sources need to be patched to use OCCT 7.x.
triplus wrote: Tue Jan 09, 2018 5:38 pm And there seems to be some clash involved when trying to install NGSolve.
Do you have a newer oce installed, perhaps from the FreeCAD-stable PPA? The NGSolve package uses the default distro oce.
"fight the good fight"
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: NGsolve stable and nightlies

Post by triplus »

Likely they will need to sort out some install dependency first. As the package tries to install oce -dev packages. And such packages are usually only needed for building the package.

P.S. But then again i didn't investigate in-depth for now. And it could be something else related to my system.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: NGsolve stable and nightlies

Post by sgrogan »

triplus wrote: Wed Jan 10, 2018 4:53 pm As the package tries to install oce -dev packages
I noticed that NGSolve lists several dev packages and g++ and gcc as run time depends. Maybe the solver compiles some stuff on the fly at runtime? I think Fenics does this as well but it has it's own compiler.
"fight the good fight"
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: NGsolve stable and nightlies

Post by looo »

As far as I remember, we can not use netgen6.2 directly. Basically there is one change of the newer netgen where I didn't find a easy solution on our side. For the conda netgen-package I use a modified netgen source. Basically it's this line which needs some more effort to get solved for smesh in FreeCAD.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: NGsolve stable and nightlies

Post by sgrogan »

looo wrote: Wed Jan 10, 2018 10:13 pm For the conda netgen-package I use a modified netgen source
Do you build NGSolve or NetGen or just nglib? The problem seems to be NetGen is going for one big package and FreeCAD only uses a small fraction of the package. We only need libngen-dev and the netgen-headers. This is leading to dependency bloat. If we provide a ppa for what FreeCAD needs, we need to provide the full bloated package for users that use NetGen for something else. FreeCAD can't really use any of the stuff in the newer Netgen versions because supporting it cross platform with whatever oce/occt version that platform is using.

This is getting more like SMESH/SALOME. I know we are trying to move stuff out of 3rd party and it's a nightmare for the developers to maintain, but as a packager netgen is a PITA.

EDIT: I probably should have put this whole post in [rant][rant] tags, but it is extremely frustrating.
"fight the good fight"
Post Reply