cant build flutter_scene

hello,
I try to build scene lib,but it throws:
Unhandled exception:
Exception: CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/code/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

flutter doctor -v
[✓] Flutter (Channel master, 3.27.0-1.0.pre.352, on macOS 14.6.1 23G93 darwin-arm64, locale zh-Hans-CN)
    • Flutter version 3.27.0-1.0.pre.352 on channel master at /Users/wangcker/opt/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8591d0c16a (13 hours ago), 2024-11-04 20:46:29 +0800
    • Engine revision 05cb5d7f79
    • Dart version 3.7.0 (build 3.7.0-95.0.dev)
    • DevTools version 2.40.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/wangcker/Library/Android/sdk
    • Platform android-35, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16B40
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.3.1)
    • IntelliJ at /Applications/IntelliJ IDEA 2.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.95.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.100.0

[✓] Connected device (5 available)
    • 2201122C (mobile)               • b5125962                                 • android-arm64  • Android 14 (API 34)
    • wangcker的iPhone (mobile)        • dbdeac590c9d9faa0c3068044290a3f9ef6a3b19 • ios            • iOS 15.3.1 19D52
    • macOS (desktop)                 • macos                                    • darwin-arm64   • macOS 14.6.1 23G93 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                    • darwin         • macOS 14.6.1 23G93 darwin-arm64
    • Chrome (web)                    • chrome                                   • web-javascript • Google Chrome 130.0.6723.92

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Hey @wangcker, have you installed CMake prior to trying to run Flutter scene? That's a common issue that trips up a lot of people. You have to install CMake before running the model converter.

@kwill39
cmake --version
cmake version 3.28.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

@wangcker
Perfect
Good to see that's not the issue. Can you paste in the command that you're using and a picture of the file structure of your root project? Feel free to block out / replace any personal or sensitive info

@wangcker Perfect
Good to see that's not the issue. Can you paste in the command that you're using and a picture of the file structure of your root project? Feel free to block out / replace any personal or sensitive info

just cloned from flutter_scene from github
it likely occur   at    FetchContent_MakeAvailable(flatbuffers)  in importer/CMakeLists.txt

my project ref the flutter_scene in pubspec.yaml by this:
flutter_scene:
path: ../flutter_scene

Oh I see what you're trying to do now. I haven't tried using a local copy of Flutter scene and referring to it directly before.
bdero would probably be more familiar with building it locally, and I'm sure they'll see this ticket fairly soon and be able to comment with better advice.

@wangcker If you do find the issue before then, definitely comment here if you don't mind! I'd love to know what the issue was myself.

all the error info:
Unhandled exception:
Exception: CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

#0      main.<anonymous closure> (file:///Users/**/flutter_scene/importer/hook/build.dart:37:7)
#1      build (package:native_assets_cli/src/api/build.dart:93:16)
#2      main (file:///Users/**/flutter_scene/importer/hook/build.dart:7:9)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Building native assets for package:flutter_scene_importer failed.
file:///Users/**/flutter_scene/importer/hook/build.dart returned with exit code: 255.
To reproduce run:
/Users/wangcker/opt/flutter/bin/dart --packages=/Users/**/my_3d_app/.dart_tool/package_config.json /Users/**/my_3d_app/.dart_tool/native_assets_builder/ad5635314aae4ae03d576269d98dd699/hook.dill --config=/Users/**/my_3d_app/.dart_tool/native_assets_builder/ad5635314aae4ae03d576269d98dd699/config.json
stderr:
Unhandled exception:
Exception: CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

#0      main.<anonymous closure> (file:///Users/**/flutter_scene/importer/hook/build.dart:37:7)
#1      build (package:native_assets_cli/src/api/build.dart:93:16)
#2      main (file:///Users/**/flutter_scene/importer/hook/build.dart:7:9)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

stdout:
Running cmake gen step...
CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

