Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
cae4be4
Submodule fixes.
danoli3 Jan 15, 2025
6fccd0a
Updates nightly
danoli3 Jan 15, 2025
0c45d4a
Download libs [ 2.6.4 ~ 2.7.0] - Added GCC / Linux updates
danoli3 Jan 15, 2025
c6464b6
Linux Workflow updates / mkfile
danoli3 Jan 15, 2025
c5faaa7
Script moving oh no
danoli3 Jan 15, 2025
c370f8c
Linux Script Updates
danoli3 Jan 15, 2025
a28a90d
Downloader [2.7.1 ~ 2.7.2] exit error if fail on download of library …
danoli3 Jan 15, 2025
5a423d3
Linux Actions
danoli3 Jan 15, 2025
159bb73
download_libs [2.7.3 ~ 2.7.4] fix opt args for downloads Linux
danoli3 Jan 15, 2025
a897c93
downloader set linux aarch64 to 64 for testing on arm64 linux
danoli3 Jan 15, 2025
1ee20a8
Makefile Linux subpath
danoli3 Jan 15, 2025
390dc96
makefile subpath
danoli3 Jan 15, 2025
469577a
Linux subpath
danoli3 Jan 15, 2025
264ca7b
download libs validate downloads before overrwite and 2.8.0. wget2 di…
danoli3 Jan 15, 2025
135babc
Makefiles
danoli3 Jan 15, 2025
ce7a2a2
downloadlibs [2.8.0 ~ 2.8.1] valid bool to int
danoli3 Jan 15, 2025
6faceff
ci linux
danoli3 Jan 15, 2025
8bdddbe
Workflow ci optimisation VS single ARCH downloads
danoli3 Jan 15, 2025
3fbe17f
Linux 22.04 Test
danoli3 Jan 15, 2025
3081d87
VS Download fix
danoli3 Jan 15, 2025
8a45706
Makefile fixes / vs arch
danoli3 Jan 15, 2025
c6e14b1
Makefile depth fix
danoli3 Jan 16, 2025
4bdccdb
Makefile strict tab
danoli3 Jan 16, 2025
abf1066
Actions rename Linux-64 to linux
danoli3 Jan 16, 2025
62074aa
Makefiles spaces to tabs
danoli3 Jan 16, 2025
5ceab3e
Makefile debug
danoli3 Jan 16, 2025
daac46a
Reset file
danoli3 Jan 16, 2025
1b66dce
Spaces to Tabs
danoli3 Jan 16, 2025
129da07
no debug flags
danoli3 Jan 16, 2025
afdbb8e
ci build 64
danoli3 Jan 16, 2025
767435f
Line spaces to tabs
danoli3 Jan 16, 2025
48a09d6
Fix Linux string issue
danoli3 Jan 16, 2025
4c005fe
debug off
danoli3 Jan 16, 2025
9eeeff3
Update addon_config
danoli3 Jan 16, 2025
f420b33
downloader [4.4.0 ~ 4.5.0] - fix close connection for zero urls.
danoli3 Jan 17, 2025
bb37f1e
Linux script updates
danoli3 Jan 17, 2025
c6e8e9d
osx / ios remove defined .a
danoli3 Jan 18, 2025
3f2b5fd
oF script / linux downloader
danoli3 Feb 25, 2025
c481bbf
Linux Wayland support
danoli3 Feb 26, 2025
6fd1081
linux makefile update arm64 / jetson / rpi
danoli3 Feb 26, 2025
7a3097a
Linux rasbian to folder
danoli3 Feb 27, 2025
38eb463
make shell
danoli3 Feb 27, 2025
1da7000
makefiles must use tabs
danoli3 Mar 3, 2025
9fa34d9
Linux arm64 fix
danoli3 Mar 3, 2025
1bee228
Setup GCC.sh
danoli3 Mar 4, 2025
0a08ffb
download libs linux minimum gcc 10
danoli3 Mar 4, 2025
6cd9351
nightly arm64 linux
danoli3 Mar 4, 2025
c05a18f
Linux Fix Make File for all location targets and naming negating issu…
danoli3 Aug 11, 2026
e02e355
download_libs changes for linux
danoli3 Aug 9, 2026
fc62c92
download_libs: consume apothecary linux2026 artifacts
danoli3 Aug 15, 2026
94179aa
Merge upstream/master into linux2026
danoli3 Aug 15, 2026
e7a0c81
Fix linux2026 script paths and compileOF arch mapping
danoli3 Aug 15, 2026
97521e5
fix(ci): RPi OF_ROOT after linux/rpi rename
danoli3 Aug 16, 2026
818300a
fix(linux): route RPi arches to lib/linux/<arch> in the engine
danoli3 Aug 16, 2026
643e42b
test(linux): CI for old and new lib/linux path fallbacks
danoli3 Aug 16, 2026
91972ac
test(linux): run lib path script with bash and mark it executable
danoli3 Aug 16, 2026
2ceafb7
fix(ci): skip non-Linux test groups on the desktop runner
danoli3 Aug 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/linux-lib-paths.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Linux lib paths

