[BUG] Build failed

I cannot compile even the simplest Hello World code.
Imported the dependencies as follow
[dependencies]
fltk = "^0.11"

However, the program did not compile.

OS:Windows 10 x64
Build log:

       Fresh cc v1.0.66
       Fresh unicode-xid v0.2.1
       Fresh lazy_static v1.4.0
       Fresh cmake v0.1.45
       Fresh proc-macro2 v1.0.24
       Fresh libc v0.2.81
       Fresh quote v1.0.7
   Compiling fltk-sys v0.11.5
       Fresh bitflags v1.2.1
     Running `C:\Users\fflea\CLionProjects\VNMapGUI\target\debug\build\fltk-sys-252927e00f15bbd1\build-script-build`
       Fresh syn v1.0.54
       Fresh fltk-derive v0.11.5
[fltk-sys 0.11.5] cargo:rerun-if-changed=build.rs
[fltk-sys 0.11.5] cargo:rerun-if-env-changed=CC
[fltk-sys 0.11.5] cargo:rerun-if-env-changed=CXX
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/CMakeLists.txt
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_widget.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_group.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_input.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_output.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_window.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_button.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_box.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_menu.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_dialog.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_valuator.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_browser.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_misc.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_text.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_image.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_draw.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_table.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_surface.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_printer.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_global.hpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_new.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_widget.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_group.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_window.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_button.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_box.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_menu.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_dialog.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_valuator.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_browser.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_misc.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_text.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_image.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_input.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_output.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_draw.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_table.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_tree.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_surface.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_printer.cpp
[fltk-sys 0.11.5] fatal: not a git repository (or any of the parent directories): .git
[fltk-sys 0.11.5] error: patch failed: CMake/export.cmake:33
[fltk-sys 0.11.5] error: CMake/export.cmake: patch does not apply
[fltk-sys 0.11.5] error: patch failed: CMake/options.cmake:115
[fltk-sys 0.11.5] error: CMake/options.cmake: patch does not apply
[fltk-sys 0.11.5] error: VERSION: No such file or directory
[fltk-sys 0.11.5] error: patch failed: src/CMakeLists.txt:300
[fltk-sys 0.11.5] error: src/CMakeLists.txt: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/Fl_lock.cxx:418
[fltk-sys 0.11.5] error: src/Fl_lock.cxx: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/Fl_win32.cxx:586
[fltk-sys 0.11.5] error: src/Fl_win32.cxx: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/config_lib.h:78
[fltk-sys 0.11.5] error: src/config_lib.h: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/drivers/Android/Fl_Android_System_Driver.H:25
[fltk-sys 0.11.5] error: src/drivers/Android/Fl_Android_System_Driver.H: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/drivers/Android/Fl_Android_System_Driver.cxx:24
[fltk-sys 0.11.5] error: src/drivers/Android/Fl_Android_System_Driver.cxx: patch does not apply
[fltk-sys 0.11.5] running: "cmake" "C:\\Users\\fflea\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\fltk-sys-0.11.5\\cfltk" "-G" "Visual Studio 16 2019" "-Thost=x64" "-Ax64" "-DOPTION_USE_SYSTEM_LIBPNG=OFF" "-DOPTION_USE_SYSTE
M_LIBJPEG=OFF" "-DOPTION_USE_SYSTEM_ZLIB=OFF" "-DCFLTK_LINK_IMAGES=ON" "-DOpenGL_GL_PREFERENCE=GLVND" "-DOPTION_USE_GL=OFF" "-DCFLTK_USE_OPENGL=OFF" "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" "-DFLTK_BUILD_EXAMPLES=OFF" "-DFLTK_BUILD_TEST
=OFF" "-DFLTK_BUILD_FLUID=OFF" "-DOPTION_USE_THREADS=ON" "-DOPTION_LARGE_FILE=ON" "-DOPTION_BUILD_HTML_DOCUMENTATION=OFF" "-DOPTION_BUILD_PDF_DOCUMENTATION=OFF" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\fflea\\CLionProjects\\VNMapGUI\\targ
et\\debug\\build\\fltk-sys-29626eefcff0b61e\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMA
KE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_BUILD_TYPE=Release"
[fltk-sys 0.11.5] CMake Error: Could not create named generator Visual Studio 16 2019
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] Generators
[fltk-sys 0.11.5] * Unix Makefiles               = Generates standard UNIX makefiles.
[fltk-sys 0.11.5]   Ninja                        = Generates build.ninja files.
[fltk-sys 0.11.5]   Ninja Multi-Config           = Generates build-<Config>.ninja files.
[fltk-sys 0.11.5]   CodeBlocks - Ninja           = Generates CodeBlocks project files.
[fltk-sys 0.11.5]   CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
[fltk-sys 0.11.5]   CodeLite - Ninja             = Generates CodeLite project files.
[fltk-sys 0.11.5]   CodeLite - Unix Makefiles    = Generates CodeLite project files.
[fltk-sys 0.11.5]   Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
[fltk-sys 0.11.5]   Sublime Text 2 - Unix Makefiles
[fltk-sys 0.11.5]                                = Generates Sublime Text 2 project files.
[fltk-sys 0.11.5]   Kate - Ninja                 = Generates Kate project files.
[fltk-sys 0.11.5]   Kate - Unix Makefiles        = Generates Kate project files.
[fltk-sys 0.11.5]   Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
[fltk-sys 0.11.5]   Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] thread 'main' panicked at '
[fltk-sys 0.11.5] command did not execute successfully, got: exit code: 1
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] build script failed, must exit now', C:\Users\fflea\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.45\src\lib.rs:894:5
[fltk-sys 0.11.5] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: failed to run custom build command for `fltk-sys v0.11.5`

Caused by:
  process didn't exit successfully: `C:\Users\fflea\CLionProjects\VNMapGUI\target\debug\build\fltk-sys-252927e00f15bbd1\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-env-changed=CC
  cargo:rerun-if-env-changed=CXX
  cargo:rerun-if-changed=cfltk/CMakeLists.txt
  cargo:rerun-if-changed=cfltk/include/cfl.h
  cargo:rerun-if-changed=cfltk/include/cfl_widget.h
  cargo:rerun-if-changed=cfltk/include/cfl_group.h
  cargo:rerun-if-changed=cfltk/include/cfl_input.h
  cargo:rerun-if-changed=cfltk/include/cfl_output.h
  cargo:rerun-if-changed=cfltk/include/cfl_window.h
  cargo:rerun-if-changed=cfltk/include/cfl_button.h
  cargo:rerun-if-changed=cfltk/include/cfl_box.h
  cargo:rerun-if-changed=cfltk/include/cfl_menu.h
  cargo:rerun-if-changed=cfltk/include/cfl_dialog.h
  cargo:rerun-if-changed=cfltk/include/cfl_valuator.h
  cargo:rerun-if-changed=cfltk/include/cfl_browser.h
  cargo:rerun-if-changed=cfltk/include/cfl_misc.h
  cargo:rerun-if-changed=cfltk/include/cfl_text.h
  cargo:rerun-if-changed=cfltk/include/cfl_image.h
  cargo:rerun-if-changed=cfltk/include/cfl_draw.h
  cargo:rerun-if-changed=cfltk/include/cfl_table.h
  cargo:rerun-if-changed=cfltk/include/cfl_surface.h
  cargo:rerun-if-changed=cfltk/include/cfl_printer.h
  cargo:rerun-if-changed=cfltk/src/cfl_global.hpp
  cargo:rerun-if-changed=cfltk/src/cfl_new.cpp
  cargo:rerun-if-changed=cfltk/src/cfl.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_widget.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_group.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_window.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_button.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_box.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_menu.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_dialog.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_valuator.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_browser.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_misc.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_text.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_image.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_input.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_output.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_draw.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_table.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_tree.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_surface.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_printer.cpp
  running: "cmake" "C:\\Users\\fflea\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\fltk-sys-0.11.5\\cfltk" "-G" "Visual Studio 16 2019" "-Thost=x64" "-Ax64" "-DOPTION_USE_SYSTEM_LIBPNG=OFF" "-DOPTION_USE_SYSTEM_LIBJPEG=OFF" "
-DOPTION_USE_SYSTEM_ZLIB=OFF" "-DCFLTK_LINK_IMAGES=ON" "-DOpenGL_GL_PREFERENCE=GLVND" "-DOPTION_USE_GL=OFF" "-DCFLTK_USE_OPENGL=OFF" "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" "-DFLTK_BUILD_EXAMPLES=OFF" "-DFLTK_BUILD_TEST=OFF" "-DFLTK_BU
ILD_FLUID=OFF" "-DOPTION_USE_THREADS=ON" "-DOPTION_LARGE_FILE=ON" "-DOPTION_BUILD_HTML_DOCUMENTATION=OFF" "-DOPTION_BUILD_PDF_DOCUMENTATION=OFF" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\fflea\\CLionProjects\\VNMapGUI\\target\\debug\\build
\\fltk-sys-29626eefcff0b61e\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -n
ologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_BUILD_TYPE=Release"

  --- stderr
  fatal: not a git repository (or any of the parent directories): .git
  error: patch failed: CMake/export.cmake:33
  error: CMake/export.cmake: patch does not apply
  error: patch failed: CMake/options.cmake:115
  error: CMake/options.cmake: patch does not apply
  error: VERSION: No such file or directory
  error: patch failed: src/CMakeLists.txt:300
  error: src/CMakeLists.txt: patch does not apply
  error: patch failed: src/Fl_lock.cxx:418
  error: src/Fl_lock.cxx: patch does not apply
  error: patch failed: src/Fl_win32.cxx:586
  error: src/Fl_win32.cxx: patch does not apply
  error: patch failed: src/config_lib.h:78
  error: src/config_lib.h: patch does not apply
  error: patch failed: src/drivers/Android/Fl_Android_System_Driver.H:25
  error: src/drivers/Android/Fl_Android_System_Driver.H: patch does not apply
  error: patch failed: src/drivers/Android/Fl_Android_System_Driver.cxx:24
  error: src/drivers/Android/Fl_Android_System_Driver.cxx: patch does not apply
  CMake Error: Could not create named generator Visual Studio 16 2019

  Generators
  * Unix Makefiles               = Generates standard UNIX makefiles.
    Ninja                        = Generates build.ninja files.
    Ninja Multi-Config           = Generates build-<Config>.ninja files.
    CodeBlocks - Ninja           = Generates CodeBlocks project files.
    CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
    CodeLite - Ninja             = Generates CodeLite project files.
    CodeLite - Unix Makefiles    = Generates CodeLite project files.
    Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
    Sublime Text 2 - Unix Makefiles
                                 = Generates Sublime Text 2 project files.
    Kate - Ninja                 = Generates Kate project files.
    Kate - Unix Makefiles        = Generates Kate project files.
    Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
    Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

  thread 'main' panicked at '
  command did not execute successfully, got: exit code: 1

  build script failed, must exit now', C:\Users\fflea\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.45\src\lib.rs:894:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Hi