Unhandled exception:
Exception: Unable to find build executable flatc! Tried the following locations: [file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Release/flatc, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Release/flatc.exe, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Debug/flatc, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Debug/flatc.exe, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/flatc, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/flatc.exe]
#0      findBuiltExecutable (package:flutter_scene_importer/offline_import.dart:27:5)
#1      generateImporterFlatbufferDart (package:flutter_scene_importer/offline_import.dart:42:17)
#2      main.<anonymous closure> (file:///Users/**/flutter_scene/hook/build.dart:8:5)
#3      build (package:native_assets_cli/src/api/build.dart:93:16)
#4      main (file:///Users/**/flutter_scene/hook/build.dart:7:9)
#5      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#6      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Building native assets for package:flutter_scene failed.
file:///Users/**/flutter_scene/hook/build.dart returned with exit code: 255.
To reproduce run:
/Users/wangcker/opt/flutter/bin/dart --packages=/Users/**/my_3d_app/.dart_tool/package_config.json /Users/**/my_3d_app/.dart_tool/native_assets_builder/0d50bf83c90021c6c9d86d23ebf805fb/hook.dill --config=/Users/**/my_3d_app/.dart_tool/native_assets_builder/0d50bf83c90021c6c9d86d23ebf805fb/config.json
stderr:
Unhandled exception:
Exception: Unable to find build executable flatc! Tried the following locations: [file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Release/flatc, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Release/flatc.exe, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Debug/flatc, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/Debug/flatc.exe, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/flatc, file:///Users/**/flutter_scene/importer/build/_deps/flatbuffers-build/flatc.exe]
#0      findBuiltExecutable (package:flutter_scene_importer/offline_import.dart:27:5)
#1      generateImporterFlatbufferDart (package:flutter_scene_importer/offline_import.dart:42:17)
#2      main.<anonymous closure> (file:///Users/**/flutter_scene/hook/build.dart:8:5)
#3      build (package:native_assets_cli/src/api/build.dart:93:16)
#4      main (file:///Users/**/flutter_scene/hook/build.dart:7:9)
#5      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#6      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

stdout:

Unhandled exception:
Exception: Failed to run flutter_scene_importer:import command in build hook (exit code 255):
STDERR: Unhandled exception:
Exception: CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

#0      main.<anonymous closure> (file:///Users/**/flutter_scene/importer/hook/build.dart:37:7)
#1      build (package:native_assets_cli/src/api/build.dart:93:16)
#2      main (file:///Users/**/flutter_scene/importer/hook/build.dart:7:9)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Building native assets for package:flutter_scene_importer failed.
file:///Users/**/flutter_scene/importer/hook/build.dart returned with exit code: 255.
To reproduce run:
/Users/wangcker/opt/flutter/bin/cache/dart-sdk/bin/dart --packages=/Users/**/my_3d_app/.dart_tool/package_config.json /Users/**/my_3d_app/.dart_tool/native_assets_builder/eb82b79aba38faeae02ae065523f1a96/hook.dill --config=/Users/**/my_3d_app/.dart_tool/native_assets_builder/eb82b79aba38faeae02ae065523f1a96/config.json
stderr:
Unhandled exception:
Exception: CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

#0      main.<anonymous closure> (file:///Users/**/flutter_scene/importer/hook/build.dart:37:7)
#1      build (package:native_assets_cli/src/api/build.dart:93:16)
#2      main (file:///Users/**/flutter_scene/importer/hook/build.dart:7:9)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

stdout:
Running cmake gen step...
CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

Error: Compiling native assets failed.

STDOUT:
#0      buildModels (package:flutter_scene_importer/build_hooks.dart:46:7)
#1      main.<anonymous closure> (file:///Users/**/my_3d_app/hook/build.dart:6:5)
#2      build (package:native_assets_cli/src/api/build.dart:93:16)
#3      main (file:///Users/**/my_3d_app/hook/build.dart:5:3)
#4      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#5      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Building native assets for package:my_3d_app failed.
file:///Users/**/my_3d_app/hook/build.dart returned with exit code: 255.
To reproduce run:
/Users/wangcker/opt/flutter/bin/dart --packages=/Users/**/my_3d_app/.dart_tool/package_config.json /Users/**/my_3d_app/.dart_tool/native_assets_builder/79f989ad58edcd9ea7a456ca4fe90521/hook.dill --config=/Users/**/my_3d_app/.dart_tool/native_assets_builder/79f989ad58edcd9ea7a456ca4fe90521/config.json
stderr:
Unhandled exception:
Exception: Failed to run flutter_scene_importer:import command in build hook (exit code 255):
STDERR: Unhandled exception:
Exception: CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

#0      main.<anonymous closure> (file:///Users/**/flutter_scene/importer/hook/build.dart:37:7)
#1      build (package:native_assets_cli/src/api/build.dart:93:16)
#2      main (file:///Users/**/flutter_scene/importer/hook/build.dart:7:9)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Building native assets for package:flutter_scene_importer failed.
file:///Users/**/flutter_scene/importer/hook/build.dart returned with exit code: 255.
To reproduce run:
/Users/wangcker/opt/flutter/bin/cache/dart-sdk/bin/dart --packages=/Users/**/my_3d_app/.dart_tool/package_config.json /Users/**/my_3d_app/.dart_tool/native_assets_builder/eb82b79aba38faeae02ae065523f1a96/hook.dill --config=/Users/**/my_3d_app/.dart_tool/native_assets_builder/eb82b79aba38faeae02ae065523f1a96/config.json
stderr:
Unhandled exception:
Exception: CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

#0      main.<anonymous closure> (file:///Users/**/flutter_scene/importer/hook/build.dart:37:7)
#1      build (package:native_assets_cli/src/api/build.dart:93:16)
#2      main (file:///Users/**/flutter_scene/importer/hook/build.dart:7:9)
#3      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#4      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

stdout:
Running cmake gen step...
CMake generate step failed (exit code 1):
STDERR: [ 11%] Performing update step for 'flatbuffers-populate'
CMake Error at /Users/**/flutter_scene/importer/build/_deps/flatbuffers-subbuild/flatbuffers-populate-prefix/tmp/flatbuffers-populate-gitupdate.cmake:34 (message):
  Failed to get the hash for HEAD:

  fatal: not a git repository: '.git'

make[2]: *** [flatbuffers-populate-prefix/src/flatbuffers-populate-stamp/flatbuffers-populate-update] Error 1
make[1]: *** [CMakeFiles/flatbuffers-populate.dir/all] Error 2
make: *** [all] Error 2

CMake Error at /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for flatbuffers failed: 2
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  /opt/homebrew/Cellar/cmake/3.28.1/share/cmake/Modules/FetchContent.cmake:2033 (FetchContent_Populate)
  CMakeLists.txt:27 (FetchContent_MakeAvailable)

STDOUT: -- Configuring incomplete, errors occurred!

Error: Compiling native assets failed.

STDOUT:
#0      buildModels (package:flutter_scene_importer/build_hooks.dart:46:7)
#1      main.<anonymous closure> (file:///Users/**/my_3d_app/hook/build.dart:6:5)
#2      build (package:native_assets_cli/src/api/build.dart:93:16)
#3      main (file:///Users/**/my_3d_app/hook/build.dart:5:3)
#4      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#5      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

stdout:

Building (dry run) native assets failed. See the logs for more details.

This is resolved by #43.


improvement: add generator works with new layout

also provide feedback to user when a generator is added

Merging via https://github.com/fern-api/fern/pull/591


Provide some text for ORC website?

Would you like to provide an Eel paragraph for http://orc.apache.org/docs/adopters.html ?

@hannesmiller you would know best what to write.

Something like this:
EEL is a BigData toolkit API that supports reading and writing data for various file formats and storage systems using their respective sources and sinks.
Recently the Orc file format (OrcSource and OrcSink) has been added to suite:

Nested types such as structs, lists and maps are supported
Predicate pushdown to efficiently restrict rows returned on the Source
The HiveSource and HiveSink supports an Orc Dialect
The HiveSink automatically splits data into their respective partition buckets and updates the Hive Metastore if partition keys have been defined
N I/O Threads can be specified for parallel writes and reads
EEL is a full Scala 2.11 API
Coming soon there will be a Java 1.8 edition supporting lambdas and streams

A typical use case would be to extract data from JDBC (Oracle) to Orc files housed in HDFS, e.g.:
JdbcSource(...)
.toFrame
.to( OrcSink(...))
Alternatively you could use a  Hive table which is backed by an Orc file format using the HiveSink.
This is only the tip of the ice berg as their various other options and transformation steps one could add.

If its going on an Orc page we should just mention the orc features.
I've taken yours and adjusted it slightly.

EEL is a Scala BigData API that supports reading and writing data for various file formats and storage systems including to and from ORC. It is designed as a in-process low level API for manipulating data. Data is lazily streamed from source to sink and using standards Scala operations such as map, flatMap and filter, it is especially suited for ETL style applications. EEL supports Orc predicate and projection pushdowns and correct handles conversions from other formats including complex types such as maps, lists or nested structs. A typical use case would be to extract data from JDBC to Orc files housed in HDFS, or directly into Hive tables backed by an Orc file format.

@omalley Did you plan to add us to the adopters page Owen? That would be cool.

Ok, I pushed the text to the ORC site.

Thanks @omalley looks good.


Added margins to css styles tab.

I briefly explored doing this in a more generic way using the ViewDebug.ExportedProperty#deepExport() option, as it was specifically designed for the case where properties that we care about are nested in fields/method return values. However I found that really the only thing we would care about is the margin, so wrangling deepExported props wouldn't be worth the effort.
EDIT: Actually now I just use deepExported properties and special case margins so that they are displayed in the box-model.
Here's a screenshot with the margin visible in text form (highlighted by me) and in the box-model:

Just two little nits and then it's good :)

Looks good to me :+1:  squash and then I'll merge!

Closes https://github.com/facebook/stetho/issues/278


Removed broken links and fixed typing error and Added Legacy Page

Broken links - Swapnil Sharma and Pinank Solanki

@Varunvaruns9 @Swapnilr1

Pinank Solanki's Facebook ID seems to be https://www.facebook.com/psolanki10 so you can just update I think. Also need to remove his GitHub.

will do it and may I remove the github link because I can't find one?

@Swapnilr1 fixed it

@Varunvaruns9 please tell how to solve the issue.

Add some media queries here:
https://github.com/KamandPrompt/kamandprompt.github.io/blob/eab42c64b0e2b7e610fd84b8d77b890aa3b5fdb7/css/styles.css#L620

@JaiLuthra1  If you're not working on this, you should close this.


Extend the meilisearch object with MeiliSearch settings

Description
Currently it is only possible to change the MeiliSearch settings of an index by making an API request to MeiliSearch after a collection type is indexed. It would be nice to extend the MeiliSearch object that was added with the 0.4.0 release with optional MeiliSearch settings.
Basic example
With the 0.4.0 release it is now possible to transform the content-types before inserting them into MeiliSearch by using the following code.
module.exports = {
  meilisearch: {
    transformEntry({ entry, model }) {
      return sanitizeEntity(entry, { model })
    },
  },
}

By adding a settings property it would be possible to update the MeiliSearch settings after a content type gets indexed. For example:
module.exports = {
  meilisearch: {
    transformEntry({ entry, model }) {
      return sanitizeEntity(entry, { model })
    },
    settings: {
      rankingRules: ['typo', 'words', 'proximity', 'attribute', 'wordsPosition', 'exactness', 'desc(release_date)'],
      filterableAttributes: ['genres'],
      distinctAttribute: null,
      searchableAttributes: ['title', 'description', 'genres'],
      displayedAttributes: ['title', 'description', 'genre', 'release_date'],
      stopWords: null,
      synonyms: {
        wolverine: ['xmen', 'logan'],
        logan: ['wolverine', 'xmen']
      }
    }
  },
}

Hey @haye-webbio, if you are willing to contribute it shouln'd be to hard to add:

Create a function in the collection connector called getSettings
The same way as the function getIndexName, get the settings from the config file
In this line, fetch the settings with const settings = collectionConnector.getSettings()
make a call to MeiliSearch await client.index(indexUid).updateSettings(settings)

And it is done :)

Sure! :)


scp upload, key file error

I am trying to use the scp function to upload file. Using my public key results in a red error message ending with paramiko.ssh_exception.SSHException: not a valid RSA private key file, using the private key results in a popup Your input file is too large to be a valid key, please try again.
The file is of 3,2kb size. Is that too long? I think I used RSA 4096

Yup, there is a limit of 2K for the file size of keys; which is easy to increase but wondering if it's actually needed? @sjanssen2 and @dhakim87, what do you think?
@sjanssen2, a quick solution is to use a smaller RSA encryption.

We should increase the file size.  RSA 4096 is not a new standard and we shouldn't limit the ability to use it.  It is more secure than RSA 2048 but adds overhead of ~20 milliseconds to the initial handshaking on new connections.  It is slated to replace RSA 2048 entirely by the year 2030.
Note that while the rsa key itself is 4096 bits (512 bytes), the private key file generated by ssh-keygen -b 4096 -t rsa will be around 3-3.5 kB due to the base64 encoding and the additional metadata stored about the key.

Thank you @dhakim87, should we raise to 4K then?

I'm not sure how to judge the maximum file size an RSA 4096 private key can take up, but that looks to be a good amount of extra buffer from my own tests locally.  Note that the format includes additional metadata about the username and workstation as well as any free form comment the user wishes to add upon generation of the file, so I doubt there is a theoretical max size on the file itself.

Is the size limitation due to a database field? If so why not just change to TEXT?

@wasade, it's a JS validation/limitation, my guess just to avoid users uploading their favorite video by mistake.
@dhakim87, just to confirm, anything we should do with the extra information? Just want to be sure I'm not missing anything.

I don't really know the context on this, but anything encoded in the file itself should be handled by whatever libraries are establishing the ssh session, it should be opaque to our code.

K, will issue a PR fixing this so it can be included on Monday's deployment.


[kueuectl] Add list ClusterQueue command

What would you like to be added:
Add list ClusterQueue command.
Why is this needed:
To get list all ClusterQueues, potentially limiting output to those that are active/inactive and matching the label selector.
Design details https://github.com/kubernetes-sigs/kueue/tree/main/keps/2076-kueuectl#list-clusterqueue.
Completion requirements:
This enhancement requires the following artifacts:

[ ] Design doc
[ ] API change
[x] Docs update

The artifacts should be linked in subsequent comments.

/unassign @mbobrovskyi @vladikkuzn @IrvingMg @trasc


Deprecation: OpenAPI 2.0 Documentation page

The package used to generate the OpenAPIv2 swagger page has a note pointing folks to def-spectacular which we are already using for the OpenAPIv3 swagger page
The OAPI2 page should be deprecated for the 2.25.0 release with a planned removal in 2.30.0 (Jan2024)

I suppose it should be mentioned also here
https://github.com/DefectDojo/django-DefectDojo/blob/967bf1b5018a1ad824e4e18371027b3e1fc3a7a3/dojo/templates/base.html#L173-L178


If string length is large then qr code is not scanning.