on:
push:
paths-ignore:
- "**/*.md"
- "examples/**"
pull_request:
paths-ignore:
- "**/*.md"
- "examples/**"

concurrency:
group: linux-lib-paths-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

jobs:
test-old-and-new-lib-paths:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- name: New lib/linux/<arch> and legacy lib/linux64 both resolve
run: bash scripts/ci/linux/test_lib_paths.sh
121 changes: 97 additions & 24 deletions .github/workflows/of.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ jobs:
rpi-build:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
cfg:
- {
Expand All @@ -184,12 +185,12 @@ jobs:
suffix: arm-linux-gnueabihf,
alladdons: 1,
}
# - {
# libs: armv7l,
# multistrap_arch: armhf,
# suffix: arm-linux-gnueabihf,
# alladdons: 1,
# }
- {
libs: armv7l,
multistrap_arch: armhf,
suffix: arm-linux-gnueabihf,
alladdons: 1,
}
- {
libs: aarch64,
multistrap_arch: arm64,
Expand Down Expand Up @@ -225,19 +226,33 @@ jobs:
# echo "RELEASE=latest" >> $GITHUB_ENV
# fi
- name: Download libs
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.libs}}
- name: Curl library check (before tests)
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.libs}} -g 10
- name: Library path check
run: |
echo "=== libs/curl ==="; ls -lh libs/curl/lib/*/* 2>&1 | head -n 20
echo "=== curl ver ==="; cat libs/curl/include/curl/curlver.h 2>&1 | head -n 5
echo "=== lib/linux/${{ matrix.cfg.libs }} ==="
find libs -type d -path "*/lib/linux/${{ matrix.cfg.libs }}" | sort
echo "=== zlib ==="; ls -lh libs/zlib/lib/linux/${{ matrix.cfg.libs }}
if [ -f libs/glm/include/glm/vec2.hpp ]; then
echo "=== glm present ==="
else
echo "=== glm missing — RPi apothecary latest is still the zlib smoke-test archive ==="
fi
echo "=== system curl ==="; curl --version 2>&1 | head -n1
- name: Install dependencies
run: ./scripts/ci/linuxrpi/install.sh;
run: ./scripts/ci/linux/rpi/install.sh;
- name: LS
shell: bash
run: ls -alfR
- name: Build
run: ./scripts/ci/linuxrpi/build.sh;
run: |
if [ ! -f libs/glm/include/glm/vec2.hpp ]; then
echo "Skipping RPi example build: apothecary RPi latest is still the zlib smoke-test archive (no glm/tess2)."
echo "Library path check already verified lib/linux/${ARCH}."
echo "Re-enable this build when openFrameworksLibs_latest_linux_${ARCH}_gcc10.tar.bz2 includes the full Linux formula set."
exit 0
fi
./scripts/ci/linux/rpi/build.sh;


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Expand Down Expand Up @@ -281,14 +296,19 @@ jobs:

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

build-linux64:
build-linux:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
cfg:
- { target: linux64, libs: 64gcc6 }
# - {target: linux, arch: 64, gcc: 6}
- {target: linux, arch: 64, gcc: 14}
- {target: linux, arch: 64, gcc: 10}
env:
TARGET: ${{matrix.cfg.target}}
GCC: ${{matrix.cfg.gcc}}
ARCH: ${{matrix.cfg.arch}}
steps:
# handled by the install script now
# - name: Remove Old lib-unwind
Expand Down Expand Up @@ -317,23 +337,76 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.23
with:
key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }}
key: ${{ matrix.cfg.target }}

- name: Install dependencies
run: ./scripts/ci/$TARGET/$ARCH/install.sh;

- name: Download libs
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.libs}}
- name: Curl library check (before tests)
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.arch}} -g ${{matrix.cfg.GCC}}
- name: Library path check
run: |
echo "=== libs/curl ==="; ls -lh libs/curl/lib/*/* 2>&1 | head -n 20
echo "=== curl ver ==="; cat libs/curl/include/curl/curlver.h 2>&1 | head -n 5
echo "=== lib/linux/${{ matrix.cfg.arch }} ==="
find libs -type d -path "*/lib/linux/${{ matrix.cfg.arch }}" | sort
echo "=== glm ==="; test -f libs/glm/include/glm/vec2.hpp
echo "=== tess2 ==="; ls -lh libs/tess2/lib/linux/${{ matrix.cfg.arch }}
echo "=== zlib ==="; ls -lh libs/zlib/lib/linux/${{ matrix.cfg.arch }}
echo "=== system curl ==="; curl --version 2>&1 | head -n1
- name: Build
run: |
if [ "$TARGET" = "linux" ]; then
scripts/ci/$TARGET/$ARCH/build.sh;
scripts/ci/$TARGET/$ARCH/run_tests.sh;
else
scripts/ci/$TARGET/$ARCH/build.sh;
fi