It seems you don’t have the visual studio c++ (msvc) toolchain installed. Can you try to change your cargo.toml to either:
[dependencies]
fltk = { version = "0.11", features = ["use-ninja"] }

Or
[dependencies]
fltk = { version = "0.11", features = ["fltk-bundled"] }

Hi
It seems you don’t have the visual studio c++ (msvc) toolchain installed. Can you try to change your cargo.toml to either:
[dependencies]
fltk = { version = "0.11", features = ["use-ninja"] }

Or
[dependencies]
fltk = { version = "0.11", features = ["fltk-bundled"] }

The second option works. However, it's kinda weird because when I installed rust, shouldn't that install visual studio c++ (msvc) toolchain also? I got the VS Build Tool installed, if that is what you mean. I will update it, but do you mean anything else, or where can I get the toolchain?

Hmm it seems to be installed, but clion can’t seem to find it. Or the PATH environment variables might not be set correctly, or ignored by clion.
You can try building from the command line using the Native Developers Command Prompt (type "native" in your Windows Start menu, and choose the x64 one if you’re running x86_64), and run cargo build in your project’s directory (without any of the features). If the C++ build tools are installed correctly, the build should succeed.

Hmm it seems to be installed, but clion can’t seem to find it. Or the PATH environment variables might not be set correctly, or ignored by clion.
You can try building from the command line using the Native Developers Command Prompt (type "native" in your Windows Start menu, and choose the x64 one if you’re running x86_64), and run cargo build in your project’s directory (without any of the features). If the C++ build tools are installed correctly, the build should succeed.

Still did not work though for some reason. This is from command line, not Clion.
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.8.3
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools>cd C:\Users\fflea\CLionProjects\VNMapGUI

C:\Users\fflea\CLionProjects\VNMapGUI>cargo build -vv
       Fresh unicode-xid v0.2.1
       Fresh cc v1.0.66
       Fresh lazy_static v1.4.0
       Fresh cmake v0.1.45
       Fresh proc-macro2 v1.0.24
       Fresh libc v0.2.81
       Fresh quote v1.0.7
   Compiling fltk-sys v0.11.5
       Fresh bitflags v1.2.1
     Running `C:\Users\fflea\CLionProjects\VNMapGUI\target\debug\build\fltk-sys-252927e00f15bbd1\build-script-build`
       Fresh syn v1.0.54
       Fresh fltk-derive v0.11.5
[fltk-sys 0.11.5] cargo:rerun-if-changed=build.rs
[fltk-sys 0.11.5] cargo:rerun-if-env-changed=CC
[fltk-sys 0.11.5] cargo:rerun-if-env-changed=CXX
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/CMakeLists.txt
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_widget.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_group.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_input.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_output.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_window.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_button.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_box.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_menu.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_dialog.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_valuator.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_browser.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_misc.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_text.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_image.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_draw.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_table.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_surface.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/include/cfl_printer.h
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_global.hpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_new.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_widget.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_group.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_window.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_button.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_box.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_menu.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_dialog.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_valuator.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_browser.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_misc.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_text.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_image.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_input.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_output.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_draw.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_table.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_tree.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_surface.cpp
[fltk-sys 0.11.5] cargo:rerun-if-changed=cfltk/src/cfl_printer.cpp
[fltk-sys 0.11.5] fatal: not a git repository (or any of the parent directories): .git
[fltk-sys 0.11.5] error: patch failed: CMake/export.cmake:33
[fltk-sys 0.11.5] error: CMake/export.cmake: patch does not apply
[fltk-sys 0.11.5] error: patch failed: CMake/options.cmake:115
[fltk-sys 0.11.5] error: CMake/options.cmake: patch does not apply
[fltk-sys 0.11.5] error: VERSION: No such file or directory
[fltk-sys 0.11.5] error: patch failed: src/CMakeLists.txt:300
[fltk-sys 0.11.5] error: src/CMakeLists.txt: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/Fl_lock.cxx:418
[fltk-sys 0.11.5] error: src/Fl_lock.cxx: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/Fl_win32.cxx:586
[fltk-sys 0.11.5] error: src/Fl_win32.cxx: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/config_lib.h:78
[fltk-sys 0.11.5] error: src/config_lib.h: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/drivers/Android/Fl_Android_System_Driver.H:25
[fltk-sys 0.11.5] error: src/drivers/Android/Fl_Android_System_Driver.H: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/drivers/Android/Fl_Android_System_Driver.cxx:24
[fltk-sys 0.11.5] error: src/drivers/Android/Fl_Android_System_Driver.cxx: patch does not apply
[fltk-sys 0.11.5] running: "cmake" "C:\\Users\\fflea\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\fltk-sys-0.11.5\\cfltk" "-G" "Visual Studio 16 2019" "-Thost=x64" "-Ax64" "-DOPTION_USE_SYSTEM_LIBPNG=OFF" "-DOPTION_USE_SYSTEM_LIBJPEG=OFF" "-DOPTION_USE_SYSTEM_ZLIB=OFF" "-DCFLTK_LINK_IMAGES=ON" "-DOpenGL_GL_PREFERENCE=GLVND" "-DOPTION_USE_GL=OFF" "-DCFLTK_USE_OPENGL=OFF" "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" "-DFLTK_BUILD_EXAMPLES=OFF" "-DFLTK_BUILD_TEST=OFF" "-DFLTK_BUILD_FLUID=OFF" "-DOPTION_USE_THREADS=ON" "-DOPTION_LARGE_FILE=ON" "-DOPTION_BUILD_HTML_DOCUMENTATION=OFF" "-DOPTION_BUILD_PDF_DOCUMENTATION=OFF" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\fflea\\CLionProjects\\VNMapGUI\\target\\debug\\build\\fltk-sys-29626eefcff0b61e\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_BUILD_TYPE=Release"
[fltk-sys 0.11.5] CMake Error: Could not create named generator Visual Studio 16 2019
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] Generators
[fltk-sys 0.11.5] * Unix Makefiles               = Generates standard UNIX makefiles.
[fltk-sys 0.11.5]   Ninja                        = Generates build.ninja files.
[fltk-sys 0.11.5]   Ninja Multi-Config           = Generates build-<Config>.ninja files.
[fltk-sys 0.11.5]   CodeBlocks - Ninja           = Generates CodeBlocks project files.
[fltk-sys 0.11.5]   CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
[fltk-sys 0.11.5]   CodeLite - Ninja             = Generates CodeLite project files.
[fltk-sys 0.11.5]   CodeLite - Unix Makefiles    = Generates CodeLite project files.
[fltk-sys 0.11.5]   Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
[fltk-sys 0.11.5]   Sublime Text 2 - Unix Makefiles
[fltk-sys 0.11.5]                                = Generates Sublime Text 2 project files.
[fltk-sys 0.11.5]   Kate - Ninja                 = Generates Kate project files.
[fltk-sys 0.11.5]   Kate - Unix Makefiles        = Generates Kate project files.
[fltk-sys 0.11.5]   Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
[fltk-sys 0.11.5]   Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] thread 'main' panicked at '
[fltk-sys 0.11.5] command did not execute successfully, got: exit code: 1
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] build script failed, must exit now', C:\Users\fflea\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.45\src\lib.rs:894:5
[fltk-sys 0.11.5] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: failed to run custom build command for `fltk-sys v0.11.5`

