Giter VIP home page Giter VIP logo

Comments (15)

ThadHouse avatar ThadHouse commented on July 16, 2024 1

Technically no, but if we can only maintain a single docker image that'd be better for maintaining

from ntcore.

PeterJohnson avatar PeterJohnson commented on July 16, 2024

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.

PeterJohnson avatar PeterJohnson commented on July 16, 2024

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.

PeterJohnson avatar PeterJohnson commented on July 16, 2024

apt dependencies: g++-multilib, lib32stdc++6, python3, python3-pip, clang-format-3.8

Also want to run: pip3 install --user wpiformat

from ntcore.

JLLeitschuh avatar JLLeitschuh commented on July 16, 2024

RoboRIO ARM toolchain is here

Do I need to add it regardless of what the compiler target is (Linux desktop vs arm)?

from ntcore.

PeterJohnson avatar PeterJohnson commented on July 16, 2024

By default gradle builds both. There's flags to disable either arm or native, but why pay the startup time twice?

from ntcore.

JLLeitschuh avatar JLLeitschuh commented on July 16, 2024

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.

PeterJohnson avatar PeterJohnson commented on July 16, 2024

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.

JLLeitschuh avatar JLLeitschuh commented on July 16, 2024

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.

PeterJohnson avatar PeterJohnson commented on July 16, 2024

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.

JLLeitschuh avatar JLLeitschuh commented on July 16, 2024

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.

PeterJohnson avatar PeterJohnson commented on July 16, 2024

OBE by allwpilib merge.

from ntcore.

JLLeitschuh avatar JLLeitschuh commented on July 16, 2024

OBE?

from ntcore.

AustinShalit avatar AustinShalit commented on July 16, 2024

OBE = Overcome By Events

from ntcore.

AustinShalit avatar AustinShalit commented on July 16, 2024

#209 (comment)

from ntcore.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.