Hello, Would any one be able to review this package for me?
I have fixed a couple of things and verified that autopkgtests work since sending this original email. kind regards, Steve On Sat, Dec 8, 2018 at 1:52 PM Stephen Sinclair <radars...@gmail.com> wrote: > > Hello science team, > > As previously mentioned I have been developing a package for Siconos, > a C++ framework for numerical simulation of non-smooth dynamical > systems. > > I would like to know if anyone would be willing to review this package > as it stands. The package is here: > https://salsa.debian.org/science-team/siconos > > ITP: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915656 > > Some notes on the package. Various binary packages are generated, > including C++ libraries, -dev, python packages, and command-line > tools. A master "siconos" package depends everything including dev > packages along with a script that uses them. > > * It has a few different usage modes that the package tries to be amenable to. > - First, as a set of C++ libraries, one C library that wraps a suite > of numerical solvers and then a C++ framework and various > sub-frameworks for different use cases (e.g. mechanical systems, > control problems, etc.); > - second, as a modeling framework, it provides a script that > compiles and launches a program driven by CMake; > - third, as a Python library, wrapped using SWIG. > > I note these because one major mode of *usage* of Siconos, namely the > use of the "siconos" script, requires build tools, so this should be > understood in case questions arise about the need for -dev packages > when the "siconos" package is installed. > > When only library packages are installed, it can be used like any > other shared library. > > Moreover siconos-mechanics-tools includes some Python scripts specific > to the mechanics subcomponent which generate HDF5 files based on a > scene description that can be visualized interactively in 3D (using > python-vtk7). > > * A serialization framework is available through BOOST serialization. > This is heavily templated C++ code. In combination with SWIG, these > two "compiler-wrappers" cause the compilation to balloon in needed > memory at certain points during the build. > > When turned on, which they are, a large amount of memory is needed for > compilation. I found that it overloads the Salsa CI gitlab runner, for > example, and on my laptop with 8 GB memory I must close the browser > while it is compiling else OOM. I am not sure if this will present > issues for Debian packaging, please advise. In particular this is why > I disabled parallel build. > > * All copyright issues have been cleared, anything not adhering to > Debian legal standards has been made optional and removed. If > anything is noticed please let me know. The main obstacle was the QP > solver (ql0001), which still needs to be replaced with a free option, > but Siconos works regardless so this can be hopefully fixed in a later > release. The upstream authors are aware. > > Finally: autopkgtests are included, although at the moment I have > having trouble getting autopkgtest working locally for any package > (weird errors about "file not found" and "cannot send to testbed" on a > brand-new schroot), but it worked previously so I hope it does not > cause issues. The package also passed on Salsa's Gitlab CI when I > disabled the options that cause memory issues, so I'm fairly > confident: https://salsa.debian.org/science-team/siconos/-/jobs/72019 > . I've stalled long enough sending this for review so I didn't want > to let this stop me. > > Due to working with upstream to get necessary changes in, the package > is currently based on a git version. > > I should mention, the last thing to do is symbols files, I have not > done it yet. I am not sure how to proceed with a complicated C++ > library to be honest, any advice is appreciated. > > My interest in the package is its use as a rigid body mechanics solver > for robotics applications. It is similar somehow to Bullet or ODE, > but not oriented towards games or really even to real-time, instead it > focuses on generalized modeling of dynamical systems and the use of a > wide array of collision solvers. In fact it uses Bullet for collision > detection, hence the dep from libsiconos_mechanics. > > regards, > Steve