Caused by:
  process didn't exit successfully: `C:\Users\fflea\CLionProjects\VNMapGUI\target\debug\build\fltk-sys-252927e00f15bbd1\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-env-changed=CC
  cargo:rerun-if-env-changed=CXX
  cargo:rerun-if-changed=cfltk/CMakeLists.txt
  cargo:rerun-if-changed=cfltk/include/cfl.h
  cargo:rerun-if-changed=cfltk/include/cfl_widget.h
  cargo:rerun-if-changed=cfltk/include/cfl_group.h
  cargo:rerun-if-changed=cfltk/include/cfl_input.h
  cargo:rerun-if-changed=cfltk/include/cfl_output.h
  cargo:rerun-if-changed=cfltk/include/cfl_window.h
  cargo:rerun-if-changed=cfltk/include/cfl_button.h
  cargo:rerun-if-changed=cfltk/include/cfl_box.h
  cargo:rerun-if-changed=cfltk/include/cfl_menu.h
  cargo:rerun-if-changed=cfltk/include/cfl_dialog.h
  cargo:rerun-if-changed=cfltk/include/cfl_valuator.h
  cargo:rerun-if-changed=cfltk/include/cfl_browser.h
  cargo:rerun-if-changed=cfltk/include/cfl_misc.h
  cargo:rerun-if-changed=cfltk/include/cfl_text.h
  cargo:rerun-if-changed=cfltk/include/cfl_image.h
  cargo:rerun-if-changed=cfltk/include/cfl_draw.h
  cargo:rerun-if-changed=cfltk/include/cfl_table.h
  cargo:rerun-if-changed=cfltk/include/cfl_surface.h
  cargo:rerun-if-changed=cfltk/include/cfl_printer.h
  cargo:rerun-if-changed=cfltk/src/cfl_global.hpp
  cargo:rerun-if-changed=cfltk/src/cfl_new.cpp
  cargo:rerun-if-changed=cfltk/src/cfl.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_widget.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_group.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_window.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_button.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_box.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_menu.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_dialog.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_valuator.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_browser.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_misc.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_text.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_image.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_input.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_output.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_draw.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_table.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_tree.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_surface.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_printer.cpp
  running: "cmake" "C:\\Users\\fflea\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\fltk-sys-0.11.5\\cfltk" "-G" "Visual Studio 16 2019" "-Thost=x64" "-Ax64" "-DOPTION_USE_SYSTEM_LIBPNG=OFF" "-DOPTION_USE_SYSTEM_LIBJPEG=OFF" "-DOPTION_USE_SYSTEM_ZLIB=OFF" "-DCFLTK_LINK_IMAGES=ON" "-DOpenGL_GL_PREFERENCE=GLVND" "-DOPTION_USE_GL=OFF" "-DCFLTK_USE_OPENGL=OFF" "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" "-DFLTK_BUILD_EXAMPLES=OFF" "-DFLTK_BUILD_TEST=OFF" "-DFLTK_BUILD_FLUID=OFF" "-DOPTION_USE_THREADS=ON" "-DOPTION_LARGE_FILE=ON" "-DOPTION_BUILD_HTML_DOCUMENTATION=OFF" "-DOPTION_BUILD_PDF_DOCUMENTATION=OFF" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\fflea\\CLionProjects\\VNMapGUI\\target\\debug\\build\\fltk-sys-29626eefcff0b61e\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_FLAGS_RELEASE= -nologo -MD -Brepro" "-DCMAKE_BUILD_TYPE=Release"

  --- stderr
  fatal: not a git repository (or any of the parent directories): .git
  error: patch failed: CMake/export.cmake:33
  error: CMake/export.cmake: patch does not apply
  error: patch failed: CMake/options.cmake:115
  error: CMake/options.cmake: patch does not apply
  error: VERSION: No such file or directory
  error: patch failed: src/CMakeLists.txt:300
  error: src/CMakeLists.txt: patch does not apply
  error: patch failed: src/Fl_lock.cxx:418
  error: src/Fl_lock.cxx: patch does not apply
  error: patch failed: src/Fl_win32.cxx:586
  error: src/Fl_win32.cxx: patch does not apply
  error: patch failed: src/config_lib.h:78
  error: src/config_lib.h: patch does not apply
  error: patch failed: src/drivers/Android/Fl_Android_System_Driver.H:25
  error: src/drivers/Android/Fl_Android_System_Driver.H: patch does not apply
  error: patch failed: src/drivers/Android/Fl_Android_System_Driver.cxx:24
  error: src/drivers/Android/Fl_Android_System_Driver.cxx: patch does not apply
  CMake Error: Could not create named generator Visual Studio 16 2019

  Generators
  * Unix Makefiles               = Generates standard UNIX makefiles.
    Ninja                        = Generates build.ninja files.
    Ninja Multi-Config           = Generates build-<Config>.ninja files.
    CodeBlocks - Ninja           = Generates CodeBlocks project files.
    CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
    CodeLite - Ninja             = Generates CodeLite project files.
    CodeLite - Unix Makefiles    = Generates CodeLite project files.
    Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
    Sublime Text 2 - Unix Makefiles
                                 = Generates Sublime Text 2 project files.
    Kate - Ninja                 = Generates Kate project files.
    Kate - Unix Makefiles        = Generates Kate project files.
    Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
    Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

  thread 'main' panicked at '
  command did not execute successfully, got: exit code: 1

  build script failed, must exit now', C:\Users\fflea\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.45\src\lib.rs:894:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
I guess using

[dependencies]
fltk = { version = "0.11", features = ["fltk-bundled"] }
wouldn't hurt, but is there any downside? I am trying to build a GUI running on both Win and MacOS, so will adding the features make the program compilable on Mac?

Yes there's also a bundle for macos. I would always suggest using Ninja, since it's crossplatform and the fastest build system fro C/C++.
For the msvc build tools, there are usually some components which are needed. Make sure you have them ticked:

Yes there's also a bundle for macos. I would always suggest using Ninja, since it's crossplatform and the fastest build system fro C/C++.
For the msvc build tools, there are usually some components which are needed. Make sure you have them ticked:

Seem all fine to me

Anyway, ninja does not work really, it throws:
   Compiling fltk-sys v0.11.5
error: failed to run custom build command for `fltk-sys v0.11.5`

Caused by:
  process didn't exit successfully: `C:\Users\fflea\CLionProjects\VNMapGUI\target\debug\build\fltk-sys-ac1f98f25a9eb7cd\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-env-changed=CC
  cargo:rerun-if-env-changed=CXX
  cargo:rerun-if-changed=cfltk/CMakeLists.txt
  cargo:rerun-if-changed=cfltk/include/cfl.h
  cargo:rerun-if-changed=cfltk/include/cfl_widget.h
  cargo:rerun-if-changed=cfltk/include/cfl_group.h
  cargo:rerun-if-changed=cfltk/include/cfl_input.h
  cargo:rerun-if-changed=cfltk/include/cfl_output.h
  cargo:rerun-if-changed=cfltk/include/cfl_window.h
  cargo:rerun-if-changed=cfltk/include/cfl_button.h
  cargo:rerun-if-changed=cfltk/include/cfl_box.h
  cargo:rerun-if-changed=cfltk/include/cfl_menu.h
  cargo:rerun-if-changed=cfltk/include/cfl_dialog.h
  cargo:rerun-if-changed=cfltk/include/cfl_valuator.h
  cargo:rerun-if-changed=cfltk/include/cfl_browser.h
  cargo:rerun-if-changed=cfltk/include/cfl_misc.h
  cargo:rerun-if-changed=cfltk/include/cfl_text.h
  cargo:rerun-if-changed=cfltk/include/cfl_image.h
  cargo:rerun-if-changed=cfltk/include/cfl_draw.h
  cargo:rerun-if-changed=cfltk/include/cfl_table.h
  cargo:rerun-if-changed=cfltk/include/cfl_surface.h
  cargo:rerun-if-changed=cfltk/include/cfl_printer.h
  cargo:rerun-if-changed=cfltk/src/cfl_global.hpp
  cargo:rerun-if-changed=cfltk/src/cfl_new.cpp
  cargo:rerun-if-changed=cfltk/src/cfl.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_widget.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_group.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_window.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_button.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_box.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_menu.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_dialog.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_valuator.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_browser.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_misc.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_text.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_image.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_input.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_output.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_draw.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_table.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_tree.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_surface.cpp
  cargo:rerun-if-changed=cfltk/src/cfl_printer.cpp
  running: "cmake" "C:\\Users\\fflea\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\fltk-sys-0.11.5\\cfltk" "-G" "Ninja" "-DOPTION_USE_SYSTEM_LIBPNG=OFF" "-DOPTION_USE_SYSTEM_LIBJPEG=OFF" "-DOPTION_USE_SYSTEM_ZLIB=OFF" "-DCFLTK_LINK_IMAGES=ON" "-DOpenGL_GL_PREFERENCE=GLVND" "-DOPTION_USE_GL=OFF" "-DCFLTK_USE_OPENGL=OFF" "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" "-DFLTK_BUILD_EXAMPLES=OFF" "-DFLTK_BUILD_TEST=OFF" "-DFLTK_BUILD_FLUID=OFF" "-DOPTION_USE_THREADS=ON" "-DOPTION_LARGE_FILE=ON" "-DOPTION_BUILD_HTML_DOCUMENTATION=OFF" "-DOPTION_BUILD_PDF_DOCUMENTATION=OFF" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\fflea\\CLionProjects\\VNMapGUI\\target\\debug\\build\\fltk-sys-4ee54eff4e5044f1\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMAKE_CXX_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_BUILD_TYPE=Release"
  -- The C compiler identification is MSVC 19.28.29335.0
  -- The CXX compiler identification is MSVC 19.28.29335.0
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe - broken
  -- Configuring incomplete, errors occurred!
  See also "/cygdrive/c/Users/fflea/CLionProjects/VNMapGUI/target/debug/build/fltk-sys-4ee54eff4e5044f1/out/build/CMakeFiles/CMakeOutput.log".
  See also "/cygdrive/c/Users/fflea/CLionProjects/VNMapGUI/target/debug/build/fltk-sys-4ee54eff4e5044f1/out/build/CMakeFiles/CMakeError.log".

  --- stderr
  fatal: not a git repository (or any of the parent directories): .git
  error: patch failed: CMake/export.cmake:33
  error: CMake/export.cmake: patch does not apply
  error: patch failed: CMake/options.cmake:115
  error: CMake/options.cmake: patch does not apply
  error: VERSION: No such file or directory
  error: patch failed: src/CMakeLists.txt:300
  error: src/CMakeLists.txt: patch does not apply
  error: patch failed: src/Fl_lock.cxx:418
  error: src/Fl_lock.cxx: patch does not apply
  error: patch failed: src/Fl_win32.cxx:586
  error: src/Fl_win32.cxx: patch does not apply
  error: patch failed: src/config_lib.h:78
  error: src/config_lib.h: patch does not apply
  error: patch failed: src/drivers/Android/Fl_Android_System_Driver.H:25
  error: src/drivers/Android/Fl_Android_System_Driver.H: patch does not apply
  error: patch failed: src/drivers/Android/Fl_Android_System_Driver.cxx:24
  error: src/drivers/Android/Fl_Android_System_Driver.cxx: patch does not apply
  CMake Error at /usr/share/cmake-3.17.3/Modules/CMakeTestCCompiler.cmake:60 (message):
    The C compiler

      "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe"

    is not able to compile a simple test program.

    It fails with the following output:

      Change Dir: /cygdrive/c/Users/fflea/CLionProjects/VNMapGUI/target/debug/build/fltk-sys-4ee54eff4e5044f1/out/build/CMakeFiles/CMakeTmp

      Run Build Command(s):/usr/bin/ninja.exe cmTC_1a729 && [1/2] Building C object CMakeFiles/cmTC_1a729.dir/testCCompiler.c.o
      cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
      testCCompiler.c
      [2/2] Linking C executable cmTC_1a729.exe
      FAILED: cmTC_1a729.exe
      : && "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" -nologo -MD -Brepro   CMakeFiles/cmTC_1a729.dir/testCCompiler.c.o  -o cmTC_1a729.exe   && :
      cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
      cl : Command line warning D9024 : unrecognized source file type 'CMakeFiles/cmTC_1a729.dir/testCCompiler.c.o', object file assumed
      LINK : fatal error LNK1181: cannot open input file 'CMakeFiles\cmTC_1a729.dir\testCCompiler.c.o'
      ninja: build stopped: subcommand failed.

    CMake will not be able to correctly generate this project.
  Call Stack (most recent call first):
    CMakeLists.txt:3 (project)

  thread 'main' panicked at '
  command did not execute successfully, got: exit code: 1

  build script failed, must exit now', C:\Users\fflea\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.45\src\lib.rs:894:5

