Comments (8)
Hi Ewald, thank you for bringing out this issue.
At the moment I do not have a MacOS available. Let's see if someone can shed some light on the compilation errors.
What I know is that since 10.9 one has to replace libstd++ with libc++
from jsbsim.
Right you are!
I don't have a fix -- I'm going to leave that to the coding guru's. I did find the following article, which may be useful to that particular guru:
https://philbull.wordpress.com/2012/07/27/portability-issues-with-floating-point-exception-handling/
https://philbull.wordpress.com/2012/12/09/update-floating-point-exception-handling-on-mac-os-x/
What I do have, is a workaround, which you can find here:
https://github.com/WillemEerland/jsbsim/tree/macos-fix
It comments out two lines, and switched around a declaration of Aeromatic++ (Why does the compiler on MacOS complain, and not on Linux?)
It compiles on MacOS, and completes almost all tests, except "TestInputSocket".
97% tests passed, 1 tests failed out of 34
Total Test time (real) = 158.06 sec
The following tests FAILED:
10 - TestInputSocket (Failed)
Errors while running CTest
I believe it will only influence the Python library and only the input socket exception handling... so depending on what you're planning, this may work for you!
from jsbsim.
OK!
Aeromatic seems to not build using clang but it does with GCC. Here's what I did:
export CXX=g++-8
export CC=gcc-8
cmake ..
make -j 4
and this worked fine after I commented out those two lines in fpectmodule.cpp
from jsbsim.
@ezietsman and @WillemEerland the fpectl
Python module is only used to make sure that none of the tests raise a floating point exception. JSBSim does not need it for a day to day usage. Even the tests can be run without fpectl
, it is just that if a floating point exception is raised, it will be ignored and the test will continue.
I will investigate later how the fpectl
code can be modified to run on MacOS X as well.
Regarding TestInputSocket
it fails from time to time. This is most likely due to a race condition in it, you can run it again using the following command
> ctest -R TestInputSocket
If the failure was due to the race condition then it should succeed after a couple of try. If it does not, then you can get more information about the test failure with the -V
(verbose) flag.
> ctest -R TestInputSocket -V
from jsbsim.
I tried it five times, failed five times. Here's (part of) the more detailed report
10: End of vehicle configuration loading.
10: -------------------------------------------------------------------------------
10: ok
10:
10: ======================================================================
10: FAIL: test_no_input (main.TestInputSocket)
10: ----------------------------------------------------------------------
10: Traceback (most recent call last):
10: File "TestInputSocket.py", line 156, in test_no_input
10: TelnetInterface(fdm, 5., 1137)
10: AssertionError: error not raised
10:
10: ----------------------------------------------------------------------
10: Ran 3 tests in 2.856s
10:
10: FAILED (failures=1)
1/1 Test #10: TestInputSocket ..................***Failed 3.33 sec
from jsbsim.
OK so it seems fpectl isn't in python 3, which for various reasons, I need to use at the moment. I'm trying to integrate jsbsim into a game engine, so all I really want to do is to pass in (throttle, rudder, roll, pitch, delta_time) inputs and want back (X, Y, Z, roll, pitch, yaw, Vx, Vy, Vz) for each time step.
I'm happy to hack at JSBSim to allow it to build python 3 bindings but I may need some guidance.
from jsbsim.
@WillemEerland OK thanks for the report. It seems that TestInputSocket
fails for a reason different from a race condition on your system. Could you open a separate issue to address this topic ?
And in the meantime could you please check that the following lines of Python code raise a socket.error
exception on your platform as well ?
import telnetlib
telnetlib.Telnet("localhost", 1137, 2.0)
from jsbsim.
@ezietsman and @WillemEerland the PR #23 has been merged. I think this issue can now be closed ?
from jsbsim.
Related Issues (20)
- Can autopilot feature come to jsbsim- unreal engine 5? HOT 2
- MSVC: toupper is not a member of std HOT 1
- Missing target_include_directories in libJSBSim
- JSBSIM_ prefix in CMake options
- Cython warnings about 'tp_print' which is deprecated
- Wrong calculation of vPQRdot in FGAccelerations class HOT 4
- Fixing the mixture for JSBSim piston aircraft HOT 54
- Request: turbine spindown table or property support HOT 2
- Aircraft crashed on air when rolling consecutively HOT 15
- How Jsbsim models the "+" shaped tail fins of missiles and rockets. HOT 1
- JSBSimFlightDynamicsModel could not be loaded in Unreal Engine HOT 4
- AugmentCmd should be clamped to [0.0..1.0] HOT 5
- Transfer function make JSBSim close down HOT 2
- unresolved external symbol(s) logging/console related HOT 5
- Request: Unreal Marketplace Plugin HOT 5
- JSBSim can't interpolate between n dimensions
- Robocopy step errors if spaces in path. HOT 1
- Keyboard/Gamepad input non-functional in Unreal Plugin Project HOT 1
- aerodynamics_2_graphviz HOT 8
- Axis mapping doesn't work for elevators
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 jsbsim.