Hi,
I was using qrcodejs and if I want to type this string eyJhbGciOiJSUzI1NiIsImtpZCI6IkVEQzU3REUxMzU4QjMwMEJBOUY3OTM0MEE2Njk2ODMxRjNDODUwNDciLCJ0eXAiOiJKV1QiLCJ4NXQiOiI3Y1Y5NFRXTE1BdXA5NU5BcG1sb01mUElVRWMifQ.eyJkYXRhIjoie1wiU2VsbGVyR3N0aW5cIjpcIjI5QUFGQ0Q1ODYyUjAwMFwiLFwiQnV5ZXJHc3RpblwiOlwiMjlBQUFDSjcyMzBOMVo4XCIsXCJEb2NOb1wiOlwiZmdrbWZna2xmZGctMDJcIixcIkRvY1R5cFwiOlwiSU5WXCIsXCJEb2NEdFwiOlwiMTcvMTEvMjAyMFwiLFwiVG90SW52VmFsXCI6MzMuMDQsXCJJdGVtQ250XCI6MSxcIk1haW5Ic25Db2RlXCI6XCI5NDAxXCIsXCJJcm5cIjpcIjlmMDdjMzFmNjVjYTJhZDM4ZTNjNDU1YTk0OGRkOTk5ZmM3OWE2YmE1NDA0ZDY2NzQ2MGJiZmY2MTJjNzBhODVcIixcIklybkR0XCI6XCIyMDIwLTExLTIzIDIwOjE1OjAwXCJ9IiwiaXNzIjoiTklDIn0.C-SpBoxsRyrtaZzDKJ7YeRus0Z0aBscUTOjL4vqvnu6yiubpdY3P0zfbUuwulbY8IQ4h4MtYazaNmJ497t_DlNGNi89tzIphFIpz-IZH576EW9rbnyaKvJcgqi5k8cljR8fn9p9kr0qpnbYU8eSABW4C-qd6oKhs3OPesHhrJDvW8zoq29_mzCz1SZEcMhyI8jtZXuJoLuN-AJIq9LII9n61aSVEeMOT1tqt4wiz1WfRlMfBaIRvEHHl0AIq2dMjSxuB58A15XCclBIg291aiXny41KuLcABnn0k3VKfUAcF2kpfzNrPO44fOn1I0NDvYgb_hp7y3Xa0lDX3b_Ay7A
then qrcode scanner not scanning this qr code URL Can you please check and let me know Is there anything wrong I am doing.
Thanks.

Same here, any solutions?

I tried and it worked perfectly, so just wanna shout three things for you to try:
Mine worked perfectly, have you tried increasing the size of the image ? Also if you'r printing, its very important to go with 300dpi above

I tried and it worked perfectly, so just wanna say three things for you to try:

Increase the size of the image on screens.
If your printing, make sure you use a minimum of 300dpi.
If your using it for GET request, please keep notice that GET requests only allow a 2K maximum length, [https://developers.google.com/chart/infographics/docs/qr_codes], if you need more than 2k use the POST method.

Increase the size of the image on screens.
If your printing, make sure you use a minimum of 300dpi.
If your using it for GET request, please keep notice that GET requests only allow a 2K maximum length, GoogleDocs , if you need more than 2k use the POST method.


[0x0f013087: !unknown instruction!] when fusesoc run --target=sim barvinn

Hello, thank you for maintaining this project. I met this 'Fail', and I don't know how to fix it. It seems like I use the wrong riscv core to gen code.
[ INFO] 1709600.00 ns Test Fail [0x0f013087: !unknown instruction!] Unknown Instruction, pc=200cc8
[ INFO] 1710400.00 ns Test Fail [0x0e813107: !unknown instruction!] Unknown Instruction, pc=200ccc
[ INFO] 1711200.00 ns Test Fail [0x0e013187: !unknown instruction!] Unknown Instruction, pc=200cd0
[ INFO] 1712000.00 ns Test Fail [0x0d813207: !unknown instruction!] Unknown Instruction, pc=200cd4
[ INFO] 1712800.00 ns Test Fail [0x0d013287: !unknown instruction!] Unknown Instruction, pc=200cd8
[ INFO] 1713600.00 ns Test Fail [0x0c813307: !unknown instruction!] Unknown Instruction, pc=200cdc

This is my Makefile in conv, I change the march.
LDFLAGS = -nostdlib  -T$(ROOT_DIR)/common/link.ld -Map=$(OUT_DIR)/$(PROJ).map
 CCFLAGS = -march=rv32imafd -std=gnu99 -ffast-math -fno-builtin-printf

Hi Thanks for your interest in BARVINN!
Unfortunately  BARVINN does not support rv32imafd. We only support rv32i.  That is probably why you are getting this error.

Thank you so much for your help! I wanted to let you know that I have successfully resolved the issue and everything is working perfectly now. I truly appreciate your quick response and support in fixing the problem. Your expertise and guidance have been invaluable. Thanks again!


Allow multiple of the same attribute

Hi,
I need multiple SwaggerWcfHeader on a method but i´m unable to do so.
Is there a way to do?
Thanks

Why aren't you able to do so?

Never mind, I just understood your issue

Hey,
I know, what brunoj1 means. He wants to add multiple Header-Attributes on one operation. It's also an issue for me. I looked at your code and the only thing, that is missing in the attribute-definition (Attributes(/SwaggerWcfHeaderAttribute.cs) is the following (fat). Can you please fix this?
`using System;
namespace SwaggerWcf.Attributes
{
///
///     Describe a parameter
///
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
public class SwaggerWcfHeaderAttribute : Attribute`


How to add a reaction to a message?

With which function can I add or remove a reaction from a message?

Use addMessageReaction/removeMessageReaction with a reaction returned by getMessageAvailableReactions.


:belongs_to relationships don't seem to be working

Relationships are all currently treated as though they are a :has_* and don't work for :belongs_to

The gem has been rewritten to use a PEG, so this isn't required any more.


Removed inline vue2-editor.css import

Importing the file vue2-editor.css directly in the Vue2Editor component does not allow to style the editor in a proper way.
For example, the size of the toolbar's buttons is modified by vue2-editor.css and it is not possible to get back the original Quill button sizes without adding !important to the CSS declaration.
More generally, changing the style of the Quill editor should be considered as out of scope of the Vue2Editor component.
A good way of styling it could be to provide the vue2-editor.css file as example or as "addon" in the project.

That would be very important for me. So +1 :-)


after adding the transfer.pth file now i am facing this error

when i am trying to run the inference.ipynb it is giving me this error

I am not sure about this issue, and I did not reproduce the result. Could you please add more details?

i am trying to follow what is mentioned on the readme after adding the openai key in the embedding calculator file i try to ran the inference.ipynb now getting this error


Add GitHub Actions.

OMG we are going to need to do something about these slow builds.

Thinking something like this would work seeing how deps/bazelisk are already installed (ubuntu, macos)?
name: Test

on:
  pull_request:
    paths-ignore:
    - 'doc/**'
  push:
    branches:
    - main

jobs:
  test:
    matrix:
      os: [ubuntu-22.04, macos-12]

  runs-on: ${{ matrix.os }}
  steps:
    - uses: actions/checkout@v3
    - name: Test
      run:  bazel test --verbose_failures --test_output=errors //...

..as for caching, perhaps we can try the builtin bazel cache with a R2 bucket? Happy to do a PR/add on top if this. It would be problematic for forked repos but I guess the step that enables it can be conditional to what the repo is.


Improve Installation documentation

On this website http://pandas.pydata.org/pandas-docs/stable/install.html there are the console commands to install pandas on for example debian.
They are listed as sudo apt-get install python-pandas.
It would be a good idea to mention, that this will install pandas for python2 and you need to specificly write python3-pandas to get the version for python3.
This might probably be completely obvious to everyone installing stuff like this every day, but for a beginner like me it was not clear at all and I struggled for quite some time to get pandas for py3.
Thank you.

is there a reason you are not using the recommended instructions? e.g. anaconda/miniconda

Because as the help site states:

Anaconda, a cross-platform (Linux, Mac OS X, Windows) Python distribution for data analytics and scientific computing.
However this approach means you will install well over one hundred packages and involves downloading the installer which is a few hundred megabytes in size.
Miniconda allows you to create a minimal self contained Python installation, and then use the Conda command to install additional packages.

Neither do I want a new python installation nor do I want hundreds of MB and new packages. I simply want pandas my existing py3.4.
Anyway, as stated in the issue, it might be a good idea to write, that you can use python3-pandas and get the py3 version from your distribution.
greetings

ok, pls do a pull-request if you would

Note that you almost never want to install the version in the system packages I think, as this will probably be outdated?
If you're on linux, maybe just pip install pandas is the better thing to recommend?

This is what I tried first, but it takes quite some amount of memory to compile. Memory I did not have on my server. This is when the gcc crashed. (Also creating swapfiles was disabled, so the swapfile method did not work (somewhere explained in the issues)).

@ganego this is why we recommed using conda. It is very fast, does not compile and solves all of these types of issues. If you insist on using the (older) versions distribution with the default package managers, then things are not as friendly.

Ok I think I have done it correctly (?) (never done it before).
https://github.com/pydata/pandas/pull/10784

closed by #10784


mount repository on read-only filesystems with --no-lock fails

Output of restic version
restic 0.8.1 (v0.8.1-121-g94ec55f)
compiled with go1.9.2 on linux/amd64

How did you run restic exactly?
(/data type ext4 (ro,relatime,errors=remount-ro,data=ordered))

/usr/local/bin/restic mount --no-cache --no-lock -p /tmp/secret.pw -r /data/somefolder1/somerepo4567 /mnt/somerepo4567