By the way, not really related but I just want to build a simple GUI program where it would pass the parameter and invoke another, separated executable.
So the GUI would need

Show some text input and tick box, to fill in the parameter and such
And area to display the result
Optionally, it would be awesome if the GUI can show image or table
I am quite new to rush tbh, so what example would you suggest me to have a look at, at least for the first two features?

I would suggest checking out this repo:
https://github.com/bobahop/rust_filecrawler_fltk
For tables. you can check the table example:
https://github.com/MoAlyousef/fltk-rs/blob/master/fltk/examples/table.rs
or the spreadsheet example, or this repo:
https://github.com/JesperAxelsson/SeriousOrganizer-fltk
Regarding Ninja, it fails because cl.exe (the msvc compiler) fails to build a simple C++ program given by cmake. I don't know what the problem there is. Did you try to reboot your machine (as a last solution).

I would suggest checking out this repo:
https://github.com/bobahop/rust_filecrawler_fltk
For tables. you can check the table example:
https://github.com/MoAlyousef/fltk-rs/blob/master/fltk/examples/table.rs
or the spreadsheet example, or this repo:
https://github.com/JesperAxelsson/SeriousOrganizer-fltk
Regarding Ninja, it fails because cl.exe (the msvc compiler) fails to build a simple C++ program given by cmake. I don't know what the problem there is. Did you try to reboot your machine (as a last solution)?

I sure did. No avail I guess.
But thank you. I will try the example you gave me.

By the way I just noticed that ninja is running from a "cygdrive", I assume that’s cygwin. It might be calling the gnu link.exe which isn’t actually the msvc linker (it’s not a linker at all actually), so it’s failing. There are native ninja builds for windows.

By the way I just noticed that ninja is running from a "cygdrive", I assume that’s cygwin. It might be calling the gnu link.exe which isn’t actually the msvc linker (it’s not a linker at all actually), so it’s failing. There are native ninja builds for windows.

So it seems the problem is because I have cygwin installed so it messed with something?
I guess I can try to download ninja from here, but where should I have the binary, or create PATH in environment variable or something?

Also, again, not terribly related but in the rust file crawler, if I use v0.8, everything is fine, but for 0.11, compilation runs into this error
error[E0599]: no method named `unwrap` found for type `bool` in the current scope
   --> src\main.rs:123:24
    |
123 |     while myapp.wait().unwrap() {
    |                        ^^^^^^ method not found in `bool`

Guess something changed. Is it simple enough to have a look?

Yeah I have it in C: and then add its path to PATH.
In 0.11 you don't need the unwrap(), so
while myapp.wait() {

Yeah I have it in C: and then add its path to PATH.

Does any of these compiling involves running cmake command? Because I think the cmake command will always invoke the cygwin ninja version
C:\Users\fflea>where cmake
C:\cygwin64\bin\cmake.exe

there is only one cmake binary available.

Ah that might be why cmake was also failing. The cmake that was being invoked isn't the msvc built cmake.
You'll also need the native cmake to work with the msvc toolchain.
You might have to separate the cygwin path variables from the msvc path variables.

Ah that might be why cmake was also failing. The cmake that was being invoked isn't the native cmake.
You'll also need the native cmake to work with the msvc toolchain.
You might have to separate the cygwin path variables from the msvc path variables.
The fltk crate requires cmake, it works with both the windows-gnu and windows-msvc targets, but it needs the dedicated cmake to work.

Where is the native cmake located btw, because as you can see, I only have one cmake binary available, and that is for cywind. What should I change in my path, for the native cmake that is, because I don't know where it is located.

It was downloaded with the msvc build tools. No need to download it again. However it seems to be shadowed by the cygwin cmake. You'll have to remove the cygwin cmake and ninja from your PATH. That should invoke the msvc cmake automatically.
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.8.3
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools>where cmake
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe

It was downloaded with the msvc build tools. No need to download it again. However it seems to be shadowed by the cygwin cmake. You'll have to remove the cygwin cmake and ninja from your PATH. That should invoke the msvc cmake automatically.
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.8.3
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools>where cmake
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe

I downloaded the separated Cmake, and the normal build seems to be working now. The ninja one does not though. Something along those lines
[fltk-sys 0.11.5] fatal: not a git repository (or any of the parent directories): .git
[fltk-sys 0.11.5] error: patch failed: CMake/export.cmake:33
[fltk-sys 0.11.5] error: CMake/export.cmake: patch does not apply
[fltk-sys 0.11.5] error: patch failed: CMake/options.cmake:115
[fltk-sys 0.11.5] error: CMake/options.cmake: patch does not apply
[fltk-sys 0.11.5] error: VERSION: No such file or directory
[fltk-sys 0.11.5] error: patch failed: src/CMakeLists.txt:300
[fltk-sys 0.11.5] error: src/CMakeLists.txt: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/Fl_lock.cxx:418
[fltk-sys 0.11.5] error: src/Fl_lock.cxx: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/Fl_win32.cxx:586
[fltk-sys 0.11.5] error: src/Fl_win32.cxx: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/config_lib.h:78
[fltk-sys 0.11.5] error: src/config_lib.h: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/drivers/Android/Fl_Android_System_Driver.H:25
[fltk-sys 0.11.5] error: src/drivers/Android/Fl_Android_System_Driver.H: patch does not apply
[fltk-sys 0.11.5] error: patch failed: src/drivers/Android/Fl_Android_System_Driver.cxx:24
[fltk-sys 0.11.5] error: src/drivers/Android/Fl_Android_System_Driver.cxx: patch does not apply
[fltk-sys 0.11.5] running: "cmake" "C:\\Users\\fflea\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\fltk-sys-0.11.5\\cfltk" "-G" "Ninja" "-DOPTION_USE_SYSTEM_LIBPNG=OFF" "-DOPTION_USE_SYSTEM_LIBJPEG=OFF" "-DOPTION_USE_SYSTEM_Z
LIB=OFF" "-DCFLTK_LINK_IMAGES=ON" "-DOpenGL_GL_PREFERENCE=GLVND" "-DOPTION_USE_GL=OFF" "-DCFLTK_USE_OPENGL=OFF" "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" "-DFLTK_BUILD_EXAMPLES=OFF" "-DFLTK_BUILD_TEST=OFF" "-DFLTK_BUILD_FLUID=OFF" "-DOPT
ION_USE_THREADS=ON" "-DOPTION_LARGE_FILE=ON" "-DOPTION_BUILD_HTML_DOCUMENTATION=OFF" "-DOPTION_BUILD_PDF_DOCUMENTATION=OFF" "-DCMAKE_INSTALL_PREFIX=C:\\Users\\fflea\\CLionProjects\\VNMapGUI\\target\\debug\\build\\fltk-sys-4ee54eff4e
5044f1\\out" "-DCMAKE_C_FLAGS= -nologo -MD -Brepro" "-DCMAKE_C_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_CXX_FLAGS= -nologo -MD -Brepro" "-DCMA
KE_CXX_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_ASM_FLAGS= -nologo -MD -Brepro" "-DCMAKE_ASM_COMPILER=C:/Program Files (x86)/Microsoft Visual
Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/cl.exe" "-DCMAKE_BUILD_TYPE=Release"
[fltk-sys 0.11.5] CMake Error at CMakeLists.txt:3 (project):
[fltk-sys 0.11.5]   Running
[fltk-sys 0.11.5]
[fltk-sys 0.11.5]    '/usr/bin/ninja.exe' '--version'
[fltk-sys 0.11.5]
[fltk-sys 0.11.5]   failed with:
[fltk-sys 0.11.5]
[fltk-sys 0.11.5]    The system cannot find the file specified
[fltk-sys 0.11.5]
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] -- Configuring incomplete, errors occurred!
[fltk-sys 0.11.5] See also "C:/Users/fflea/CLionProjects/VNMapGUI/target/debug/build/fltk-sys-4ee54eff4e5044f1/out/build/CMakeFiles/CMakeOutput.log".
[fltk-sys 0.11.5] See also "C:/Users/fflea/CLionProjects/VNMapGUI/target/debug/build/fltk-sys-4ee54eff4e5044f1/out/build/CMakeFiles/CMakeError.log".
[fltk-sys 0.11.5] thread 'main' panicked at '
[fltk-sys 0.11.5] command did not execute successfully, got: exit code: 1
[fltk-sys 0.11.5]
[fltk-sys 0.11.5] build script failed, must exit now', C:\Users\fflea\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.45\src\lib.rs:894:5
[fltk-sys 0.11.5] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: failed to run custom build command for `fltk-sys v0.11.5`

obviously the path does not exist because I am using Cmake for Windows, not the cygwin version, which is what implied by that PATH. However, where did the Cmake get that path though. I even changed the Cygwin Cmake folder name so there is no way that Cmake is being used.

It seems that /usr/bin is in your PATH for some reason. It's been so long since I've use cygwin, but msys2 also adds /usr/bin to it's PATH, however it's local to the msys2 shell, it wouldn't pollute the global PATH.

It seems that /usr/bin is in your PATH for some reason. It's been so long since I've used cygwin, but msys2 also adds /usr/bin to it's PATH, however it's local to the msys2 shell, it wouldn't pollute the global PATH. It's unlikely that it's a cmake issue.

Okay. I have no idea, but I guess at least it's buildable now so there is that. This library is not playing well with cygwin for sure. Thank you for your time

No problem :)

