[package - main-armv7-default][audio/odin2-synthesizer] Failed for odin2-synthesizer-2.3.4.13 in configure

From: <pkg-fallout_at_FreeBSD.org>
Date: Sun, 09 Mar 2025 17:23:59 UTC
You are receiving this mail as a port that you maintain
is failing to build on the FreeBSD package build server.
Please investigate the failure and submit a PR to fix
build.

Maintainer:     yuri@FreeBSD.org
Log URL:        https://pkg-status.freebsd.org/ampere2/data/main-armv7-default/pe7b7ad617ba1_se2dd73cf45/logs/odin2-synthesizer-2.3.4.13.log
Build URL:      https://pkg-status.freebsd.org/ampere2/build.html?mastername=main-armv7-default&build=pe7b7ad617ba1_se2dd73cf45
Log:

=>> Building audio/odin2-synthesizer
build started at Sun Mar  9 17:21:26 UTC 2025
port directory: /usr/ports/audio/odin2-synthesizer
package name: odin2-synthesizer-2.3.4.13
building for: FreeBSD main-armv7-default-job-05 15.0-CURRENT FreeBSD 15.0-CURRENT 1500033 arm
maintained by: yuri@FreeBSD.org
Makefile datestamp: -rw-r--r--  1 root wheel 2180 Mar  1 01:03 /usr/ports/audio/odin2-synthesizer/Makefile
Ports top last git commit: e7b7ad617ba
Ports top unclean checkout: no
Port dir last git commit: 292c7ea5e6a
Port dir unclean checkout: no
Poudriere version: poudriere-git-3.4.2
Host OSVERSION: 1500028
Jail OSVERSION: 1500033
Job Id: 05




!!! Jail is newer than host. (Jail: 1500033, Host: 1500028) !!!
!!! This is not supported. !!!
!!! Host kernel must be same or newer than jail. !!!
!!! Expect build failures. !!!



---Begin Environment---
SHELL=/bin/sh
OSVERSION=1500033
UNAME_v=FreeBSD 15.0-CURRENT 1500033
UNAME_r=15.0-CURRENT
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
MAKE_OBJDIR_CHECK_WRITABLE=0
LOCALBASE=/usr/local
USER=root
POUDRIERE_NAME=poudriere-git
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.4.2
MASTERMNT=/usr/local/poudriere/data/.m/main-armv7-default/ref
LC_COLLATE=C
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=
OUTPUT_REDIRECTED_STDERR=4
OUTPUT_REDIRECTED=1
PWD=/usr/local/poudriere/data/.m/main-armv7-default/05/.p
OUTPUT_REDIRECTED_STDOUT=3
P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS
MASTERNAME=main-armv7-default
SCRIPTPREFIX=/usr/local/share/poudriere
SCRIPTNAME=bulk.sh
OLDPWD=/usr/local/poudriere/data/.m/main-armv7-default/ref/.p/pool
POUDRIERE_PKGNAME=poudriere-git-3.4.2
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---

---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=
MAKE_ARGS=
---End Poudriere Port Flags/Env---

---Begin OPTIONS List---
---End OPTIONS List---

--MAINTAINER--
yuri@FreeBSD.org
--End MAINTAINER--

--CONFIGURE_ARGS--

--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
PKG_CONFIG=pkgconf XDG_DATA_HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work/.cache  HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/audio/odin2-synthesizer/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/audio/odin2-synthesizer/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh CMAKE_PREFIX_PATH="/usr/local"
--End CONFIGURE_ENV--