build-linux-64-22-04:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
cfg:
- {target: linux, arch: 64, gcc: 10}
env:
TARGET: ${{matrix.cfg.target}}
GCC: ${{matrix.cfg.gcc}}
ARCH: ${{matrix.cfg.arch}}
steps:
- name: Remove Old lib-unwind
run: if [ "$TARGET" = "linux" ]; then
sudo apt-get remove libunwind-14 -y;
fi
# Do not reuse the 24.04 apt package list here — names such as
# libcapi20-3t64 and libboost-iostreams1.83.0 are not on 22.04.
# install_dependencies.sh (via ci/linux/64/install.sh) is the source of truth.

- uses: actions/checkout@v6
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2.23
with:
key: ${{ matrix.cfg.target }}-2204

- name: Install dependencies
run: ./scripts/ci/$TARGET/install.sh;
run: ./scripts/ci/$TARGET/$ARCH/install.sh;

- name: Download libs
run: ./scripts/linux/download_libs.sh -t $RELEASE -a ${{matrix.cfg.arch}} -g ${{matrix.cfg.GCC}}

- name: Library path check
run: |
echo "=== lib/linux/${{ matrix.cfg.arch }} ==="
find libs -type d -path "*/lib/linux/${{ matrix.cfg.arch }}" | sort
echo "=== glm ==="; test -f libs/glm/include/glm/vec2.hpp
echo "=== tess2 ==="; ls -lh libs/tess2/lib/linux/${{ matrix.cfg.arch }}

- name: Build
run: if [ "$TARGET" = "linux64" ]; then
scripts/ci/linux64/build.sh;
scripts/ci/$TARGET/run_tests.sh;
run: |
if [ "$TARGET" = "linux" ]; then
scripts/ci/$TARGET/$ARCH/build.sh;
scripts/ci/$TARGET/$ARCH/run_tests.sh;
else
scripts/ci/$TARGET/build.sh;
scripts/ci/$TARGET/$ARCH/build.sh;
fi

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Expand Down
9 changes: 4 additions & 5 deletions addons/ofxAssimp/addon_config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,17 @@ common:
# a specific platform
# ADDON_LIBS_EXCLUDE =

linuxarmv6l:
linux/armv6l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%

linuxarmv7l:
linux/armv7l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%

linuxaarch64:
linux/aarch64:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%
Expand All @@ -82,7 +82,7 @@ linux:
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%

linux64:
linux/64:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp
ADDON_INCLUDES_EXCLUDE = ../ofxAssimpModelLoader/libs/assimp/%
Expand All @@ -101,7 +101,6 @@ android/x86:
ADDON_LIBS=
ADDON_LIBS+=../ofxAssimpModelLoader/libs/assimp/lib/android/x86/libassimp.a
ADDON_LIBS+=../ofxAssimpModelLoader/libs/assimp/lib/android/x86/libIrrXML.a

osx:
ADDON_LIBS=
ADDON_LIBS=../ofxAssimpModelLoader/libs/assimp/lib/macos/assimp.xcframework/macos-arm64_x86_64/assimp.a
Expand Down
13 changes: 7 additions & 6 deletions addons/ofxAssimpModelLoader/addon_config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,17 @@ common:
# a specific platform
# ADDON_LIBS_EXCLUDE =

linuxarmv6l:
linux/armv6l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%

linuxarmv7l:
linux/armv7l:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%

linuxaarch64:
linux/aarch64:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%
Expand All @@ -80,7 +80,7 @@ linux:
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%

linux64:
linux/64:
ADDON_PKG_CONFIG_LIBRARIES = assimp
ADDON_LIBS_EXCLUDE = libs/assimp
ADDON_INCLUDES_EXCLUDE = libs/assimp/%
Expand All @@ -99,10 +99,11 @@ android/x86:
ADDON_LIBS=
ADDON_LIBS+=libs/assimp/lib/android/x86/libassimp.a
ADDON_LIBS+=libs/assimp/lib/android/x86/libIrrXML.a

ios:
ADDON_INCLUDES_EXCLUDE = libs/assimp/include/%
osx:
ADDON_INCLUDES_EXCLUDE = libs/assimp/include/%
ADDON_LIBS=
ADDON_LIBS=libs/assimp/lib/macos/assimp.xcframework/macos-arm64_x86_64/assimp.a

emscripten:
ADDON_LIBS=
Expand Down
8 changes: 4 additions & 4 deletions addons/ofxKinect/addon_config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ common:
# a specific platform
# ADDON_INCLUDES_EXCLUDE =