Also, again, not terribly related but in the rust file crawler, if I use v0.8, everything is fine, but for 0.11, compilation runs into this error
error[E0599]: no method named `unwrap` found for type `bool` in the current scope
   --> src\main.rs:123:24
    |
123 |     while myapp.wait().unwrap() {
    |                        ^^^^^^ method not found in `bool`

Guess something changed. Is it simple enough to have a look?

I've noticed for a while that I need to update the rust file crawler, but I've been very busy mentoring Rust on Exercism. Thanks for checking it out, and I will try to find time to update it in a few days.

Also, again, not terribly related but in the rust file crawler, if I use v0.8, everything is fine, but for 0.11, compilation runs into this error
error[E0599]: no method named `unwrap` found for type `bool` in the current scope
   --> src\main.rs:123:24
    |
123 |     while myapp.wait().unwrap() {
    |                        ^^^^^^ method not found in `bool`

Guess something changed. Is it simple enough to have a look?

I've noticed for a while that I need to update the rust file crawler, but I've been very busy mentoring Rust on Exercism. Thanks for checking it out, and I will try to find time to update it in a few days.

Thanks.
Another not really related question if you don't mind. I understand that emitting a message can be done by clicking button. However, is it doable while typing?
Say I want a string to have a specific form (like only alpha and numeric) and would warn user if they type something else.
Is there any easy way to do such thing?

Yes. You can change the trigger of your input widget like here:
https://github.com/MoAlyousef/fltk-rs/blob/master/fltk/examples/temp_converter.rs
Another way is to specifically handle for keydown events like in the terminal examples.

Yes. You can change the trigger of your input widget like here:
https://github.com/MoAlyousef/fltk-rs/blob/master/fltk/examples/temp_converter.rs
Another way is to specifically handle for keydown events like in the terminal examples.

Hello. I just emailed you something based on the email on your github profile. I am terribly sorry for bothering, but if you have sometime, please check it. Thank you.


Parse custom step parameter correctly.

We could use parseDuration, but this will require
more changes.
Fixes #2827.

Can you run make assets please?
The hint on this field says it's seconds, so this is fine.

I'm on macOS, so diff contains a lot of changes from os.FileMode(436) to os.FileMode(420). Is it ok?

Added the only relevant change.

You removed the change to the file contents. I don't think the mode makes a difference.

Done.

Thanks!


How to extend wiremock to enable runtime feature of recording and playing back

Hi,
I have requirement where I need to see if passed request param has any saved mapping if it does then respond to the request using saved mapping. If not then call actual service and save it for future calls.
I was trying to find the example or documentation but unable to. Please let me know on how I can do if possible some documentation?

BTW, i am NOT using standalone jar.

Please can you post questions (as opposed to bugs/features) on the mailing list, as per the README.


Complete treeview implementation.

Completed treeview implementation as I needed it for my project.
I tried to match treeview example on angular docs page & used some of their css.
Merge request also uncomments TreeView section in the demo app menu, so just check it out.

Thank you for your contribution 👍!
Great! Really thankl you for this new component!!!


Live widget to point stage

Resolve: MWPW-130146
Before: https://main--dc--adobecom.hlx.live/acrobat/online/jpg-to-pdf
After: https://live-widget-stage--dc--adobecom.hlx.live/acrobat/online/jpg-to-pdf

Codecov Report

Merging #240 (ab9be13) into stage (c501f48) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##            stage     #240   +/-   ##
=======================================
  Coverage   39.37%   39.37%
=======================================
  Files           2        2
  Lines         287      287
=======================================
  Hits          113      113
  Misses        174      174

Impacted Files
Coverage Δ

.../blocks/dc-converter-widget/dc-converter-widget.js
29.26% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


template memory limit

Hi how i can edit the templates for the sites, i need increase the memory limit.

What template are you using (php-fpm or php-fcgi) and what settings are you trying to set?  If you're using php-fpm, then simply create a .user.ini file with the following:
Default is 128M so you can increase to 512M like so.
memory_limit=512M

Also remember, you can simply change any nginx config by adding a conf file under the website private directory /home/{user}/web/{website}/private/{filename}.conf


Implement Collapse

Inspiration :
https://www.material-tailwind.com/docs/react/collapse

Hey assign me this one, if not done

yeah sure go ahead. @deepraj02 just checkout our docs at https://www.dub.sh/modularui-docs to get a better understanding of our practices.


feat(RHINENG-3781): Include report and report_json in the extended CSV/JSON report

Implements https://issues.redhat.com/browse/RHINENG-3781.
This improves the CSV and JSON export of the completed task report. In addition to System name, Status, Message columns, it now also includes further information about the executed job (from report, report_json fields).

The useExport hook now supports prepareItems that allows to pre-process the items from the table before the CSV report is generated and extraExportColumns that extend the visible columns with the columns that will be added in the final CSV/JSON export.

How to test
Go to /tasks/executed and find any executed job. Try to find the results with some findings (warnings, errors, info messages) or just with some plain report. Export the table as CSV/JSON structure and verify it's correct and up to the information present in the UI.

@gkarat I tried testing this, but I'm not sure what a "result with some findings" and what a plain report is and I don't see any of the columns or additional rows or anything other than in the table visible.

@mkholjuraev, @bastilian, I have shared some task examples in Slack that you could use for testing.


Spring monitor 1.0.0-beta.3

Release note and update Readme

API change check
API changes are not detected in this pull request.


ISPN-5301 Make CompositeNotifyingFuture more generic

https://issues.jboss.org/browse/ISPN-5301

Looking

Integrated. Thanks @gustavonalle !


Where to get the latest version network json?

hi, @crossle After the implementation of MetadataV14, the network JSON will be automatically registered.


Major edits to align with WS2016 GA bits

@dhmsgit,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Fix scene save crash

Seems to fix #8988 , but needs a review. :)

Note: conflicts with #8993.

fixed by 5567e898d1052c1e2c2d32d3c37dfd957f4dc4bd


fix remove getTableInMinidumpCache temporary

pick from master #35571
bug introduced by #18747
getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore

run buildall


Enclosure should be remove when stripping BOM sequence

I have the following code:
$csv = '"Paret name","Child name","Title"
"parent 1","child 1","title"
"parent 2","child 2","title"
';
$csvReader = Reader::createFromString($csv);
$assoc = $csvReader->fetchAssoc();

And the associative array returned by fetchAssoc looks like this:
Array (
    [0] => Array (
            ["Paret name"] => parent 1
            [Child name] => child 1
            [Title] => title
        )
    [1] => Array (
            ["Paret name"] => parent 2
            [Child name] => child 2
            [Title] => title
        )
)

Where parent name contains the quotes ". At fist, I thought there was something wrong with the fetchAssoc method but after close inspection I realized that the file I was getting the CSV from was UTF-8 with BOM. Then I try to set stripBom to true, but it didn't work as I was still getting the same output.
$csv = '"Paret name","Child name","Title"
"parent 1","child 1","title"
"parent 2","child 2","title"
';
$csvReader = Reader::createFromString($csv);
$csvReader->stripBom(true);
$assoc = $csvReader->fetchAssoc();

The only way for me to get it to work was to manually strip the BOM before creating the reader:
$csv = preg_replace('/\x{FEFF}/u', '', $csv);

Am I using the reader correctly?
Should I expect the reader to automatically remove the BOM for me if stripBom is set to true?

@onema thanks for reporting the bug. A patch was made available on the master branch. After review and testing a patch release will be made next week. In the meantime you can test that the dev-master branch fix works for you

Awesome! will update and be testing it today.

I just tested the master branch and fetch* methods work as long as I call stripBom(true) before each call. It threw me off a bit, but looking at the code it seems this is the intended behavior; I didn't see anything related to this in the docs.
$csv = '"Paret name","Child name","Title"
"parent 1","child 1","title"
"parent 2","child 2","title"
';
$csvReader = Reader::createFromString($csv);
$csvReader->stripBom(true);
$assoc = $csvReader->fetchAssoc();
$all = $csvReader->fetchAll();

$assoc
Array (
    [0] => Array (
            [Paret name] => parent 1
            [Child name] => child 1
            [Title] => title
        )
    [1] => Array (
            [Paret name] => parent 2
            [Child name] => child 2
            [Title] => title
        )
)

$all
Array (
    [0] => Array (
            [0] => "Paret name"
            [1] => Child name
            [2] => Title
        )
    [1] => Array (
            [0] => parent 2
            [1] => child 2
            [2] => title
        )
)

Quoting the docs you are referring to:

After an extract/conversion method call, all query options are cleared;

This includes the stripBom method which is nothing more than a query option.
I know it may seems strange but this is a trade-off I choose when implementing the solution. Stripping BOM sequence is only useful when the first cell of the first row is expected in the result set. In all others situations you don't want to add another layer of Iterator when it is not needed.

:+1: thank you for your work on this.

The patch release 7.1.2 is released with the bug fix


mgmt: smp: shell: initialize SMP before feeding with received bytes

So far SMP shell transport was initialized in APPLICATION run level, but
shell over UART was initialized in POST_KERNEL. This could end up in
situation when received frames were scheduled for further processing in
SMP layer, when it was not initialized yet.
This ends up with following error when running on nrf52 platform:
[00:00:01.426,361] <err> os: ***** MPU FAULT *****
[00:00:01.426,391] <err> os:   Instruction Access Violation
[00:00:01.426,391] <err> os: r0/a1:  0x00000000  r1/a2:  0x00000004  r2/a3:  0x00009cb9
[00:00:01.426,391] <err> os: r3/a4:  0x44f7df40 r12/ip:  0x00000080 r14/lr:  0x00033201
[00:00:01.426,391] <err> os:  xpsr:  0x60000000
[00:00:01.426,422] <err> os: Faulting instruction address (r15/pc): 0x44f7df40
[00:00:01.426,422] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:00:01.426,422] <err> os: Current thread: 0x200021e0 (shell_uart)
[00:00:02.382,446] <err> os: Halting system

Export smp_shell_init() function declaration and call it before shell is
initialized with all its receive data handlers. This prevents situation
when data is scheduled for processing in SMP layer, when that one is not
ready yet.

@Mierunski Please take a look as well.

I looked at it again and I think that the fix is in wrong place actually. The smp_shell is supposed to be universal transport for shell, whatever the shell is accessed from.
Right now it seems that shell is used only via uart but it is supposed to be used by any transport that would call smp_shell_rx_byte to send data to the smp transport. Unfortunately the tx side seems always tied to k_str_out, which is probably a bug.
I think the right place to fix would be uart_rx_handle, where the function should somehow check if the transport is already loaded.

I think the right place to fix would be uart_rx_handle, where the function should somehow check if the transport is already loaded.

I think the right place to fix would be uart_rx_handle, where the function should somehow check if the transport is already loaded.

Qustion is: HOW? In my opinion this involves much more code to implement, because we would need to add some flag or atomic variable or use semaphore (e.g. keep thread safety). smp_shell will be strictly bound to single transport, even if it will be something more than uart in future. If there would be 2 shells (e.g. shell_uart and shell_other), then most probably we need to bound one smp_shell for shell_uart and second for shell_other. Those modules would beed to reference smp_shell by instance pointer. So in the end I figure out that much easier approach is to initialize smp_shell from shell. First of all it automatically gets rid of "notify about being ready" problem. Second thing is that in future we can pass callbacks (such as k_str_out) as arguments to smp_shell_init(). And I don't see important reason why NOT to call smp_shell_init from shell_uart (and shell_other).

smp_shell will be strictly bound to single transport, even if it will be something more than uart in future.

The shell should be the only transport for the smp and it shouldn't be tied to the device.
I do not think that this is the work to be done with this PR as I do agree that there is far more rework needed to make smp transport work directly via shell as a transport.
I think the provided solution is viable for solving the problem and with smp shell support being hardwired to uart there is no need to load it via SYS_INIT, it can be initialized within shell_uart.c:enable_shell_uart

@nvlsianpu , @nordic-krch could you look at this?

@nvlsianpu
Limitation about using SMP va shell only over UART backend comes from 2 things:

smp_shell is only integrated into shell_uart so far, other shell backends do not support smp_shell,
there is only single smp_shell instance (static struct zephyr_smp_transport smp_shell_transport; in subsys/mgmt/mcumgr/smp_shell.c), so only single shell backend can be supported by now.

I am not sure this PR impose new limitations. The only thing it does is initialize smp_shell_transport singleton from within shell_uart backend, instead of doing it using SYS_INIT. If we want to support more shell backends for SMP transport, then we need to move instance definition into shell backends and call smp_shell_init(&smp_shell_uart_transport), smp_shell_init(&smp_shell_rtt_transport), etc. But for that we also need to rework subsys/mgmt/mcumgr/smp_shell.c implementation, which uses currently stuff like k_str_out((void *)data, len);.

@mniestroj Thanks, understood.


Choosing cloudinary image does not work

I'm using following versions from unpkg:
netlify-cms-app 2.14.23
netlify-cms-core 2.38.2
netlify-cms 2.10.93

And have configured cloudinary:
media_library:
  name: cloudinary
  config:
    cloud_name: XXX
    api_key: YYY

When I try to click on "Choose an image" or "Choose a different image" I get this error in the console:
withFileControl.js:195 Uncaught TypeError: o.get is not a function
    at withFileControl.js:195
    at Object.s (react-dom.production.min.js:14)
    at p (react-dom.production.min.js:14)
    at react-dom.production.min.js:14
    at v (react-dom.production.min.js:15)
    at at (react-dom.production.min.js:52)
    at it (react-dom.production.min.js:51)
    at st (react-dom.production.min.js:52)
    at pt (react-dom.production.min.js:56)
    at N (react-dom.production.min.js:287)
(anonymous) @ withFileControl.js:195
s @ react-dom.production.min.js:14
p @ react-dom.production.min.js:14
(anonymous) @ react-dom.production.min.js:14
v @ react-dom.production.min.js:15
at @ react-dom.production.min.js:52
it @ react-dom.production.min.js:51
st @ react-dom.production.min.js:52
pt @ react-dom.production.min.js:56
N @ react-dom.production.min.js:287
U @ react-dom.production.min.js:19
Jt @ react-dom.production.min.js:70
Xt @ react-dom.production.min.js:69
t.unstable_runWithPriority @ scheduler.production.min.js:19
qi @ react-dom.production.min.js:122
L @ react-dom.production.min.js:287
Yt @ react-dom.production.min.js:68

I'm using this in a nextjs application with react 17.

Hi @tcoopman can you please share a reproduction scenario per our issue template.
Specifically share a full config.yml and step by step instructions to reproduce the issue.
A public repo reproducing the issue is the fastest way to get it resolved.


Added gradle support, logback configuration and application properties

Please review my code.

It's ok.


Add standalone binary to released files

After https://github.com/deepmind/kapitan/pull/323 we have a process to generate a standalone binary of kapitan and it's built in travis too.
The produced binary lives in dist/
It would be great to also include that to the files released by travis on each release.
i.e. in .travis.yml we already do that with CHANGELOG.md
deploy:
  - provider: releases
    api_key:
      secure: blabla=
    file: CHANGELOG.md
    prerelease: $PRERELEASE
    on:
      tags: true
      repo: deepmind/kapitan

@uberspot
I may be misunderstanding, but is this issue already addressed in #349?

Yes it is. :) i just made an issue to track that work. I think the binary is now on the releases page on github and every build works fine on travis so i'd consider this issue resolved for now. :)