--MAKE_ENV--
NINJA_STATUS="[%p %s/%t] " XDG_DATA_HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work/.cache  HOME=/wrkdirs/usr/ports/audio/odin2-synthesizer/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/audio/odin2-synthesizer/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/audio/odin2-synthesizer/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES DESTDIR=/wrkdirs/usr/ports/audio/odin2-synthesizer/work/stage PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing "  CPP="cpp" CPPFLAGS="-isystem /usr/local/include"  LDFLAGS=" -fstack-protector-strong -L/usr/local/lib " LIBS=""  CXX="c++" CXXFLAGS="-O2 -p
ipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing   -DJUCE_CUSTOM_VST3_SDK=1 -isystem /usr/local/include " BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
CMAKE_BUILD_TYPE="release" OSREL=15.0 PREFIX=%D LOCALBASE=/usr/local  RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/odin2-synthesizer"  EXAMPLESDIR="share/examples/odin2-synthesizer"  DATADIR="share/odin2-synthesizer"  WWWDIR="www/odin2-synthesizer"  ETCDIR="etc/odin2-synthesizer"
--End PLIST_SUB--

--SUB_LIST--
PREFIX=/usr/local LOCALBASE=/usr/local  DATADIR=/usr/local/share/odin2-synthesizer DOCSDIR=/usr/local/share/doc/odin2-synthesizer EXAMPLESDIR=/usr/local/share/examples/odin2-synthesizer  WWWDIR=/usr/local/www/odin2-synthesizer ETCDIR=/usr/local/etc/odin2-synthesizer
--End SUB_LIST--

