navxmxp icon indicating copy to clipboard operation
navxmxp copied to clipboard

Linux Simulation Support

Open modelmat opened this issue 4 years ago • 8 comments

I am able to build this library on my linux machine and produce linuxx86-64 maven zips. Would it be possible to publish equivalents of this to maven so that Linux Simulation is possible?

I'd be happy to test it to see if there are any other issues.

modelmat avatar Feb 05 '20 07:02 modelmat

It's possible, will start looking into what's involved. Don't have a good way to test it, so will need your help w/that. Will update on this issue as things progress.

kauailabs avatar Feb 05 '20 08:02 kauailabs

Okay, thanks. I believe all that's needed is a Linux machine for building and testing.

modelmat avatar Feb 05 '20 08:02 modelmat

It's a drag the cross-compiling isn't supported, and it requires setting up a different machine for this to manage the linux simulation build process.

Are you aware of anyone else who might be wanting linux simulation capabilities? We must trade off the effort to do this versus developing our next-generation sensors. You're the only one who has asked, so if this is a one-off effort I'm not sure it's worth it from our side.

kauailabs avatar Feb 05 '20 18:02 kauailabs

Would "skipInvalidPlatforms": false do the trick? (Disclaimer: I have little idea how GradleRIO works.)

auscompgeek avatar Feb 14 '20 08:02 auscompgeek

I shouldn't think so - this issue that there are no platform builds for desktop on Linux.

modelmat avatar Feb 14 '20 09:02 modelmat

@kauailabs RobotPy compiles navx for Linux/Windows/OSX all using github actions -- I've been pretty happy with it compared to other CI solutions I've used in the past. Since you're completely open source (unlike CTRE, for example), using github actions might make sense for you and you'd be able to support all the simulation platforms, unlike most vendors.

virtuald avatar Feb 27 '20 05:02 virtuald

Just came to say that I'm interested in this feature as well. (FRC2021 kickoff)

> Task :linkFrcUserProgramLinuxx86-64ReleaseExecutable
/usr/bin/ld: /home/dereck/frc/SimDemo/build/objs/frcUserProgram/linuxx86-64/release/frcUserProgramCpp/cpxox320jmytzosewdh0ktd87/Drivetrain.o: in function `Drivetrain::GetYaw()':
Drivetrain.cpp:(.text+0x10): undefined reference to `AHRS::GetYaw()'
/usr/bin/ld: /home/dereck/frc/SimDemo/build/objs/frcUserProgram/linuxx86-64/release/frcUserProgramCpp/9760xtgdau9jsoxxi90ozrpww/Robot.o: in function `Drivetrain::Drivetrain()':
Robot.cpp:(.text._ZN10DrivetrainC2Ev[_ZN10DrivetrainC5Ev]+0x17a): undefined reference to `AHRS::AHRS(frc::SPI::Port)'
/usr/bin/ld: Robot.cpp:(.text._ZN10DrivetrainC2Ev[_ZN10DrivetrainC5Ev]+0x4dc): undefined reference to `AHRS::ZeroYaw()'
collect2: error: ld returned 1 exit status

dawonn avatar Jan 10 '21 14:01 dawonn

I would also like to see this, especially considering that it doesn't seem like you're open sourcing your newer code anymore.

person4268 avatar Jul 14 '22 09:07 person4268