Uploading files >100 MB to the Firebase Storage fails (Firebase Emulator Suite)

Step 2: Describe your environment

Operating System version: Linux Ubuntu 22.04.1
Firebase SDK version: 12.5.4
Firebase Product: Storage
Python version: 3.10.12
Pip version: 22.0.2

Step 3: Describe the problem
I am using the Firebase Emulator Suite - Storage and firebase-admin in Python.
I wand to upload files to the Firebase Emulator Suite - Storage and I already set the system's environment variable STORAGE_EMULATOR_HOST to http://localhost:9199.
When I use the function blob.upload_from_filename(filename=file_path) and I upload a file that is smaller than the _DEFAULT_CHUNKSIZE (100 MB), which is defined in blob.py, everything is fine. But if my file exceeds the chunksize (> 100 MB), the file will not be uploaded correctly.
I tried to upload a 200 MB large file via the Firebase Emulator Suite UI in my browser (http://<IP_ADDRESS>:4000/storage/<project-id>) and it worked. So the problem is not the emulator itsself.
These are the files I want to upload, which are larger than 700 MB per file.

This is the UI after uploading two of the files. The maximum file size I can reach is 104.86 MB...

The Firebase Emulator Suite does not throw any error, neither my code does.
Relevant Code:
In the following code I am creating the Firebase app object in the __init__ function and use the storage bucket to upload files using the function upload_from_filename() in my custom function upload_zip_from_path():
def __init__(self, app_name: str = "[DEFAULT]", config_yml_path: str = "config.yml"):
        configs = FileUtils.load_config_yml(config_yml_path)
        self.DEBUG = bool(configs["environment"]["debug"])
        self.DATABASE_URL = configs["database"]["url"]
        self.BUCKET_URL = configs["storage"]["url"]
        token_file_path = configs["database"]["token_file_path"]

        # Set host to local Firebase Emulator Suite Storage
        if self.DEBUG:
            os.environ["STORAGE_EMULATOR_HOST"] = "http://localhost:9199"

        try:
            self.APP_OBJ = firebase_admin.get_app(app_name)
        except ValueError:
            # If app does not exist, a value error is thrown
            if len(token_file_path) > 0:
                # Production: Authentication token needed
                token = credentials.Certificate(token_file_path)
                self.APP_OBJ = firebase_admin.initialize_app(
                    credential=token,
                    options={
                        "databaseURL": self.DATABASE_URL,
                        "storageBucket": self.BUCKET_URL,
                    },
                    name=app_name,
                )
            else:
                # Development: No token needed using Firebase Emulator Suite
                self.APP_OBJ = firebase_admin.initialize_app(
                    options={
                        "databaseURL": self.DATABASE_URL,
                        "storageBucket": self.BUCKET_URL,
                    },
                    name=app_name,
                )
        # References
        self.SID_ROOT = db.reference("sid")
        self.USER_ROOT = db.reference("user")
        # Firebase app specific
        self.APP_NAME = app_name
        self.BUCKET = storage.bucket()

def upload_zip_from_path(self, zip_path:str):
        # Set file name
        if "/" in zip_path:
            zip_name = zip_path.split("/")[-1]  # "test/abc.zip" -> ["test", "abc.zip"] -> "abc.zip"
        else:
            zip_name = zip_path
        # Get a reference to the Firebase Storage bucket
        zip_folder = self.BUCKET.blob(f"zip/{zip_name}")
        zip_folder.upload_from_filename(zip_path)
        return zip_folder.public_url

On the other hand I tried to chunk the file by myself, but this did not went well.
With the following code the current chunk will overwrite the last chunk - this is not wanted... I wanted to append it to the file.
def resumable_upload(self, file_path, chunk_size=25 * 1024 * 1024):
        # Set file name
        if "/" in file_path:
            destination_blob_name = file_path.split("/")[-1]  # "test/abc.zip" -> ["test", "abc.zip"] -> "abc.zip"
        else:
            destination_blob_name = file_path

        # Get a reference to the Firebase Storage bucket
        bucket = storage.bucket()

        # Create a resumable upload session
        blob = bucket.blob(destination_blob_name)
        blob.chunk_size = chunk_size
        chunk_count = 0
        chunk_start = 0
        total_size = os.path.getsize(file_path)

        with open(file_path, 'rb') as file:
            while chunk_start < total_size:
                chunk_end = min(chunk_start + chunk_size, total_size)
                chunk_data = file.read(chunk_size)
                blob.upload_from_string(chunk_data, content_type="application/zip")

                chunk_start = chunk_end
                chunk_count += 1
                print(f'Uploaded chunk {chunk_count} / {total_size // chunk_size} ({chunk_start}/{total_size} bytes)')

        print('Resumable upload completed.')
        return blob.public_url

Did anyone find a solution to this?

Any updates on this? I'm running into something similar

Any updates on this? I'm running into something similar

I fixed it by compressing my files before uploading

I am working on archive task this only works with small files I think I may have fiured it out (doenst have to be lzma just need to have the file in binary format. if anyone needs the code for google drive just ask
    create_lzma_resumable_upload_session(
      dumps(archive_data).encode('utf-8'),
      "archives/{}.json.xz".format(datetime.now().strftime("%m-%Y"))
    )

  def create_lzma_resumable_upload_session(self,binary_data, file_name,content_type='application/x-xz'):

    blob = self.bucket.blob(file_name)
    compressor = LZMACompressor(FORMAT_XZ)
    chunk_size = KiB(256*8).bytes
    offset = 0
    total_length = len(binary_data)
    blob.encryption_key =ENV_VARS.get("OBSFUSCATE_KEY_0")
    upload_url = blob.create_resumable_upload_session(
      content_type=content_type,
      size=total_length
    )
    stream_obj = upload_files_via_stream(
      provider="firebase",
      access_token=client.credential.get_access_token().access_token
    )
    file_info = {
      "name": file_name,
      "mime_type": content_type,
      "total_size":total_length,
      "upload_uri":upload_url
    }
    while offset < total_length:
      chunk = binary_data[offset:offset + chunk_size]
      compressor.compress(chunk)
      compressed_chunk = compressor.flush()
      print(len(compressed_chunk))
      file_info["chunk"] = compressed_chunk
      stream_obj["inner"](file_info)
      offset += chunk_size

  def upload_files_via_stream(self,access_token=None):

    def inner(file_info):
      is_last_chunk = False
      if 'range_start' not in file_info or 'range_end' not in file_info:
        file_info['range_start'] = 0
        file_info['range_end'] = len(file_info['chunk']) - 1
      elif 'range_end' in file_info and 'range_start' in file_info:
        range_start = file_info['range_start']
        range_end = file_info['range_end']
        # this may be the last chunk
        if range_end - range_start + 1 != len(file_info['chunk']):
          is_last_chunk = True
          file_info["range_end"] = range_start + len(file_info['chunk']) - 1

      headers = {
        'Content-Type': file_info['mime_type'],
        'Authorization':'Bearer {}'.format(access_token)
      }

      headers['Content-Length'] = str(len(file_info['chunk']) )
      headers['Content-Range'] = "bytes {}-{}/{}".format(
        file_info['range_start'],
        file_info['range_end'],
        '*' if not is_last_chunk else str(file_info['range_end'] + 1)
      )

      response = self._upload_files_via_stream_upload_chunk(
        file_info['upload_uri'],
        headers,
        file_info['chunk']
      )

      if 'Range' in response.headers:
        range_header = response.headers['Range']
        last_byte_pos = int(range_header.split('-')[1])
        file_info['range_start'] = last_byte_pos + 1

      calculated_end = file_info['range_start'] + len(file_info['chunk']) - 1
      if calculated_end >= file_info['total_size']:
        file_info['total_size'] = calculated_end + 1

      file_info['range_end'] = file_info['range_start'] + len(file_info['chunk']) - 1
      if response.status_code in [200, 201]:
        print("\nUpload complete.")
      elif response.status_code == 308:
        pass
        # print_if_dev("\nChunk uploaded. Waiting for next chunk...")

    return {
      "inner":inner
    }

Greetings figured it out it set by an internal variable

what you have to do
    blob = self.bucket.blob(blob_name)
///
    blob.chunk_size =int(Mib(256*8).bytes) (increase the size)
///
    blob.upload_from_string(file_string, content_type=content_type)

on digging in firebase admin emulator does not do resumable uploads
mabye there is a variable somehwere to enable uploads but your best bet is to make a dev enviromnent and never use  the emulator :(


62cd6f56-adf0-4665-af71-7bc4e3d095a9

this is for automated testing

fa894d24-f950-4dbf-b192-41d122f98747


Fixes eol python error

Bug is described here https://github.com/shadow-robot/robot_blockly/issues/27
The main cause of this issue was http://stackoverflow.com/questions/9423722/string-replace-weird-behavior-when-using-dollar-sign-as-replacement

Nice thanks! ff8bfc95fbd3247313db32d67df3c6389d726807


does not generate at 1 20

Normal world generation is created
Instead of Eternal Winter, an ordinary world

Solved. Problem with Optifine(((


Designdoc: Provider Registration Updates

Goal
The goal of this PR is update Provider Registration design doc to align with current thinking.
Closes #290
Discussion

Will "Registration Fee" be credited to the Chain Treasury?
If only Providers can have Capacity, how does a User register to be a Provider - since they need enough Capacity to create said transaction?
How detailed does the Glossary section have to be? Will we create backlinks for all basic terms such as 'Provider' or 'Capacity'?

Checklist

[ ] Chain spec updated
[ ] Updated the js/api-augment code if a custom RPC added/changed
[x] Design doc(s) updated
[ ] Tests added
[ ] Benchmarks added
[ ] Weights updated

Once there is a shared understanding of the Design Doc, I can work together to create related stories


No websocket::stream::async_wait method

Version of Beast: Boost 1.83
I need to implement "idle timeout" logic with websockets where it times out when there has been no read activity for a certain number of seconds.
With Asio TCP sockets, I would simply use tcpsocket.async_wait(asio::tcp::socket::wait_read, handler), followed by async_read_some with the timing logic in between. See Asio's async_wait docs here.
But there is no equivalent beast::websocket::stream::async_wait method.
As as workaround, is it safe to call websocket.next_layer().async_wait(asio::tcp::socket::wait_read, handler) before calling websocket.async_read_some(...) ?

Another workaround just came to mind: I can just do websocket.async_read_some(...) with a limit of a single byte.
But I'd still like to know if next_layer().async_wait(...) is safe before calling async_read on a websocket stream.

But I'd still like to know if next_layer().async_wait(...) is safe before calling async_read on a websocket stream.

Nope, just tried it and it broke things. Was probably a bad idea anyway to manipulate the next_layer() socket while it was under websocket::stream's ownership.

Another workaround just came to mind: I can just do websocket.async_read_some(...) with a limit of a single byte.

This works. Closing this issue as I ended up answering my own questions, but feel free to re-open if you think websocket::stream deserves an async_read member function similar to asio::ip::tcp:stream.


fix(-dx): Don't remove ganto-lxc4 repo.

Not all packages from ganto-lxc4 repo are installed on the image. Additionally, these missing packages conflict and can't be installed without changing the build script. lxd-tools and incus-tools are the packages in conflict.
This allows a user to layer the respective tools if necessary. Incus-tools provides tooling of both lxd-tools and lxd-migrate.

Standing by on this, we're investigating options packaging up incus so we can have all the binaries we want. Also seeing talking to upstream, seeing if we can find someone to just put this in distro where it should be.

I'm going to close this. If reenabling the repo is in the best interest I can make a new pull request.


LICENSE?

Could you please add license doc? I'd like to make sure your work is credited.

Hi, License has been added.


Skip persisting replica token if the disk is unavailable(I/O errors)

The background replica token persistor should skip bad disk if there are
hardware issues with it. When a disk I/O error occurs, BlobStore will be
shutdown automatically. The persistor then checks if all BlobStores are shutdown
on that disk to determine its availability. The unavailable disk is skipped by replica
token persistor to avoid triggering more IOExceptions.

working on unit tests

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@76e0bd9). Click here to learn what that means.
The diff coverage is 69.23%.

@@           Coverage Diff            @@
##             master   #1313   +/-   ##
========================================
  Coverage          ?     72%
  Complexity        ?    6420
========================================
  Files             ?     468
  Lines             ?   36926
  Branches          ?    4647
========================================
  Hits              ?   26590
  Misses            ?    9099
  Partials          ?    1237

Impacted Files
Coverage Δ
Complexity Δ

...m.github.ambry.replication/ReplicationManager.java
89.77% <ø> (ø)
16 <0> (?)

...ry.replication/CloudToStoreReplicationManager.java
58.77% <100%> (ø)
10 <0> (?)

...in/java/com.github.ambry.store/StorageManager.java
88.23% <100%> (ø)
52 <3> (?)

...m.github.ambry.replication/DiskTokenPersistor.java
72% <33.33%> (ø)
5 <0> (?)

...ithub.ambry.replication/ReplicaTokenPersistor.java
85.39% <50%> (ø)
10 <1> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 76e0bd9...ebe79af. Read the comment docs.


Problem each time modal open, new same element created!

Hi,
Thank you for creating great fully customize modal. Did not know this modal existed until today. However I found 1 issue.
Each time the modal is open, it will a duplicate of the same modal before. Thus making all the elements inside the modal duplicated as well. And this cause any script i wanted to do inside the modal is useless because of multiple element IDs existed.
This is the screenshot: https://imgur.com/cTXpaG5
I have created quick fixed for my solution:
`
$('#loginSignUp').plainModal('open', { overlay: { fillColor: '#000', opacity: 0.8, zIndex: 99999 } });

// fixed duplicated same modal
var elms = document.querySelectorAll("[id='loginSignUp']");
if (elms.length > 1) {
  for (let i=0; i<elms.length-1; i++) {
    elms[i].remove();
  }
}

`

Hi @codetinker, thank you for your comment.
So, you have to reproduce a matter to inspect any problem. Also, I have to see your situation to help you.
Could you reproduce that? For example, show me an example in: https://jsfiddle.net/

Hi @anseki,
I've tried on https://jsfiddle.net/codetinker/1mjkvrqe/7/ using exactly same code and it work fine, no issue at all. It could be the problem only happen when I use plainmodal with angular 7.
So no issue then =)
Thanks for helps

I see.
The bug in your code creates new element every time when button was clicked.
It seems that you wrote the code that creates new element in the event handler by mistake.
I'm glad if I could help you. :smile:


offset in get_collection_images doesn't seem to be working.

This seems really easy, but for some reason I can't get the offset flag to work.  It's basically getting ignored in the requests call.
collection=503
api = Client(access_token=api_key)
limit = 5
dat = pd.DataFrame(columns=['id','file'])
for off in np.arange(0,20,limit):
    print off
    img = api.get_collection_images(collection_id=collection, limit=limit,offset=off)
    print img['next']
    for s in img['results']:
         dat = dat.append({'id':s['id'],'file':os.path.basename(s['file'])},ignore_index=True)

Output
0
http://neurovault.org/api/collections/503/images/?limit=5&offset=5
5
http://neurovault.org/api/collections/503/images/?limit=5&offset=5
10
http://neurovault.org/api/collections/503/images/?limit=5&offset=5
15
http://neurovault.org/api/collections/503/images/?limit=5&offset=5

Let me try to run it

I've checked modified version of your code:
for off in [0, 5, 10, 15]:
    print off
    img = api.get_collection_images(collection_id=collection, limit=limit,offset=off)
    print img['next']

and it works properly:
0
http://neurovault.org/api/collections/503/images/?limit=5&offset=5
5
http://neurovault.org/api/collections/503/images/?limit=5&offset=10
10
http://neurovault.org/api/collections/503/images/?limit=5&offset=15
15
http://neurovault.org/api/collections/503/images/?limit=5&offset=20

My guess is that the values coming from np.arange into off are not integers and they somehow get ignored by the API. Could you output the type of off in your code?
Like this:
for off in np.arange(0,20,limit):
    print off, type(off)

Also try to replace  np.arange with regular built-in range: range(0,20,limit)

Thanks @burnash, it ended up being even more easy.  Both types work fine <type 'numpy.int64'>, all I needed to do was update the library.  Should have been the first thing I tried.


Add support for Laravel 11

First thank you for this package! it helps me a lot. I tried upgrading my Laravel project to 11 (from 10), but it seems this package is not compatible with the new Laravel.
When I try running composer update I get following:
Problem 1
- shweshi/opengraph V1.1.3 requires illuminate/log ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0 -> satisfiable by illuminate/log[v5.0.0, ..., v5.8.36, v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.16, v10.0.0, ..., v10.48.1].
- shweshi/opengraph[V1.1.1, ..., V1.1.2] require illuminate/log ^5.0|^6.0|^7.0|^8.0|^9.0 -> satisfiable by illuminate/log[v5.0.0, ..., v5.8.36, v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.16].
- shweshi/opengraph V1.1.0 requires illuminate/log ^5.0|^6.0|^7.0|^8.0 -> satisfiable by illuminate/log[v5.0.0, ..., v5.8.36, v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27].
- Only one of these can be installed: illuminate/log[v5.0.0, ..., v5.8.36, v6.0.0, ..., v6.20.44, v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.16, v10.0.0, ..., v10.48.1], laravel/framework[v11.0.0]. laravel/framework replaces illuminate/log and thus cannot coexist with it.
- illuminate/log[v5.6.0, ..., v5.8.36] require php ^7.1.3 -> your php version (8.3.3) does not satisfy that requirement.
- illuminate/log[v6.0.0, ..., v6.19.1] require php ^7.2 -> your php version (8.3.3) does not satisfy that requirement.
- illuminate/log[v7.0.0, ..., v7.28.4] require php ^7.2.5 -> your php version (8.3.3) does not satisfy that requirement.
- illuminate/log[v8.0.0, ..., v8.11.2] require php ^7.3 -> your php version (8.3.3) does not satisfy that requirement.
- Root composer.json requires laravel/framework ^11.0 -> satisfiable by laravel/framework[v11.0.0].
- Root composer.json requires shweshi/opengraph ^1.1 -> satisfiable by shweshi/opengraph[V1.1.0, V1.1.1, V1.1.2, V1.1.3].
It would be amazing if this was possible.

@shweshi is support for Laravel 11 is possible ?

Laravel support is added. @pilutiful @weogrim


Legallead installer should only build in windows environments

Found issue:
/home/runner/work/leads-ui/leads-ui/src/presentation/legallead.installer/legallead.installer.csproj(51,5):
error MSB3073: The command "powershell.exe -ExecutionPolicy Bypass -NoProfile -NonInteractive -File pre-build.ps1" exited with code 127.

Suggested

Override the PreBuildEvent target in your project file using ContinueOnError
Override the PostBuildEvent target in your project file using ContinueOnError

Example:
<Target
Name="PreBuildEvent"
Condition="'$(PreBuildEvent)'!=''"
DependsOnTargets="$(PreBuildEventDependsOn)">
<Exec WorkingDirectory="$(OutDir)" Command="$(PreBuildEvent)" ContinueOnError="true" />
</Target>

this issue addressed - verify and close


Lock pytest-asyncio version

Resolves issue #2286
What is being addressed
A new version of pytest-asyncio is failing the existing UTs
How is this addressed

Lock pytest-asyncio version to the prior version

/test-force-approve


Support UDP muxing for SRFLX candidates

The original UDPMux only works for the HOST candidates.
UniversalUDPMux adds support for SRFLX candidates
and will later support Relay candidates.
UniversalUDPMux embeds UDPMuxDefault and
handles STUN server packets to discover XORMappedAddr
forwarding the remaining packets for muxing to UDPMuxDefault.

Codecov Report

Merging #7 (08a4118) into master (aca069d) will decrease coverage by 54.10%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           master       #7       +/-   ##
===========================================
- Coverage   79.28%   25.18%   -54.11%
===========================================
  Files          33       34        +1
  Lines        3650     3860      +210
===========================================
- Hits         2894      972     -1922
- Misses        590     2862     +2272
+ Partials      166       26      -140

Flag
Coverage Δ

go
?

wasm
25.18% <0.00%> (-1.45%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

agent.go
0.00% <0.00%> (-81.21%)
:arrow_down:

agent_config.go
0.00% <ø> (-82.15%)
:arrow_down:

gather.go
0.00% <0.00%> (-66.67%)
:arrow_down:

udp_mux_universal.go
0.00% <0.00%> (ø)

agent_stats.go
0.00% <0.00%> (-84.38%)
:arrow_down:

udp_mux.go
0.00% <0.00%> (-81.98%)
:arrow_down:

candidate_peer_reflexive.go
0.00% <0.00%> (-80.65%)
:arrow_down:

selection.go
0.00% <0.00%> (-80.19%)
:arrow_down:

... and 15 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update aca069d...08a4118. Read the comment docs.


Optimize sequence init

Early draft, not ready for review.

@jairideout @ebolyen ready for review. Went with an uglier implementation that is faster and less likely to break things.

@anderspitman this looks really great, just a couple of comments.

Ready for another review round

Thanks @anderspitman!


Revert "feat(*): support to add a http.Handler directly to the router"

Reverts caicloud/nirvana#342
Actually we can add an http.Handler (e.g. httputil.ReverseProxy) directly to the router for now in nirvana, so I'm gonna revert this feature. eg:
// use `service.WrapHTTPHandler` to wrap the http.Handler
def.Definition{
	Method:   definition.Get,
	Consumes: []string{definition.MIMEAll},
	Produces: []string{definition.MIMEAll},
	Function: service.WrapHTTPHandler(...),
}

/release-note-none