Comments (15)
Technically no, but if we can only maintain a single docker image that'd be better for maintaining
from ntcore.
RoboRIO ARM toolchain is here: https://launchpad.net/~wpilib/+archive/ubuntu/toolchain-beta
You'll need to add:
sudo add-apt-repository ppa:wpilib/toolchain-beta -y
sudo apt-get update -q
sudo apt-get install frc-toolchain -y
from ntcore.
Distro wise, I think we only care about Ubuntu 16.04 right now. There's really no reason it shouldn't work on other distros, so I'm not seeing an advantage to actually doing CI testing on them.
from ntcore.
apt dependencies: g++-multilib
, lib32stdc++6
, python3
, python3-pip
, clang-format-3.8
Also want to run: pip3 install --user wpiformat
from ntcore.
RoboRIO ARM toolchain is here
Do I need to add it regardless of what the compiler target is (Linux desktop vs arm)?
from ntcore.
By default gradle builds both. There's flags to disable either arm or native, but why pay the startup time twice?
from ntcore.
I'm wondering if it is faster to build each in parallel using the build matrix? If you don't think so I can make it one Docker image. If building each one sequentially is significantly slower then it may make sense to create two travis jobs.
from ntcore.
Well, it makes sense to make it one Docker image either way right? We can always decide to build it as separate jobs with the same Docker image?
from ntcore.
The docker image, (if not uploaded to the docker hub or similar) will get re-built for every test. I don't know how long it takes to install the arm compiler.
from ntcore.
ah. in that case, yes, it may be faster to be two in parallel with the build matrix. The flags are -PskipAthena
for native only, -PonlyAthena
for roborio only. The roborio only build only needs the frc-toolchain package, the native one needs g++-multilib, python3, etc.
from ntcore.
EDIT:
It might help if I clean my environment before I shove the project into the docker container.
You can ignore the rest of this.
Command:
./gradlew build -PskipAthena --stacktrace --console=plain
Error I get:
:linkNtcoreSharedLibrary/usr/src/app/build/objs/ntcore/shared/ntcoreCpp/czv21mas3ztwkli314ii733dt/Notifier.o: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Dockerfile:
FROM ubuntu:16.04
RUN \
apt-get update && \
apt-get install -y software-properties-common curl g++-multilib lib32stdc++6 python3 python3-pip clang-format-3.8 && \
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
add-apt-repository -y ppa:webupd8team/java && \
apt-get update && \
apt-get install -y oracle-java8-installer && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/oracle-jdk8-installer && \
pip3 install --user wpiformat
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app
Thoughts??
from ntcore.
OBE by allwpilib merge.
from ntcore.
OBE?
from ntcore.
OBE = Overcome By Events
from ntcore.
from ntcore.
Related Issues (20)
- Get 32-bit JVM builds working
- wait for notifier queue to clear HOT 10
- Cannot build with cmake anymore HOT 29
- Error when Gradle Building ntcore HOT 11
- entry instance handles are completely invalid when a name is deleted
- Potential issues when deleting entries HOT 1
- DeleteAllEntries subtle bug HOT 1
- LoadEntries flag bug
- SendableChooser change listener no longer (easily) exists HOT 1
- What to do after publishing in Maven locally? HOT 2
- segfault in OutlineViewer.jar HOT 6
- Can't build on raspian HOT 2
- Describe potential synchronization scenarios and desired results HOT 1
- Cannot use C interface with gcc HOT 6
- NetworkTables writes hang if flush is used more often than the update rate
- NetworkTableEntry.callRpc is package-private HOT 1
- Build Failing on TX1 aarch64 HOT 1
- Error compiling ntcore for windows x64 HOT 1
- NetworkTables Desktop Client and WPILib Desktop Simulation 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 ntcore.