Save(<lock/5e59d1c2e1>) returned error, retrying after 434.695773ms: OpenFile: open /data/somefolder1/somerepo4567/locks/5e59d1c2e168d883167983d8ed6961dcc807be6ef860243abf372049a7f01d21: read-only file system
unable to create lock in backend: OpenFile: open /data/somefolder1/somerepo4567/locks/5e59d1c2e168d883167983d8ed6961dcc807be6ef860243abf372049a7f01d21: read-only file system
unable to umount (maybe already umounted?): exit status 1: fusermount: failed to unmount /mnt/somerepo4567: No such file or directory

What backend/server/service did you use to store the repository?
local/restic
Expected behavior
Mount repo read-only without trying to access/write/read a lock file inside the read-only repo folder
Actual behavior
Fails while accessing/writing to lock folder inside the read-only repo folder
Steps to reproduce the behavior
See above
Do you have any idea what may have caused this?
Bad implementation of --no-lock arg
Do you have an idea how to solve the issue?
Don't try to access lock folder inside read-only repository on read-only filesystem when --no-lock is provided
Did restic help you or made you happy in any way?
Not fully yet

Its a bug?

"Mount repo read-only without trying to access/write/read a lock file inside the read-only repo folder"

I was interested in the background: Why do you want to do that? Is it because you have a restic repo on a read-only medium like a DVD? Or is it for safety reasons? Or a read-only (lvm?) snapshot of some kind?
I'm trying to understand your motivation, I think this is not a bug (at least for now, maybe it's a feature request?) but I don't have the full picture yet, so I'm trying to understand what your motivation is :)

Hello,
the usecase is to mount a repository inside of a readonly path.
The readonly path is a ro volume inside a docker container.
Therein the repo must be mounted ro and will be scanned via clamd. A list of malware hits is generated.
To ensure security - repo may contain executable malware - inside the whole docker container and the repository write access must be avoided.
It is essentially to be able to mount a repository readonly or be able to provide a writeable locking file path outside of the repo (for example in /tmp) if real readonly can not be implemented in restic.

Thanks for the feedback. I understand your use case a bit better now.
You can work around this limitation in restic already, if you're able to mount new volumes in the container: Either mount a new tmpfs at the locks/ subdir in the repo, or use mount --bind to mount a different directory there. It's not pretty but works.

I backup my files on a Windows box to an NTFS hard drive.  Today I tried to restore on my mac.  NTFS is read-only on the Mac.  I was unable to do so.  This command:
restic mount --help
implies that it will work since it says no-lock is a global option.  It appears it is not and now I cannot restore my backup.  Since a restore shouldn't over write the source, I believe this should be a valid option for mount.  Any command that writes the repository could fail when given a read-only repository.


Parallelise tree building

But think through parallelisation strategies before that. Cause that needs to be consistent with the score computation parallelisation.

Duplicate of #118


Update Tensorflow and Tensorboard versions to 1.14.0

Increment Tensorflow and Tensorboard versions as 1.13.1 is missing required dependencies for conditional generation.
Traceback (most recent call last):
  File "scripts/interactive_conditional_samples.py", line 19, in <module>
    from tensorflow.python.util import module_wrapper as deprecation
ImportError: cannot import name 'module_wrapper'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "scripts/interactive_conditional_samples.py", line 21, in <module>
    from tensorflow.python.util import deprecation_wrapper as deprecation
ImportError: cannot import name 'deprecation_wrapper'

sorry for the late reply, this issue should be fixed in #71


Constellation gives error when PrivateFor is used

Describe the bug
Quorum Constellation is not able to resolve addresses of node from public keys and fails.
To Reproduce
Steps to reproduce the behavior:

Deploy Quorum network with Constellation
Send a transaction with PrivateFor.
The transaction fails and there is an error in constellation logs

Expected behavior
The transaction should be submitted correctly when PrivateFor is used.
Additional Notes
The constellation tpl file is not created correctly, the consellation.url is to be generated according to the node and not used from tm_nodes. tm_nodes is for the bootstrap only.

@deepakkumardbd  Please take a look at this issue.


clearDates with 2 inputs and one datepicker doesnt work (Date-range)

Date range doesnt work like on example.

Here jsBin
http://jsbin.com/bisolexova/edit?html,output

I guess the doc might need to be updated. The following code should work.
$('.input-daterange').datepicker("clearDates");