linux64:
linux/64:
# linux only, any library that should be included in the project using
# pkg-config
ADDON_PKG_CONFIG_LIBRARIES = libusb-1.0
Expand Down Expand Up @@ -127,7 +127,7 @@ vs:
# when parsing the file system looking for include paths exclude this for all or
# a specific platform

linuxarmv6l:
linux/armv6l:
# linux only, any library that should be included in the project using
# pkg-config
ADDON_PKG_CONFIG_LIBRARIES = libusb-1.0
Expand All @@ -143,7 +143,7 @@ linuxarmv6l:
ADDON_INCLUDES_EXCLUDE += libs/libusb-1.0/%


linuxarmv7l:
linux/armv7l:
# linux only, any library that should be included in the project using
# pkg-config
ADDON_PKG_CONFIG_LIBRARIES = libusb-1.0
Expand All @@ -158,7 +158,7 @@ linuxarmv7l:
ADDON_INCLUDES_EXCLUDE = libs/libfreenect/platform/%
ADDON_INCLUDES_EXCLUDE += libs/libusb-1.0/%

linuxaarch64:
linuxa/arch64:
# linux only, any library that should be included in the project using
# pkg-config
ADDON_PKG_CONFIG_LIBRARIES = libusb-1.0
Expand Down
3 changes: 3 additions & 0 deletions addons/ofxKinect/libs/libfreenect/platform/windows/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@

#pragma once

#ifdef _WIN32

#include <stdint.h>
#include <windows.h>

Expand Down Expand Up @@ -53,3 +55,4 @@ static void usleep(__int64 usec)
WaitForSingleObject(timer, INFINITE);
CloseHandle(timer);
}
#endif
9 changes: 4 additions & 5 deletions addons/ofxOpenCv/addon_config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ common:
# a specific platform
# ADDON_LIBS_EXCLUDE =

linux64:
linux/64:
ADDON_PKG_CONFIG_LIBRARIES = opencv4 harfbuzz
ADDON_LIBS_EXCLUDE = libs/opencv/%
ADDON_INCLUDES_EXCLUDE = libs/opencv
Expand All @@ -72,19 +72,19 @@ linux:
ADDON_INCLUDES_EXCLUDE = libs/opencv
ADDON_INCLUDES_EXCLUDE += libs/opencv/%

linuxarmv6l:
linux/armv6l:
ADDON_PKG_CONFIG_LIBRARIES = opencv4
ADDON_LIBS_EXCLUDE = libs/opencv/%
ADDON_INCLUDES_EXCLUDE = libs/opencv
ADDON_INCLUDES_EXCLUDE += libs/opencv/%

linuxarmv7l:
linux/armv7l:
ADDON_PKG_CONFIG_LIBRARIES = opencv4
ADDON_LIBS_EXCLUDE = libs/opencv/%
ADDON_INCLUDES_EXCLUDE = libs/opencv
ADDON_INCLUDES_EXCLUDE += libs/opencv/%

linuxaarch64:
linux/aarch64:
ADDON_PKG_CONFIG_LIBRARIES = opencv4
ADDON_LIBS_EXCLUDE = libs/opencv/%
ADDON_INCLUDES_EXCLUDE = libs/opencv
Expand Down Expand Up @@ -190,4 +190,3 @@ emscripten:
ios:
# osx/iOS only, any framework that should be included in the project
ADDON_FRAMEWORKS = AssetsLibrary

8 changes: 4 additions & 4 deletions addons/ofxOsc/addon_config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -68,23 +68,23 @@ common:
# a specific platform
# ADDON_INCLUDES_EXCLUDE =

linuxarmv6l:
linux/armv6l:
ADDON_SOURCES_EXCLUDE = libs/oscpack/src/ip/win32/%
ADDON_INCLUDES_EXCLUDE = libs/oscpack/src/ip/win32

linuxarmv7l:
linux/armv7l:
ADDON_SOURCES_EXCLUDE = libs/oscpack/src/ip/win32/%
ADDON_INCLUDES_EXCLUDE = libs/oscpack/src/ip/win32

linuxaarch64:
linux/aarch64:
ADDON_SOURCES_EXCLUDE = libs/oscpack/src/ip/win32/%
ADDON_INCLUDES_EXCLUDE = libs/oscpack/src/ip/win32

linux:
ADDON_SOURCES_EXCLUDE = libs/oscpack/src/ip/win32/%
ADDON_INCLUDES_EXCLUDE = libs/oscpack/src/ip/win32

linux64:
linux/64:
ADDON_SOURCES_EXCLUDE = libs/oscpack/src/ip/win32/%
ADDON_INCLUDES_EXCLUDE = libs/oscpack/src/ip/win32

Expand Down
Loading
Loading