Skip to content

Commit ae1ee37

Browse files
committed
Update build instructions
1 parent fec6b4d commit ae1ee37

File tree

6 files changed

+30
-22
lines changed

6 files changed

+30
-22
lines changed

_building/building.md

+13-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,20 @@
11
---
22
layout: page
3-
title: Building ruby-processing projects
3+
title: Developing / Building ruby-processing projects
44
---
55

6+
All projects can be built on 64 bit linux, including PiCrate for RaspberryPI. Failing that use Windows, Apple is close to useless for open source development, I would be glad if you could prove wrong...
7+
8+
I use [Netbeans][netbeans] when developing java components and [Atom][atom] for:-
9+
1. Developing ruby components (and creating and running sketches)
10+
2. Automating github
11+
3. Creating markdown (and previewing) documentation
12+
13+
Any experienced developer might prefer other tools but the above work well for me, from time to time I might use vim combined with commandline tools (eg rubocop) instead of atom.
14+
615
# Tools of the Trade
716

8-
You will need to install jdk11+, maven (apache-maven-3.8.3+), jruby-9.3.0.0+, and have access to processing jogl jars. Note we prefer a local install of [minitest][minitest] for testing.
17+
You will need to install jdk11+, maven (apache-maven-3.8.3+), jruby-9.3.2.0+, and have access to processing jogl jars. Note we prefer a local install of [minitest][minitest] for testing.
918

1019
# How to build ruby-processing projects
1120

@@ -21,6 +30,8 @@ It really is as simple as that...
2130

2231
We are using a [polyglot maven build][polyglot] and the pom.xml is only produced for reference, if modifications are required modify `pom.rb`, `Rakefile` and `*.gemspec` please don't alter the `Gemfile` (_which is only included for bundler fans_), preferably don't use `bundler` you probably don't need it, and it can't control jruby version, java version, jar version (or much else that is important to JRubyArt/propane). If your crutch is broken why use it?
2332

33+
[netbeans]: https://netbeans.apache.org/
34+
[atom]: https://atom.io/
2435
[local]: https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
2536
[minitest]: https://github.com/seattlerb/minitest
2637
[polyglot]: https://github.com/takari/polyglot-maven

_java/JRubyArt_propane.md

+4-9
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,9 @@ Prior to jdk9 there were no specific recommendations, linux user probably used v
99

1010
## Stock OpenJDK on linux
1111

12-
May not work with OpenGL (missing linker?). Diagnostic error message:-
12+
Require at least OpenJDK-11, prefer OpenJDK-17
1313

14-
```bash
15-
ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)'
16-
17-
```
18-
19-
## OpenJDK (Recommended version 11+)
14+
## OpenJDK (Recommended version 17+)
2015

2116
The development version of vanilla processing is using this version and I think it is a good choice, however to confuse matters it comes in several flavours. Vanilla processing is using the variant with a `hotspot` jvm, which is a good starting point. The ruby-processing group will be pleased to hear about anyone experimenting with the `OpenJ9` jvm.
2217

@@ -32,8 +27,8 @@ The development version of vanilla processing is using this version and I think
3227