xhkz have you tested this?
I tried:
$('.input-daterange').datepicker("clearDates");
$('.input-daterange').datepicker("update','')
$('.input-daterange').datepicker("update','','')
$('.input-daterange').datepicker("setDates',new Date(),new Date() )

Unfortunately neither of them seem to do anything.

ok, found out that clearDates() only works for single datepickers (hence its not supported for dateranges).
I did a PR (https://github.com/uxsolutions/bootstrap-datepicker/pull/2114) which allows you to reset a daterange using:
$('.input-daterange').data('datepicker').clearDates()

cheers


Embed testEcho test into SwiftActionContainerTests to speed up test execution time

The SwiftActionContainerTests currently inherits the testEcho test from BasicActionRunnerTests.  This test runs more slowly than the other Swift tests and can sometimes cause test timeouts.  While the root cause of this slowdown is TBD, embedding the test directly into SwiftActionContainerTests appears to speed up the execution time so it is similar to the other Swift tests.
We should use an embedded test until such time we determine why an inherited test is slow in the Swift container.

Moving testEcho causes the next inherited test to run more slowly.  Will embed all tests.

I believe that embedding is a red herring.  Its likely the order of the tests that matter, with the first test always taking longer than the rest.

Raising test timeout seems to resolve this issue.  Will close (for now)


Add eng exponentformat for engineering notation

Works just like SI, except it uses the kilo prefix for 1000 and uses the milli prefix (which SI doesn't).
Existing SI:

New eng

Change of plans, removed 'eng' exponentformat and created a new axis attribute minexponent
Example using minexponent=8 (no SI prefixes between 10^-8 and 10^8):


Fails to find and validate schemas that are defined as a $ref by URN

The code is available on runkit:
https://runkit.com/sondrele/58a88642b5e12e0013c5bf15
What version of Ajv are you using? Does the issue happen if you use the latest version?
4.11.2 (also tested on 5.0.2-beta.0)
Ajv options object (see https://github.com/epoberezkin/ajv#options):
var Ajv = require('ajv@4.11.2');
ajv = new Ajv({
    v5: true,
    allErrors: true,
    errorDataPath: 'property',
    verbose: true,
    missingRefs: "fail",
    unknownFormats: 'ignore',
    multipleOfPrecision: 12,
    extendRefs: true,
    passContext: true,
    i18n: false
});

JSON Schema (please make it as small as possible to reproduce the issue):
var schema = {
    "type": "object",
    "properties": {
        "ip1": {
            "id": "urn:some:ip:prop",
            "type": "string",
            "format": "ipv4"
        },
        "ip2": {
            "$ref": "urn:some:ip:prop"
        }
    },
    "required": [
        "ip1",
        "ip2"
    ]
};

Data (please make it as small as posssible to reproduce the issue):

var data = {
    "ip1": "<IP_ADDRESS>",
    "ip2": "<IP_ADDRESS>"
};

Your code (please use options, schema and data as variables):
console.log(ajv.validate(schema, data));

Validation result, data AFTER validation, error messages:
false

What results did you expect?
I had expected the data to be successfully validated, instead the validation ends with the error message "can't resolve reference urn:some:ip:prop from id #".
It seams like there might be a problem with the id being encoded as URN's, because the validation will succeed if we change the "id": "urn:some:ip:prop" to e.g. "id": "urn:some/ip:prop" (notice that I've only replaced the second : with a /).
When I'm looking at the object that keeps references to the internal schemas, I can see that the key for the ip1 schema gets translated to urn:some/ip:prop, so that when ajv tries to validate ip2 it fails to find the schema by it's original id.
It looks like the id's of the schemas might be treated like URL's instead of URN's, but I can't say this for sure.

Interesting. Never tried using URNs as refs

Yeah. I generate my schemas from java classes, so the class names gets serialized to a URN that identifies the schemas.
My current workaround is to translate all id's and $ref's before validating the schemas with ajv, but this is obviously not optimal.
If support for URN's is not on top of your priority list (so that it will take a while before it's implemented), I would happy to look into the issue instead.

I generate my schemas from java classes, so the class names gets serialized to a URN

Out of curiosity, what do you use to generate the schemas? We have some legacy Java code where it may be useful.

If support for URN's is not on top of your priority list (so that it will take a while before it's implemented), I would happy to look into the issue instead.

@sondrele it wasn't in this list at all, to be honest :) Yes, I would definitely appreciate it. I think it most likely caused by using node url package (and whatever browserify replaces it with in the browser). The replacement you use (if url package is indeed the reason) should not be much bigger, ideally even smaller :)

I was actually looking at it a little earlier today, and it is indeed the node-url package that's causing this.
My quick fix was to rename the url function on the object exported from the resolve module to uri, along with the following implementation:
// in the file lib/compile/resolve.js

// resolve.url = resolveUrl;
resolve.uri = resolveUri;

// ...

function resolveUri(baseId, id) {
  return /^urn:/i.test(id) ? id : resolveUrl(baseId, id);
}

//  the rest is like before...

function resolveUrl(baseId, id) {
  id = normalizeId(id);
  return url.resolve(baseId, id);
}

Looking at the URN syntax standard, it seems like it might be enough to check for whether the id starts with urn: to determine if it is a URN or a URL (depending on how thorough we want to be).
If you prefer to solve this with a library instead, it seams like the URI.js library is about the same size as node-url (a little smaller actually) and it looks like the API is fairly similar as well. I haven't gotten around to testing it out yet, but I will probably have some time to do it later this week if you think this is the better option :)

It's not sufficient I think. If Ajv were to support URNs it has to support URN resolution, URNs with

draft v4/v5

If by v5 you mean a special mode in Ajv, it's not standardised and removed from the next version - see 5.0.1-beta.0 (although all the features and v5 schemas will be supported with options).
If you mean recently published draft-05, then the consensus is that it was rushed out, has many inaccuracies, and as it was supposed to just "clarify the language" it can be ignored and instead draft-06 that is going to be published soon should be used. Ajv 5.0.0 will support it, the lastest beta supports almost everything from draft-06 apart from renaming "id" keyword to "$id".

It's not sufficient I think.

I meant a simple fix. Replacing url with another library is the right approach, that would be very good if you could do it. Thanks.

It's not sufficient I think. If Ajv were to support URNs it has to support URN resolution

It seems to me that there are two possible levels of support for any particular URI scheme (including non-URL schemes like urn: and tag:):

Usage as opaque identifiers (required by the spec)
Support for automatic retrieval of the resource through scheme-specific resolution

I'm quite possibly missing a subtlety, but 1 seems supportable independent of scheme and should be the first step anyway- presumably you don't fetch HTTP URLs over the network if you have already loaded the resource the URL identifies.
@epoberezkin I gather your concern is to be able to clearly define the limitation, and it seems to me that if you document that 1 is supported but 2 is not, that is clear.  1 is completely independent of scheme (so it's not really "URN support" anyway), while 2 is scheme-specific.  For 2, it's completely reasonable (and I believe compliant with the spec) to document that they are not automatically retrieved.
This would (to me) be the expected behavior for any scheme that is unknown to an implementation, whether URL or URN (which includes more than just urn:).
Fragment resolution is identical for all schemes, so as long as you can parse the fragment off that part should also work regardless of scheme or URL vs URN.  If you have the resource, you can apply the fragment no matter how it was identified.

This package change has caused AJV to fail for me.
I receive the following:
SyntaxError: Unexpected token 'const'
at webpack:///node_modules/ajv/node_modules/uri-js/dist/esnext/uri.js:39:0 <- karma-test-shim.js:41043
The error goes away if i don't call new Ajv()   OR    use Ajv 6.2.x instead of 6.4.x
for now i'm just going to stick with Ajv 6.2.x :)


readme update

Updated the news sentiment analyser readme.

Thanks for adjusting the tests to account for the changed timespan


chrysalis: 0.12.0 -> 0.13.2

Description of changes
Update chrysalis to 0.13.2. Marked draft while I test.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@eclairevoyant thank you for the thorough review! I will work on addressing your feedback soon.


[WIP} chore: update IPLD to latest version

js-ipld 0.19 has breaking changes that affect this project. Therefore
also update the corresponding code.

As luck would have it, CI is not green 😜

CI passed. Please note that it needs https://github.com/ipfs/js-ipfs/pull/1617 to be merged, else tests fail. Though the tests also fail on master without this PR, so I'd say this change is ready to be merged.


Consider using double_and_compress_batch in encrypt_to_bytes.

I looked briefly at the code and noticed that the encrypt_to_bytes methods do a scalar multiplication and then a point compression for each input item.  Although most of this work is the scalar multiplication, it's possible to amortize work across multiple point compressions, using the double_and_compress_batch method.  The only wrinkle is that rather than encoding Q_i, this encodes 2Q_i.  However, because Q_i is computed as k* P_i, it's still possible to use this method to get the same result as before, by multiplying k by (1/2) mod l (a constant value) to get k', and computing Q_i' <- k' * P_i.  Since Q_i = 2 Q_i', batch-double-and-encoding the Q_i' will give enc(Q_1) , ... , enc(Q_n).  This costs only one scalar-scalar multiplication for each batch, and I believe will save time as long as the batch is more than 1 element large.
The batching is not parallelizable, but this can still be applied in the parallel case by breaking a larger batch into chunks, and applying the optimization within each chunk.
Also, I think that the code could be slightly streamlined if the methods took impl Iterator<Item=...> rather than slices.  For instance, if encrypt_to_bytes took an iterator, instead of having to have separate hash_encrypt_to_bytes, a caller could do
// plaintexts is an iterator of byte slices
encrypt_to_bytes(plaintexts.map(RistrettoPoint::hash_from_bytes::<Sha512>))

and the hash-to-curve calculations would be inlined into the right place.

Thanks for your helpful comments :) we will get to this soon - we still have a ways to go in ekeing out all the performance...

Of course, no rush -- I just thought I'd point it out in case it was helpful. Hope you had a good experience using the library!

The library was the reason we moved to Rust :) we love it!!


plasma/wayland: pasting images does not work

Describe the bug
Taking a screenshot to the clipboard and pasting it into an application does not appear to work in plasma wayland sessions.
To Reproduce
Steps to reproduce the behavior:

Take a screenshot with spectacle (copy to clipboard, don't save to disk)
Try pasting into dolphin/discord/whatever
Nothing happens

Expected behavior
Application should insert the image from the clipboard to the input line/current directory/etc
Screenshots
would add if this worked, but then I wouldn't have to open this issue in the first place :wink:
Metadata

system: "x86_64-linux"
host os: Linux 5.11.19, NixOS, 21.05.git.03e6c33e523 (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(root): "nixos-21.05pre288911.65d6153aec8"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

unstable channel + #117102

FWIW it doesn't work on my arch machine either

What clipboard applications are you using?

Whatever I get on wayland plasma out of the box, I haven't really looked into it.

Not sure it's exactly the same problem, but mine sounds nearly identical. I believe the clipboard application is called Klipper.
Operating System: Kubuntu 21.04
KDE Plasma Version: 5.21.4
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2
Kernel Version: 5.11.0-16-generic
OS Type: 64-bit
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor
Memory: 15.6 GiB of RAM
Graphics Processor: AMD Radeon ™ RX 460 Graphics
One thing I've noticed is if I mouse over the clipboard icon down by the time, it shows "0x0 0bpp". If I were to copy the text "machine", it would show "Clipboard contents: machine".
So it seems like it thinks there's an image, but it's size is zero and has zero bits per pixel. Also using Spectacle to get a screenshot.

Copying entire images from firefox does appear to work, but pasting screenshots from Spectactle doesn't. So the problem is likely on that side rather than pasting itself. Normally I'd use flameshot but with recent plasma/wayland that isn't able to take screenshots at all. Hopefully it's just a matter of desktop portal support, which the next plasma release should fix.

This is a Qt bug, they're filling all the mimetypes with bmp data, so images copied from Qt applications will be pasted only to other Qt applications that support proprietary application/x-qt-image mime type (that is actually bmp).
https://codereview.qt-project.org/c/qt/qtwayland/+/366769

Seems to be fixed on current nixos-unstable. Dolphin now asks which image type to save the pasted image as, Discord drops the image in the input box as expected.


Introduce two exceptions to distinquish between resolution failures

Add NoStreamFoundException and ArtifactTransferException to the ChannelSession and VersionResolver API.
NoStreamFoundException should be thrown if the channels don't provide a requested artifact, while ArtifactTransferException wraps an underlying Maven transfer/resolution error.

@jmesnil , @jfdenise could you review this?


[WIP] Matlab functions to Python 3

Here you are the .py file with the functions in Python 3.
Hope is all right, if not let us know and we will try to fix it 💯  🔢
Good job!

Great! Thanks @uxuelazkano @christiancarballo and @emaudes !! I will add some test next week to show you how it works.


Improve Catalan localization

Fixes common mistake described in http://esadir.cat/entrades/fitxa/id/1496
Also added new newline character at the end of file.

@juanghurtado what do you think?

👍

@pereorga can you please update src/locale/ca.js and src/test/locale/ca.js. The other files are autogenerated.
You'd also need to sign the CLA (a new thing).

@pereorga - in the future, you can just push updates the existing branch and it will update the original PR.  Creating a new PR isn't necessary.  But thanks.

@mj1856 sure, but isn't better to merge only the right commits?

Yep, that's why you can amend your commits and push them again
El 10 nov. 2016 8:16 p. m., "Pere Orga"<EMAIL_ADDRESS>escribió:

@mj1856 https://github.com/mj1856 sure, but isn't better to merge only
the right commits?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/moment/moment/pull/3446#issuecomment-259780628, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAATzruExb-P2wM1cZOgcqdt66zeRMbIks5q8217gaJpZM4J-OXv
.

Exactly.  That's what rebasing is all about.

Yep, that's why you can amend your commits and push them again

You mean rewriting git history and pushing? If that works, how can these older (wrong) commits be still referenced in the same PR?

Exactly. That's what rebasing is all about.

I was using new git branches and PR because I understood they were cheap, if not free. I'm not sure I'm following you in that this is about rebasing, please could you elaborate?


DataLoader cash when using FI_EFA_USE_DEVICE_RDMA=1

Our AWS p4d.24xlarge job passed on 08/24, and the throughput was 3511 samples/second.
We used two p4d.24xlarges with FI_PROVIDER="efa" and FI_EFA_USE_DEVICE_RDMA=1
This test failed recently. The error message is following
File "/workspace/bert/run_pretraining.py", line 1592, in
args, final_loss, train_time_raw = main()
File "/workspace/bert/run_pretraining.py", line 1344, in main
for step, batch in enumerate(train_dataloader):
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 356, in iter
return self._get_iterator()
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 302, in _get_iterator
return _MultiProcessingDataLoaderIter(self)
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 941, in init
self._reset(loader, first_iter=True)
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 972, in _reset
self._try_put_index()
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1206, in _try_put_index
index = self._next_index()
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 509, in _next_index
return next(self._sampler_iter) # may raise StopIteration
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/sampler.py", line 226, in iter
for idx in self.sampler:
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/sampler.py", line 124, in iter
yield from torch.randperm(n, generator=generator).tolist()
File "/opt/conda/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
_error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 827) is killed by signal: Segmentation fault.
When test without FI_EFA_USE_DEVICE_RDMA=1, the test passes. But the throughput is 1673 samples/sec.
This is the dockerfile we used.
https://github.com/aws-samples/aws-efa-nccl-baseami-pipeline/blob/master/nvidia-efa-docker_base/Dockerfile.base

Did you NCCL_DEBUG=INFO output show that you indeed had gdr install and GDRDMA was being using for NCCL comms traffic?

Yes, it is use GDRDMA. Here is the log
failed.log

a PR has been merged here. https://github.com/aws/aws-ofi-nccl/pull/77 which addresses the non-page aligned buffers when calling pull the aws-ofi-nccl - aws branch and try again if you build the dockerfile it will consume this patch

@amrragab8080 Is there a planned date for a aws-ofi-nccl patch release with this fix? This is pretty important and needed for future DLC releases.

@sitecao aws-ofi-nccl release is planned for end of next week. Have you verified that using this patch fixed your issue?

@rashikakheria thanks for the information. Yes installing from the latest code resolved the issue on my side.

Thanks for confirming! I will update this thread as soon as we finalize a release.


Sometimes the Go1 app BMS information is not visible.

Sometimes Go1 App BMS information is not visible.
At this time, I checked the SDK's GetRecv (HighState) and found that all the BmsState values are zero.

Did this bms information works at some times, or it always nothing?

It happens sometimes

If sport mode process (Legged_sport) is killed or quit, then the information is unavaliable, until this process rerun again.

How do I check if the sport mode process is alive?
If BMS is not available, BMS information is not available even if the robot reboots and waits for more than 3 minutes.
When the battery is fully charged, BMS information is available.

Next time if the BMS info missing, then you can do the low-level control to print the bms state.
This will locate the problem.

I don't think I can solve the zero on the app.

I need find out this problem happens at high mode or low mode, so when informations gone next time, exit sport mode and use low mode to print. If low mode works then it's high mode problem.

This is the same issue I mailed support about a month or so ago. I was told it was a known bug. I am on a MAX model, which I understand is basically a pro with a 4g modem, so I am unable to move to low-level as suggested above. My BMS output has been steady broken for months on end.

This issue seems to have a root cause in the electronic on the battery. You can read out values from battery via usb-c with 921kbit on the charging station. With a defect battery you receive no values.


unable to compile on Ubuntu 22.04 or Windows 10

When compiling from git or latest release on Ubuntu 22.04, I receive the following error:
In file included from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleFifoQueue.h:19,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleFifoQueue.cpp:16:
/home/chris/Programs/source/FluidSynthPlugin/buildSetup/../src/BaseTypes/Primitives/Natural.h:25:18: error: ‘BaseTypes::GenericTypes’ has not been declared
   25 | using BaseTypes::GenericTypes::GenericNumber;
      |                  ^~~~~~~~~~~~
In file included from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp-inc:15,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.h:93,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleFifoQueue.h:20,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleFifoQueue.cpp:16:
/home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp-inc: In member function ‘void Audio::AudioSampleList::setToZero(BaseTypes::Primitives::Natural, BaseTypes::Primitives::Natural)’:
/home/chris/Programs/source/FluidSynthPlugin/buildSetup/../src/BaseTypes/Containers/MyArray.h:57:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘Audio::AudioSample’ {aka ‘struct BaseTypes::Primitives::Real’}; use assignment or value-initialization instead [-Wclass-memaccess]
   57 |         CString_memset(array, 0, (int) (count) * sizeof(ElementType))
      |                       ^
/home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp-inc:50:9: note: in expansion of macro ‘clearArray’
   50 |         clearArray(sampleArray, AudioSample, effectiveCount);
      |         ^~~~~~~~~~
In file included from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSample.h:18,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.h:20,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleFifoQueue.h:20,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleFifoQueue.cpp:16:
/home/chris/Programs/source/FluidSynthPlugin/buildSetup/../src/BaseTypes/Primitives/Real.h:36:12: note: ‘Audio::AudioSample’ {aka ‘struct BaseTypes::Primitives::Real’} declared here
   36 |     struct Real : GenericNumber<Real, double> {
      |            ^~~~
gmake[2]: *** [CMakeFiles/FluidSynthFileConverter.dir/build.make:76: CMakeFiles/FluidSynthFileConverter.dir/home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleFifoQueue.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:173: CMakeFiles/FluidSynthFileConverter.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

I am not sure if this matters, but I am trying to compile a version of the plugin without AVX as I have an Intel Core i7-990X CPU. I have commented out the two lines in CPPCompilerConfiguration.cmake pertaining to AVX compiler flags. I am also using JUCE 7.0.9 (latest). Any help would be greatly appreciated. Thank you. :)

I am also getting the same errors trying to compile in Windows using Visual Studio Community 2022. I have updated the issue title to reflect this.

Hello mrbumpy409,
sorry to answer that late, but I had missed your issue.
I shall have a look into your problem, but in principle the AVX should not make a difference (it just gets a little slower...)
As soon as I have found the issue, I will help you.
Best regards,
Prof Spock

Thanks for looking into this, Prof, I appreciate it!

Hello mrbumpy409,
first of all sorry for your inconvenience!  And additionally JUCE 7 has an
undocumented breaking change (when not using ProJucer): there is no file called
juce_VST3_wrapper.cpp any longer.
So if you are still willing to try, the fix in your workspace should be as follows:

Remove bad duplicates GenericNumber.h and GenericEnumeration.h in subdirectory
src/BaseTypes/Primitives (those files have been relocated to src/BaseTypes/GenericTypes).
So this explains your error message, those duplicates are outdated and in the wrong
namespace.
Modify the file JucePlugin-VST_1.cpp in src/Main/FluidSynthPlugin. There is a line#include <juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp>

that should be replaced by#include <juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp>

If you leave out the /ARCH:avx and -mavx in buildSetup/CPPCompilerConfiguration.cmake,
this should be fine for your Intel i7-990X. Compiler default is SSE2 and as far as I can tell your
processor supports that.

So this is a quick and dirty local fix. Good Luck!
If this does not work out, I shall check in some branch for you to try instead.
Best regards,
Prof Spock

Hi Prof, I want to thank you again for your help. I was able to get both the Linux and Windows version of the plugin to compile without errors. However, I am having issues getting the plugin to work correctly.
The Linux VST3 plays everything at too high of a pitch. It sounds as though it's internally operating at 44.1 KHz whereas my audio setup is locked to 48 KHz (using Jack). Specifying "synth.sample-rate = 48000.0" does not change anything. Also, if I mess with the plugin for long enough, it eventually freezes up REAPER and apparently my whole Jack session.
The Windows VST3 loads, but after I provide a SoundFont file reference and program and click "Confirm", it says "fluidsynth library could not be loaded". I have tried using the latest FluidSynth dlls as well as those bundled with FluidSynthPlugin v0.2.1 to no avail. I also tried running the Windows VST3 in Wine, but it will not accept any keyboard input in the GUI, so is unusable there (at least as I have tried it through yabridge in REAPER). I'll admit I'm less familiar with compiling software in Windows, so I may have missed something there.
As I get time, I'll look to see if I can create a debug build as mentioned in the manual to see if it can provide any answers.
P.S.: Small world, man! I don't remember whatever I might have said, but I hope it ended up being good advice, haha. 😁

Hello mrbumpy409,
thanks for your patience!
Our conversation took place about 4 years ago, where I was searching for a DAW plugin reproducing soundfonts bit-exactly to FluidSynth in the manner you had described in your essay from 2016. We both were quite sure that there is no such thing, so I had to do it myself...
Regarding your build efforts: I am a bit surprised that there is a problem with the sample rate, since the sample rate is set by the DAW. So it does not help to set the sample rate to some value in the plugin edit window, because this normally does not match the current rate in the DAW and is (hopefully?!) ignored.
Technically there is a call in the JUCE framework to a function called prepareToPlay handled by class FluidSynthPlugin_EventProcessor. This then sets the "synth.sample-rate" to the value given by the DAW and this is subsequently routed to the so called settings object of FluidSynth. According to the spec, the sample rate settings of a FluidSynth synthesizer object may be changed any time, but honestly I have not yet tried it.
Since I am using Reaper myself, I am going to find out and reproduce your setup at the weekend. Maybe I can locate the problem.
Regarding the DLL location in Windows at least in the Windows release ZIP file there are the DLLs included in the VST folder. So you could try and put libfluidsynth-3.dll,  libgcc_s_sjlj-1.dll,  libglib-2.0-0.dll,  libgobject-2.0-0.dll,  libgomp-1.dll,  libgthread-2.0-0.dll,  libinstpatch-2.dll, libintl-8.dll,  libsndfile-1.dll,  libstdc++-6.dll and libwinpthread-1.dll into the same directory as the VST3 file.
Maybe you have a look at the layout of the VST3 included in the Windows release ZIP file? Since those come from the official fluidsynth distribution, there should be no problem with your processor architecture.
For Linux, I have to check my Linux system at the weekend, but similar reasoning applies: there should be no problem with the sample rate, but I have to check that.
I am sorry to keep you waiting, but until Friday night I cannot answer your request competently 😉
Best regards,
Prof. Spock

I already did put the above listed DLL files along with the VST3 file just as they are in the 0.2.1 binary release of FluidSynthPlugin downloaded from GitHub. I'll do some more testing and see if I can come up with any clues.

I built the Linux version of the plugin using the Debug config, but I cannot figure out where the log file is ending up. It is not showing up in $TMPDIR (/tmp), and if i define the $temp variable as indicated in the documentation, it is not showing up in that location either.

According to the documentation logging should be active, when you are building a Debug version. But at the moment the implementation unfortunately does not follow this documentation: I had disabled logging completely for all builds, because I wanted to use the debug build for debugging with a debugger and did not want to cope with log files getting so large.
So in the build setup the setting had been commented out.
Now I have checked in the corrected version. Affected files are buildSetup/CMakeList.txt and src/BaseModules/LoggingSupport.cpp, so please do a PULL on the repository.
When you are using the debug version, the log file should occur in either $tmp, $temp, /tmp (whichever comes first...) and is called FluidSynthPlugin.log. Be aware that a lot of information is logged, so the log file can become quite large and, of course, the performance of the plugin is impaired (since it is mostly engaged in logging).

I'm getting an error building from the latest Git:
In file included from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp-inc:15,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp:21:
/home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp-inc: In member function ‘void Audio::AudioSampleList::setToZero(BaseTypes::Primitives::Natural, BaseTypes::Primitives::Natural)’:
/home/chris/Programs/source/FluidSynthPlugin/buildSetup/../src/BaseTypes/Containers/MyArray.h:57:23: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘Audio::AudioSample’ {aka ‘struct BaseTypes::Primitives::Real’}; use assignment or value-initialization instead [-Wclass-memaccess]
   57 |         CString_memset(array, 0, (int) (count) * sizeof(ElementType))
      |                       ^
/home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp-inc:34:9: note: in expansion of macro ‘clearArray’
   34 |         clearArray(sampleArray, AudioSample, effectiveCount);
      |         ^~~~~~~~~~
In file included from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSample.h:18,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.h:20,
                 from /home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleList.cpp:15:
/home/chris/Programs/source/FluidSynthPlugin/buildSetup/../src/BaseTypes/Primitives/Real.h:36:12: note: ‘Audio::AudioSample’ {aka ‘struct BaseTypes::Primitives::Real’} declared here
   36 |     struct Real : GenericNumber<Real, double> {
      |            ^~~~
[ 24%] Building CXX object CMakeFiles/FluidSynthFileConverter.dir/home/chris/Programs/source/FluidSynthPlugin/src/Audio/AudioSampleListVector.cpp.o
[ 26%] Building CXX object CMakeFiles/FluidSynthFileConverter.dir/home/chris/Programs/source/FluidSynthPlugin/src/BaseModules/File.cpp.o
/home/chris/Programs/source/FluidSynthPlugin/src/BaseModules/File.cpp: In member function ‘BaseTypes::Primitives::Natural BaseModules::File::read(BaseTypes::Containers::ByteList&, BaseTypes::Primitives::Natural, BaseTypes::Primitives::Natural)’:
/home/chris/Programs/source/FluidSynthPlugin/src/BaseModules/File.cpp:125:18: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?
  125 |             std::memcpy(ptr, charArray, (size_t) bytesRead);
      |                  ^~~~~~
      |                  wmemcpy
gmake[2]: *** [CMakeFiles/FluidSynthFileConverter.dir/build.make:132: CMakeFiles/FluidSynthFileConverter.dir/home/chris/Programs/source/FluidSynthPlugin/src/BaseModules/File.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:173: CMakeFiles/FluidSynthFileConverter.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

Hello mrbumpy409,
sorry to keep you waiting.
I did a build on Ubuntu 22.04 with clang and as far as I can tell it worked without problems. I did some code corrections before to get rid of some C++20 warnings (also incorporating your observation about the missing <cstring>, although previous compilations for Linux had worked without any problems).
So when you compile, please do a git pull first to get all the updates.
Also use cmake -S <pathTo>/CMakeList.txt -D CMAKE_BUILD_TYPE=Debug cmake --build .  and finally cmake --install . My gut feeling is that you do not have to specify the configuration for the Linux build and install since CMAKE in Linux relies on the make generator and the latter is not a so-called "multi-configuration tool". Hence you cannot specify the configuration when doing the actual build and install, because that had been fixed before during the cmake setup phase (the first step above).
Once you have succeeded in building the plugin, there is a test setup for Reaper in _DISTRIBUTION/test:

First you have to generate wave files via makeTestFiles.sh (which currently uses the Release version of the
plugin, but you can reconfigure it to use the Debug version).
Then open testFluidSynth-48000.rpp with Reaper. Within this project there are tracks with MIDI using
the FluidSynthPlugin (just built) based on some SimpleTestSoundfont.sf2, tracks with prerendered audio
from FluidSynth and tracks with prerendered audio from the pedantic FluidSynthConverter just built.
When you start playback, it should null (hopefully) because the MIDI audio tracks have their phases inverted. You can check that effect via a spectrum analyzer in the master track (already there).

Due to lack of time I did the check only in Windows, but here the setup also works for a 48kHz sample rate...
Sorry to flood you with information; I hope it helps you in getting things operational. But if you do not succeed in building the plugin yourself, I shall provide a new release for Windows, Linux and MacOs without AVX. The difference in performance between AVX and SSE instructions should not be so critical and then you do not have to build it yourself...
Best regards,
Prof. Spock

Everything builds successfully now (Linux... haven't tested Windows yet), and I was able to generate the WAV files per your instructions. However, opening the "testFluidSynth-48000.rpp" project file immediately crashes REAPER Linux x64 and causes QJackCtl to become unresponsive. JACK appears to be in a zombie state until I kill all JACK processes and re-launch JACK again using QJackCtl.
I am able to add FluidSynthPlugin into an empty project, but as before, the pitch is too high in each SoundFont I have tested. Other virtual instrument plugins sound at the correct pitch.
I have attached FluidSynthPlugin.zip containing the following log files:

FluidSynthPlugin-trying to load test project.log: This is the log file that was generated when unsuccessfully trying to load testFluidSynth-48000.rpp.
FluidSynthPlugin.log: This log file was generated via the following steps:

Launch REAPER.
Add FluidSynthPlugin instance to a MIDI track.
Load a SoundFont preset via the following text:

soundfont = /home/chris/Personal/Audio/Samples/SoundFonts/GeneralUser/GeneralUser GS v1.52.1.sf2
program = 0:0

Play a few notes via my MIDI keyboard.
Quit REAPER.

I hope the log files provide some clue as to what might be happening. I'll run a few more experiments on my end and see if I can get any clues.

I was able to test using a different audio device, one that I can set to either 48 KHz or 44.1 KHz. Here are the results:
44.1 KHz sample rate, 256 buffer size, 2 periods: FluidSynthPlugin plays at the correct pitch. The "testFluidSynth-44100.rpp" project still crashes REAPER, but doesn't cause JACK to hang up at all.
48 KHz sample rate, 256 buffer size, 2 periods: FluidSynthPlugin plays at too high a pitch.
So, it's definitely a sample rate thing. However, the log file clearly shows that the plugin is getting the correct sample rate from the host. I am using the latest libfluidsynth (2.3.4), but I will try the older, Ubuntu repository version (2.2.5) to see if that makes any difference.

Thanks, Prof!
Also, I think I have figured out why Windows builds are failing for me (Visual Studio 2022). The cmake configure process creates the folder "FluidSynthPlugin.vst3". Later, when the build process tries to create a file by the same name, it fails because there is already the identically-named folder there. If I delete the "FluidSynthPlugin.vst3" folder before building, then the build fails at "Linking CXX shared library FluidSynthPlugin.vst3" when trying to copy the "FluidSynthPlugin.vst3" file into the folder of the same name, which doesn't (and can't) exist in the same folder.

Thanks! I look forward to checking out those builds. In the meantime, I have created a video showing the compilation process as it happens on my system. Hopefully it will tip you off as to what is going on.
Peace 🙂

Okay, so here are my notes so far testing the builds you created.
Linux
The Linux plugin now works perfectly, as far as I have tested in REAPER. I spent a good deal of time trying out various SoundFonts and settings and didn't have any issues at all. It would seem the previous JACK instability had been caused by the sample rate differential, which is now fixed.
Windows
Attempting to use the plugin in REAPER still fails. When I add the plugin initially, the track becomes muted, and after I have entered settings and clicked "Confirm", I get "fluidsynth library could not be loaded". So, I tried the plugin in Mixcraft 10, and it works perfectly.
Investigating further in REAPER, I see all of the FluidSynth DLLs on the "Plugins that failed to scan" list, and manually attempting to re-scan them doesn't remove them from the list. I will have to do more research on what can be done about this. Perhaps moving the FluidSynth libraries into a system path?
The other issue I ran into was when attempting to use the DLLs from the latest FluidSynth (2.3.4 64-bit binary release from Git) with FluidSynthPlugin, which results in an "unable to load SoundFont " error. Perhaps I may need to try compiling my own FluidSynth version and see if that works.
Thanks again for all of your help with this! I'm curious, do you play keyboard at all? I have been working on a few SoundFonts you might find interesting.

One last post for now. You had wanted to know if my build process was resulting in a different file/folder output from what you were getting. Here is the difference between my compiled Linux version (left) and yours (right):

Hello mrbumpy409,
first of all thank you for your effort in producing the video and all your patience during the last weeks!
Great that Linux works now!  And for the Windows build I see that the final installation step fails.
The reason for that is that the Windows VST has to contain the library DLLs and those are not provided in the project.  As far as I remember I deleted them in GitHub, because they are "external libraries"; this was, of course, not helpful when they are needed for the build 😞
To ensure that a build from scratch in Windows works I have enclosed a walk-through installation description for Visual Studio and by using CMAKE on the command line.
BuildForWindows.docx
Please check if this works now.  By the way: it is necessary to specify the configuration for a Windows build, because the Visual
Studio CMAKE generator is multi-platform.
I have no real answer for the scan problem in Reaper: the DLLs are in the path of the VST3 plugin and hence Reaper assumes that those are VST3 components.  But, of course, they do not react to VST3 API calls and then Reaper flags them as "bad".  I have to check how other plugins deal with that problem.  I have the same effect, but choose to ignore it.

[Difference between installed layout in ZIP archive and locally for mrbumpy409]

This is no problem; the ZIP file has a more elaborate layout, because it might also contain the plugins for other target platforms...

I'm curious, do you play keyboard at all? I have been working on a few SoundFonts you might find interesting.

I am not a keyboard player, but a guitarist and I used to do arrangements for a company band. Soundfonts are an integral component of my toolchain so I am always interested in good ones :wink:
But my focus is on realistic sounds for band instruments in pop and rock arrangements (e-piano, organ, piano, synthesizer, guitar, e-bass, drums). I tried out several GM soundfonts, but so far I am quite satisfied with FluidR3_GM.sf2 and a little bit of tweaking via polyphone.
You are so well-known for systematically improving sound fonts (either via your analysis from 2016 or by your work for MuseScore) that I am absolutely positive that any of your soundfont creations is excellent 👍
Best regards,
Prof. Spock

To ensure that a build from scratch in Windows works I have enclosed a walk-through installation description for Visual Studio and by using CMAKE on the command line.

The Windows build completes successfully now! Unfortunately, it suffers the same issue as the others. So far, no build of FluidSynthPlugin will work in REAPER in Windows on any machine I've tried (3 different systems). It's always the same "fluidsynth library could not be loaded" error.

I have no real answer for the scan problem in Reaper: the DLLs are in the path of the VST3 plugin and hence Reaper assumes that those are VST3 components. But, of course, they do not react to VST3 API calls and then Reaper flags them as "bad". I have to check how other plugins deal with that problem. I have the same effect, but choose to ignore it.

If I read your comment correctly, you have the FluidSynth DLLs on REAPER's "failed to scan" list, but yet the plugin works for you? What version of REAPER are you on?

But my focus is on realistic sounds for band instruments in pop and rock arrangements (e-piano, organ, piano, synthesizer, guitar, e-bass, drums). I tried out several GM soundfonts, but so far I am quite satisfied with FluidR3_GM.sf2 and a little bit of tweaking via polyphone.

I am currently working on a new GM SoundFont based on FluidR3. There's still a ways to go before it's ready for a first release, but I have developed some really cool techniques for achieving realistic dynamic control. This is especially noticeable when playing the instruments via MIDI keyboard, as there are no perceivable sample splits across the velocity range. FluidSynth is the only SoundFont softsynth that can properly handle the programming for this.
Here are demos of the Rhodes and Yamaha DX7 electric piano presets that use these techniques, at 11.5 MB and 15.8 MB sample size respectively.
Peace. 🙂

I discovered that if I drop the FluidSynth DLL files into C:\Windows\System32, FluidSynthPlugin works in REAPER. So for whatever reason, the plugin under REAPER can't seem to find the DLL files from within the .vst3 folder. Next I removed the FluidSynth DLLs from C:\Windows\System32 and instead added C:\Program Files\Common Files\VST3\FluidSynthPlugin.vst3\Contents\x86_64-win\ to the system %PATH% variable. This also worked. So at least for now, I have a workaround.

Hello mrbumpy409,
I have adapted the code for both the sample rate problem and also the search paths for the dynamic libraries.
In my opinion everything should work as expected now and hence I have published the changes as a new release.
If you want to, you can have a look whether everything is okay. Please ensure that you do a fresh git clone, because I have rebased the git history.
The bug with the sample rate change crashing libfluidsynth is still there; I have to investigate this with the Reaper and the FluidSynth maintainers.
Thanks for your support and perseverance! Now I will have a look at your soundfont demos...
Best regards,
Prof. Spock

I have adapted the code for both the sample rate problem and also the search paths for the dynamic libraries.

I just confirmed that the Windows version of FluidSynthPlugin can find the libraries in REAPER now. Excellent!
One feature I am really excited about is the ability to use environment variables in the SoundFont path. This allows me to save a project in one OS and resume it in another, as the environment variables can be set in each OS to point to the same samples folder on a shared drive.
Thanks again for all your help!

Hi Prof, I have a couple questions.

Is the FluidSynth library version included with FluidSynthPlugin documented somewhere? I've been compiling with the latest version downloaded from fluidsynth.org since I wasn't sure.
FluidSynth allows setting the sample interpolation method per midi channel via fluid_synth_set_interp_method() (API link). Normally this can be accessed via the FluidSynth console commands, but there doesn't appear to be a setting for it (e.g., "settings.interp"). So, I'm not sure if it would be possible to add support for this feature to the plugin, but if so, it would be nice to be able to select the highest sample interpolation (7th order) rather than the default (4th order) to avoid aliasing artifacts in some cases. Is this something that would be feasible?

Thanks. :)

Hello mrbumpy409,

The fluidsynth library version included in the distribution is not documented (but you can find it by looking at the libraries folder). So currently we have version 3 of the fluidsynth library on all platforms...
In principle, any version should work, since the library is dynamically loaded and bound. As long as the elementary functions of the fluidsynth library are syntactically and semantically unchanged, the version should not matter.
Unfortunately - as you have described - there is no synthesizer setting for the sample interpolation method that can be directly passed through: so it does not work out of the box.
Well, what I could do is introduce another artificial setting (like soundfont or program) that maps onto that function like e.g. synthesizer.interpolation-method with integer values 0, 1, 4 and 7. What do you think?

I am curious: is there any program where you can select this feature of fluidsynth (when the command line version obviously does not support it)?
Best regards,
Prof. Spock

1. The fluidsynth library version included in the distribution is not documented (but you can find it by looking at the [libraries folder](https://github.com/prof-spock/FluidSynthPlugin/tree/master/libraries)). So currently we have version 3 of the fluidsynth library on all platforms...

I was just curious, since I know sometimes there are compatibility fixes. The full FluidSynth release always has a version number like "2.3.4", so I'm not sure how that relates to the library v3.

   In principle, any version should work, since the library is dynamically loaded and bound. As long as the elementary functions of the fluidsynth library are syntactically and semantically unchanged, the version should not matter.

That's good to know.

2. Unfortunately - as you have described - there is no synthesizer setting for the sample interpolation method that can be directly passed through: so it does not work out of the box.
   Well, what I could do is introduce another artificial setting (like `soundfont` or `program`) that maps onto that function like e.g. `synthesizer.interpolation-method` with integer values 0, 1, 4 and 7. What do you think?

That would be amazing, and it would surely also make @DaforLynx happy, as he has an open feature request for this same function to be added to juicysfplugin.

I am curious: is there any program where you can select this feature of fluidsynth (when the command line version obviously does not support it)?

Actually, the command line version does support it in the FluidSynth shell via the "interp num" command (user manual reference). Looking around, I did find ways to change the FluidSynth interpolation method in jOrgan and csound, but I don't recall seeing it elsewhere. Comparing FluidSynth's default interpolation to BASSMIDI and Sobanth SoundFont synths, it is clear that the latter two use a higher interpolation quality than 4th-order, which is to be expected from pro audio samplers.
Anyway, thanks for considering this. As-is, this plugin is already proving invaluable to me. Thank you :)

@mrbumpy409 Somehow I didn't register that the S. Christian Collins was in this thread. Thanks for all your work! Yeah, that's actually the main thing I'm using this plugin for, the interp 0 setting. It's great for some of my particular uses and having program changes work would make it great for the rest of them ;). Another plugin that I am aware of which has interp settings is Phenome, but it has its own issues.

@mrbumpy409 Somehow I didn't register that the S. Christian Collins was in this thread.

I never seem to be very far from any SoundFont related bug report, LOL.

Thanks for all your work! Yeah, that's actually the main thing I'm using this plugin for, the interp 0 setting.

Wait, did you finally get juicysfplugin to compile? I eventually gave up.

It's great for some of my particular uses _and having program changes work would make it great for the rest of them ;)

Well, program changes work great in FluidSynthPlugin. Bank changes do as well, assuming you don't specify the initial program in the interface "program = 0:5" or whatever, because that appears to lock it to the specified bank.

Another plugin that I am aware of which has interp settings is Phenome, but it has its own issues.

Sobanth does as well, but neither of those are based on FluidSynth.
@prof-spock Sorry for the thorough hijacking of this bug thread...

Wait, did you finally get juicysfplugin to compile? I eventually gave up.
No, never ended up happening, which is why I'm here.

Well, program changes work great in FluidSynthPlugin. Bank changes do as well, assuming you don't specify the initial program in the interface "program = 0:5" or whatever, because that appears to lock it to the specified bank.
Yeah, but MIDI-streamed Program Changes do not, sadly, and it seems to be a limitation of VST3 as described in the other open issue here.

Also oh my god @mrbumpy409 I think you just found the VST I've always wanted for me
Sobanth has that interpolation setting, and can play multiple channels at once
Thank you!

No objections here. :)

Thanks, I close the issue.