Comments (8)
I already did all the work for removing the cpp specific part in the
numerics python module. Now it is always compiled as a C module.
A simple
cmake -DWITH_CXX=0 -DCOMPONENTS="externals;numerics" ~/siconos
make
ctest
make install
works for me. We could improve things a little bit by adding some logic
to disable the components written in C++ if WITH_CXX=OFF. We should also
add a test on CI to check that it works and will continue to do so.
I think a WITH_FORTRAN option would also be nice for Windows ... but
that's a different issue.
Olivier
- Perignon [email protected] [2016-03-11 07:25:28 -0800]:
A short issue (since Vincent likes this) : at the time, the option WITH_CXX=OFF does not work.
The idea is to compile externals+numerics only in C, which may be useful for specific env where only C compiler is available.
The question is : Is it really worth it to make it work?
Reply to this email directly or view it on GitHub:
#20
from siconos.
@xhub Cool. I will try to import a C version in LMGC90.
@radarsat1 told me that ninja build system does not support FORTRAN. Another interest to try to set up a WITH_FORTRAN option.
from siconos.
- Vincent Acary [email protected] [2016-03-11 09:04:27 -0800]:
@radarsat1 told me that ninja build system does not support FORTRAN. Another interest to try to set up a WITH_FORTRAN option.
Yeah but we loose all our event-driven integrators then (LSODAR + HEM5).
If we want more than numerics, this is an issue. We should add an option to use the ones from SUNDIALS.
For the windows build I have to use Unix MakeFiles because it looks
nontrivial to have gfortran called from a VS project file.
from siconos.
To be more specific it's really CMake that doesn't support Fortran as a Ninja target. Although I haven't read the whole thread, maybe there are some Fortran specifics that are hard to support in Ninja. But that's more of a CMake bug than a Siconos one ;) However, not likely to be fixed soon, I guess. I found it speeds things up quite a bit during a modify-compile cycle (while working with Gazebo), but it's only a nicety.
from siconos.
Should we add a feature request for the option WITH_FORTRAN ?
We will "only" lost one QP solvers, ODEPACK and HEM5. If we don't care to use an event--driven time--stepping scheme, siconos is usable without FORTRAN. In that case, we have to put some preprocessing instructions in Lsodar.cpp and HEM5.cpp
from siconos.
Could be interesting, although I have no idea if that would actually enable the Ninja build... it's possible that any reference to Fortran in CMakeLists.txt would make it impossible. Perhaps I'll test it.
from siconos.
from siconos.
I've opened #22 for a WITH_FORTRAN option and committed a CI config that test that option. Should be all set
from siconos.
Related Issues (20)
- Issue color in siconos_vexport HOT 3
- cmake fails with mechanisms component HOT 1
- error "Segmentation fault" while using siconos_vview command in ubuntu 22.04 LTS Linux WSL 2 in Windows 11 HOT 5
- Merge branch 'matrix-sync-version'. gmp_TEST_NSGS_COLLECTION_1 failed
- Rock falling through simulated terrain HOT 11
- Failure to compile on macOS (Error: Unknown directive '%make_picklable'.) HOT 9
- Interface SiconosAlgebra and python numpy/scipy
- cmake failure with BULLET_INSTALL option on ubuntu 20.04 / ubuntu 22.04 HOT 1
- How to turn off _warnOnNonConvergence flag ? HOT 3
- Siconos script do not longer accept arguments of C++ file
- How to cite the Siconos documentation HOT 3
- Can I create a Julia wrapper for siconos? HOT 6
- Reproducible Mechanics simulation HOT 2
- siconos bullet installation HOT 5
- siconos_vview crashes with occ backend and mechanisms component. HOT 1
- siconos_vview crashes due to "OSError: [Errno 24] Too many open files" HOT 1
- MechanicsHdf5Runner mode='r+' doesn't update hdf5 file HOT 2
- `siconos_vview siconos_mechanisms.hdf5` does no display contact information (normal and forces)
- occ backend is no longer produced with last cmake config and OpenCASCADE 7.4.0 HOT 2
- How to turn on openMP in SICONOS ? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from siconos.