---Begin make.conf---
# XXX: We really need this but cannot use it while 'make checksum' does not
# try the next mirror on checksum failure.  It currently retries the same
# failed mirror and then fails rather then trying another.  It *does*
# try the next if the size is mismatched though.
#MASTER_SITE_FREEBSD=yes
# Build ALLOW_MAKE_JOBS_PACKAGES with 3 jobs
MAKE_JOBS_NUMBER=3
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
PACKAGE_BUILDING=yes
PACKAGE_BUILDING_FLAVORS=yes
####  ####
# XXX: We really need this but cannot use it while 'make checksum' does not
# try the next mirror on checksum failure.  It currently retries the same
# failed mirror and then fails rather then trying another.  It *does*
# try the next if the size is mismatched though.
#MASTER_SITE_FREEBSD=yes
# Build ALLOW_MAKE_JOBS_PACKAGES with 3 jobs
MAKE_JOBS_NUMBER=3
#### Misc Poudriere ####
.include "/etc/make.conf.ports_env"
GID=0
UID=0
---End make.conf---
--Resource limits--
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  524288
stack size              (kbytes, -s)  65536
core file size      (512-blocks, -c)  unlimited
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  unlimited
max user processes              (-u)  89999
open files                      (-n)  8192
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
socket buffer size       (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited
kqueues                         (-k)  unlimited
umtx shared locks               (-o)  unlimited
pipebuf                         (-y)  unlimited
--End resource limits--
=======================<phase: check-sanity   >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License GPLv3 accepted by the user
===========================================================================
=======================<phase: pkg-depends    >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===>   odin2-synthesizer-2.3.4.13 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-2.0.6.pkg
[main-armv7-default-job-05] Installing pkg-2.0.6...
[main-armv7-default-job-05] Extracting pkg-2.0.6: .......... done
===>   odin2-synthesizer-2.3.4.13 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of odin2-synthesizer-2.3.4.13
===========================================================================
=======================<phase: fetch-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: fetch          >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License GPLv3 accepted by the user
===> Fetching all distfiles required by odin2-synthesizer-2.3.4.13 for building
===========================================================================
=======================<phase: checksum       >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License GPLv3 accepted by the user
===> Fetching all distfiles required by odin2-synthesizer-2.3.4.13 for building
=> SHA256 Checksum OK for TheWaveWarden-odin2-v2.3.4-13-gc8d3861f_GH0.tar.gz.
=> SHA256 Checksum OK for surge-synthesizer-tuning-library-8eb7232ac24ac2f97a052063161c0c4f5fd763e3_GH0.tar.gz.
=> SHA256 Checksum OK for juce-framework-JUCE-53b04877c6ebc7ef3cb42e84cb11a48e0cf809b5_GH0.tar.gz.
=> SHA256 Checksum OK for free-audio-clap-juce-extensions-f11e8c3284e7ff2629534148cbd98da9f602bfea_GH0.tar.gz.
=> SHA256 Checksum OK for free-audio-clap-84ad6fe9739d3070ed0eb05c24be303a899ab813_GH0.tar.gz.
=> SHA256 Checksum OK for free-audio-clap-helpers-2bb43c18788c689708ead6f127a2d75e772ab389_GH0.tar.gz.
=> SHA256 Checksum OK for lv2-porting-project-JUCE-b8fb637be2f7d6bb3bd2f104c4c798ec79b2f2f1_GH0.tar.gz.
===========================================================================
=======================<phase: extract-depends>============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: extract        >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  License GPLv3 accepted by the user
===> Fetching all distfiles required by odin2-synthesizer-2.3.4.13 for building
===>  Extracting for odin2-synthesizer-2.3.4.13
=> SHA256 Checksum OK for TheWaveWarden-odin2-v2.3.4-13-gc8d3861f_GH0.tar.gz.
=> SHA256 Checksum OK for surge-synthesizer-tuning-library-8eb7232ac24ac2f97a052063161c0c4f5fd763e3_GH0.tar.gz.
=> SHA256 Checksum OK for juce-framework-JUCE-53b04877c6ebc7ef3cb42e84cb11a48e0cf809b5_GH0.tar.gz.
=> SHA256 Checksum OK for free-audio-clap-juce-extensions-f11e8c3284e7ff2629534148cbd98da9f602bfea_GH0.tar.gz.
=> SHA256 Checksum OK for free-audio-clap-84ad6fe9739d3070ed0eb05c24be303a899ab813_GH0.tar.gz.
=> SHA256 Checksum OK for free-audio-clap-helpers-2bb43c18788c689708ead6f127a2d75e772ab389_GH0.tar.gz.
=> SHA256 Checksum OK for lv2-porting-project-JUCE-b8fb637be2f7d6bb3bd2f104c4c798ec79b2f2f1_GH0.tar.gz.
===========================================================================
=======================<phase: patch-depends  >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: patch          >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===>  Patching for odin2-synthesizer-2.3.4.13
<snip>
-- The CXX compiler identification is Clang 19.1.7
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/local/bin/pkgconf (found version "2.3.0")
-- Checking for module 'alsa'
--   Found alsa, version 1.2.13
-- Checking for module 'freetype2'
--   Found freetype2, version 26.2.20
-- Checking for module 'libcurl'
--   Package 'libcurl' not found
-- Checking for modules 'webkit2gtk-4.0;gtk+-x11-3.0'
--   Package 'webkit2gtk-4.0' not found
--   Package 'gtk+-x11-3.0' not found
-- Configuring juceaide
-- Building juceaide
CMake Error at libs/JUCELV2/extras/Build/juceaide/CMakeLists.txt:92 (message):
  Failed to build juceaide

  [0/2] Re-checking globbed directories...

  [1/8] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_data_structures/juce_data_structures.cpp.o


  [2/8] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o


  FAILED:
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o


  /usr/bin/c++ -DDEBUG=1 -DJUCE_DISABLE_JUCE_VERSION_PRINTING=1
  -DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1
  -DJUCE_MODULE_AVAILABLE_juce_build_tools=1
  -DJUCE_MODULE_AVAILABLE_juce_core=1
  -DJUCE_MODULE_AVAILABLE_juce_data_structures=1
  -DJUCE_MODULE_AVAILABLE_juce_events=1
  -DJUCE_MODULE_AVAILABLE_juce_graphics=1
  -DJUCE_MODULE_AVAILABLE_juce_gui_basics=1 -DJUCE_STANDALONE_APPLICATION=1
  -DJUCE_USE_CURL=0 -DLINUX=1 -D_DEBUG=1
  -I/wrkdirs/usr/ports/audio/odin2-synthesizer/work/.build/libs/JUCELV2/tools/extras/Build/juceaide/juceaide_artefacts/JuceLibraryCode
  -I/wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/extras/Build
  -I/wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules
  -I/usr/local/include/freetype2 -I/usr/local/include/libpng16
  -I/usr/local/include -g -O0 -Wall -Wshadow-all -Wshorten-64-to-32
  -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion
  -Wsign-compare -Wint-conversion -Wconditional-uninitialized
  -Wconstant-conversion -Wsign-conversion -Wbool-conversion -Wextra-semi
  -Wunreachable-code -Wcast-align -Wshift-sign-overflow
  -Wno-missing-field-initializers -Wnullable-to-nonnull-conversion
  -Wno-ignored-qualifiers -Wswitch-enum -Wpedantic
  -Wzero-as-null-pointer-constant -Wunused-private-field -Woverloaded-virtual
  -Wreorder -Winconsistent-missing-destructor-override -MD -MT
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o
  -MF
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o.d
  -o
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o
  -c
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/juce_core.cpp


  In file included from
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/juce_core.cpp:45:


  /usr/include/sys/timeb.h:41:2: warning: "this file includes <sys/timeb.h>
  which is deprecated" [-W#warnings]

     41 | #warning "this file includes <sys/timeb.h> which is deprecated"
        |  ^

  In file included from
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/juce_core.cpp:145:



  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/maths/juce_BigInteger.cpp:1179:21:
  error: too many arguments provided to function-like macro invocation

   1179 |     MemoryBlock mb ((size_t) numBytes);
        |                     ^

  /usr/include/machine/atomic.h:48:9: note: macro 'mb' defined here

     48 | #define mb()   dmb()
        |         ^

  In file included from
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/juce_core.cpp:164:



  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/system/juce_SystemStats.cpp:180:23:
  warning: comparison of integers of different signs: 'int' and 'size_t' (aka
  'unsigned int') [-Wsign-compare]

    180 |     for (int i = 0; i < frames; ++i)
        |                     ~ ^ ~~~~~~

  In file included from
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/juce_core.cpp:183:



  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/containers/juce_Variant.cpp:861:33:
  error: too many arguments provided to function-like macro invocation

    861 |                 MemoryBlock mb ((size_t) numBytes - 1);
        |                                 ^

  /usr/include/machine/atomic.h:48:9: note: macro 'mb' defined here

     48 | #define mb()   dmb()
        |         ^

  In file included from
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/juce_core.cpp:225:



  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/native/juce_linux_Network.cpp:37:43:
  warning: cast from 'struct sockaddr *' to 'struct sockaddr_dl *' increases
  required alignment from 1 to 2 [-Wcast-align]

     37 |                 struct sockaddr_dl* sdl = (struct sockaddr_dl*) i->ifa_addr;
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  In file included from
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/juce_core.cpp:232:



  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_core/native/juce_linux_SystemStats.cpp:156:33:
  warning: implicit conversion from 'int64' (aka 'long long') to 'double' may
  lose precision [-Wimplicit-int-float-conversion]

    156 |     return result == 0 ? (int) (memory / 1e6) : 0;
        |                                 ^~~~~~ ~

  4 warnings and 2 errors generated.

  [3/8] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_events/juce_events.cpp.o


  [4/8] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/Main.cpp.o

  [5/8] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/juce_build_tools/juce_build_tools.cpp.o


  [6/8] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_graphics/juce_graphics.cpp.o


  [7/8] Building CXX object
  extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_gui_basics/juce_gui_basics.cpp.o


  In file included from
  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_gui_basics/juce_gui_basics.cpp:322:



  /wrkdirs/usr/ports/audio/odin2-synthesizer/work/odin2-2.3.4-13-gc8d3861f/libs/JUCELV2/modules/juce_gui_basics/native/x11/juce_linux_X11_DragAndDrop.cpp:545:42:
  warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]

    545 |         if (prop.success && prop.data != None && prop.actualFormat == 32 && prop.numItems == 1)
        |                                          ^~~~
        |                                          nullptr

  /usr/local/include/X11/X.h:115:30: note: expanded from macro 'None'

    115 | #define None                 0L /* universal null resource or null atom */
        |                              ^

  1 warning generated.

  ninja: build stopped: subcommand failed.



-- Configuring incomplete, errors occurred!
*** Error code 1

Stop.
make: stopped making "configure" in /usr/ports/audio/odin2-synthesizer