3328
[Windows 64](https://adoptopenjdk.net/installation.html#x64_win-jdk)
3429

35-
### OpenJ9 jdk12+
30+
### OpenJ9 jdk17+
3631

37-
Is an excellent alternative (jdk16 version has been tested on linux)
32+
Is a possible alternative.
3833

3934
Use the latest versions of PiCrate, propane and JRubyArt to avoid reflective access warnings (you may need to define JAVA_HOME to get rid off the JRuby warnings).

_java/raspberry.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,20 @@ title: Choice of JDK on Raspbian Distro
55

66
# Recommended Setup For PiCrate
77

8-
## RaspbianOS Release (32 bit)
8+
## RaspberryPI OS Release (32 bit)
99

10-
The installed OpenJDK probably just works best.
10+
The [RaspberryPI OS][raspbian] installed OpenJDK probably just works best.
1111

1212
```bash
1313
sudo apt install openjdk-11-jdk # installs latest jdk11
1414
```
1515

1616
## ManjaroARM (64 bit)
1717

18-
The latest version of PiCrate works well with stock java install jdk16.
18+
The latest version of PiCrate works well with stock java install jdk17.
1919

2020
```bash
2121
sudo pacman -S jre-openjdk
2222
```
23+
24+
[raspbian]:https://www.raspberrypi.com/software/

_jruby/JRubyArt.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ permalink: /jruby/JRubyArt/
66

77
# Recommended JRuby Install For JRubyArt
88

9-
The preferred JRubyArt setup requires that you do a system install of JRuby. You should install java before attempting to install JRuby. Install at least version 9.3.0.0.
9+
The preferred JRubyArt setup requires that you do a system install of JRuby. You should install java before attempting to install JRuby. Install at least version 9.3.2.0.
1010

1111
# Alternative Setup For JRubyArt
1212

_jruby/raspberry.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ permalink: /jruby/raspberry
88

99
## Download
1010

11-
Download the latest JRuby release [here][download]. You could use `wget` (substituting latest version for for `9.3.0.0`):-
11+
Download the latest JRuby release [here][download]. You could use `wget` (substituting latest version for for `9.3.2.0`):-
1212

13-
`wget https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.3.0.0/jruby-dist-9.3.0.0-bin.tar.gz`
13+
`wget https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.3.2.0/jruby-dist-9.3.2.0-bin.tar.gz`
1414

1515
## Install
1616

1717
```bash
1818
cd /opt
19-
sudo tar xzvf ~/jruby-dist-9.3.0.0-bin.tar.gz # or ~/Downloads/...
20-
sudo update-alternatives --install /usr/bin/jruby jruby /opt/jruby-9.3.0.0/bin/jruby 100
21-
sudo update-alternatives --install /usr/bin/jgem jgem /opt/jruby-9.3.0.0/bin/jgem 100
22-
sudo update-alternatives --install /usr/bin/jirb jirb /opt/jruby-9.3.0.0/bin/jirb 100
19+
sudo tar xzvf ~/jruby-dist-9.3.2.0-bin.tar.gz # or ~/Downloads/...
20+
sudo update-alternatives --install /usr/bin/jruby jruby /opt/jruby-9.3.2.0/bin/jruby 100
21+
sudo update-alternatives --install /usr/bin/jgem jgem /opt/jruby-9.3.2.0/bin/jgem 100
22+
sudo update-alternatives --install /usr/bin/jirb jirb /opt/jruby-9.3.2.0/bin/jirb 100
2323
```
2424

2525
## Update

about.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ There are three main projects [JRubyArt][jruby_art], [PiCrate][picrate] and [pro
1414

1515
[Propane][propane] is a configuration free, complete version of ruby-processing (_does not require installed vanilla processing_) that depends on an installed jruby (_is slightly more experimental however since a modified PApplet is required with jdk9+ propane may take over in future_). Since propane-3.2.0, propane is compiled with jdk11, and thus jdk11 is a requirement.
1616

17-
[PiCrate][picrate] is a standalone version targetting the [RaspberryPI][rpi], but it can be developed and run 64 bit linux, tested with Raspberry OS (32 bit) and Manajaro Arm (64 bit). Needs at least RaspberryPI3B+, currently works best on RaspberryPI4. Suggested ide geany.
17+
[PiCrate][picrate] is a standalone version targetting the [RaspberryPI][rpi], but it can be developed and run 64 bit linux, tested with Raspberry OS (32 bit) and Manjaro Arm (64 bit). Needs at least RaspberryPI3B+, currently works best on RaspberryPI4. Suggested ide geany.
1818

1919
Other projects include the pbox2d gem (a gem wrapper around [jbox2d]), toxiclibs gem (a gem wrapper around [toxiclibs]) and geomerative gem (a gem wrapper around [geomerative]).
2020

0 commit comments

Comments
 (0)