Needed vcpkg install Z3 on arch linux plus maybe more changes?

Hello, sorry to bother you if this is a known issue.  I am using arch linux and following the instructions.  I installed vcpkg from github following their instructions, and I needed to install Z3 with vcpkg on my system at least.
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_TOOLCHAIN_FILE="/path/to/export/vcpkg-16/scripts/buildsystems/vcpkg.cmake" \
    -DVCPKG_TARGET_TRIPLET=x64-linux \
    -DVCPKG_HOST_TRIPLET=x64-linux-rel \
    ..
-- The C compiler identification is GNU 13.1.1
-- The CXX compiler identification is GNU 13.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Install prefix: /usr/local
CMake Deprecation Warning at cmake/utils.cmake:3 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
  CMakeLists.txt:10 (include)

-- Looking for C++ include filesystem
-- Looking for C++ include filesystem - found
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED
-- Performing Test CXX_FILESYSTEM_NO_LINK_NEEDED - Success
-- Found filesystem: filesystem
CMake Error at /home/alex/repos/vcpkg/scripts/buildsystems/vcpkg.cmake:855 (_find_package):
  Could not find a package configuration file provided by "Z3" with any of
  the following names:

    Z3Config.cmake
    z3-config.cmake

  Add the installation prefix of "Z3" to CMAKE_PREFIX_PATH or set "Z3_DIR" to
  a directory containing one of the above files.  If "Z3" provides a separate
  development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:74 (find_package)

-- Configuring incomplete, errors occurred!

Also in the section with
 If you experience issues then try excluding teh HOST and TARGET triplets altogether.

teh should likely be the.
After adding Z3 with vcpkg I get
07:27:41 alex@Ninsar build ±|master|→ cmake     -DCMAKE_BUILD_TYPE=Release     -DCMAKE_TOOLCHAIN_FILE="../../vcpkg/scripts/buildsystems/vcpkg.cmake"     -DVCPKG_TARGET_TRIPLET=x64-linux     -DVCPKG_HOST_TRIPLET=x64-linux-rel  ..
-- Install prefix: /usr/local
CMake Deprecation Warning at cmake/utils.cmake:3 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
  CMakeLists.txt:10 (include)

-- Found filesystem: filesystem
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /usr/lib/libffi.so
-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /usr/lib/libtinfo.so
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.13")
-- Found zstd: /usr/lib/libzstd.so
-- Found LibXml2: /usr/lib/libxml2.so (found version "2.11.4")
-- Found Python: /usr/bin/python3.11 (found suitable version "3.11.3", minimum required is "3.8") found components: Interpreter Development Development.Module Development.Embed
/usr/bin/python3.11: No module named nanobind
CMake Error at bindings/python/CMakeLists.txt:5 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 1"

-- Configuring incomplete, errors occurred!

for which I do
07:29:02 alex@Ninsar build ±|master|→ pip3 install --break-system-packages nanobind

After that running make install gives:
07:29:42 alex@Ninsar build ±|master|→ make install
[  0%] Building CXX object CMakeFiles/pasta_util.dir/lib/Util/ArgumentVector.cpp.o
[  0%] Building CXX object CMakeFiles/pasta_util.dir/lib/Util/Error.cpp.o
[  0%] Building CXX object CMakeFiles/pasta_util.dir/lib/Util/File.cpp.o
In file included from /home/alex/repos/pasta/lib/Util/File.cpp:8:
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   11 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/include/pasta/AST/Forward.h:13:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   13 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/Util/File.cpp:20:
/home/alex/repos/pasta/lib/Util/FileManager.h:16:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   16 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/Util/FileManager.h:16:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/Util/FileManager.h:18:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   18 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
[  0%] Building CXX object CMakeFiles/pasta_util.dir/lib/Util/FileManager.cpp.o
In file included from /home/alex/repos/pasta/lib/Util/FileManager.cpp:5:
/home/alex/repos/pasta/lib/Util/FileManager.h:16:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   16 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/Util/FileManager.h:16:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/Util/FileManager.h:18:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   18 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
[  1%] Building CXX object CMakeFiles/pasta_util.dir/lib/Util/FileSystem.cpp.o
[  1%] Building CXX object CMakeFiles/pasta_util.dir/lib/Util/Init.cpp.o
[  1%] Linking CXX static library libpasta_util.a
[  1%] Built target pasta_util
[  1%] Building CXX object CMakeFiles/pasta_compiler.dir/lib/AST/AlignTokens.cpp.o
In file included from /home/alex/repos/pasta/include/pasta/AST/Decl.h:15,
                 from /home/alex/repos/pasta/include/pasta/AST/AST.h:12,
                 from /home/alex/repos/pasta/lib/AST/AST.h:7,
                 from /home/alex/repos/pasta/lib/AST/AlignTokens.cpp:5:
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   11 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/include/pasta/AST/Forward.h:13:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   13 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/AST.h:29:
/home/alex/repos/pasta/lib/AST/Macro.h:16:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   16 | #pragma GCC diagnostic ignored "-Wbitfield-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Macro.h:16:32: note: did you mean ‘-Wno-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Macro.h:17:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   17 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Macro.h:17:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Macro.h:19:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   19 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/Macro.h:23:
/home/alex/repos/pasta/lib/AST/Token.h:14:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   14 | #pragma GCC diagnostic ignored "-Wbitfield-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Token.h:14:32: note: did you mean ‘-Wno-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Token.h:15:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   15 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Token.h:15:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Token.h:17:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   17 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/AlignTokens.cpp:27:
/home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:15:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   15 | #pragma GCC diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:15:32: note: did you mean ‘-Wdeprecated-enum-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:16:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   16 | #pragma GCC diagnostic ignored "-Wbitfield-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:16:32: note: did you mean ‘-Wno-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:17:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   17 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:17:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:19:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   19 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/Printer/DeclStmtPrinter.h:77:
/home/alex/repos/pasta/lib/AST/Printer/Printer.h:8:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
    8 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Printer/Printer.h:8:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Printer/Printer.h:10:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   10 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/AlignTokens.cpp: In member function ‘pasta::{anonymous}::SequenceRegion* pasta::{anonymous}::Matcher::BuildRegions(std::vector<std::unique_ptr<pasta::{anonymous}::Region> >&, std::stringstream&, uint8_t*, uint8_t*, size_t, const char*)’:
/home/alex/repos/pasta/lib/AST/AlignTokens.cpp:819:9: warning: attributes at the beginning of statement are ignored [-Wattributes]
  819 |         [[clang::fallthrough]];
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Token.h: In member function ‘bool pasta::TokenImpl::IsParsed() const’:
/home/alex/repos/pasta/lib/AST/Token.h:200:3: warning: control reaches end of non-void function [-Wreturn-type]
  200 |   }
      |   ^
[  1%] Building CXX object CMakeFiles/pasta_compiler.dir/lib/AST/AST.cpp.o
In file included from /home/alex/repos/pasta/include/pasta/AST/Decl.h:15,
                 from /home/alex/repos/pasta/include/pasta/AST/AST.h:12,
                 from /home/alex/repos/pasta/lib/AST/AST.h:7,
                 from /home/alex/repos/pasta/lib/AST/AST.cpp:5:
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   11 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/include/pasta/AST/Forward.h:13:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   13 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/AST.h:29:
/home/alex/repos/pasta/lib/AST/Macro.h:16:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   16 | #pragma GCC diagnostic ignored "-Wbitfield-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Macro.h:16:32: note: did you mean ‘-Wno-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Macro.h:17:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   17 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Macro.h:17:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Macro.h:19:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   19 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/Macro.h:23:
/home/alex/repos/pasta/lib/AST/Token.h:14:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   14 | #pragma GCC diagnostic ignored "-Wbitfield-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Token.h:14:32: note: did you mean ‘-Wno-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Token.h:15:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   15 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Token.h:15:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Token.h:17:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   17 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
[  1%] Building CXX object CMakeFiles/pasta_compiler.dir/lib/AST/Attr.cpp.o
In file included from /home/alex/repos/pasta/include/pasta/AST/AttrManual.h:10,
                 from /home/alex/repos/pasta/include/pasta/AST/Attr.h:14,
                 from /home/alex/repos/pasta/lib/AST/Attr.cpp:18:
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   11 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:11:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/include/pasta/AST/Forward.h:13:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   13 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/AST.h:29,
                 from /home/alex/repos/pasta/lib/AST/Attr.cpp:20:
/home/alex/repos/pasta/lib/AST/Macro.h:16:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   16 | #pragma GCC diagnostic ignored "-Wbitfield-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Macro.h:16:32: note: did you mean ‘-Wno-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Macro.h:17:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   17 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Macro.h:17:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Macro.h:19:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   19 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
In file included from /home/alex/repos/pasta/lib/AST/Macro.h:23:
/home/alex/repos/pasta/lib/AST/Token.h:14:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   14 | #pragma GCC diagnostic ignored "-Wbitfield-enum-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Token.h:14:32: note: did you mean ‘-Wno-enum-conversion’?
/home/alex/repos/pasta/lib/AST/Token.h:15:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   15 | #pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Token.h:15:32: note: did you mean ‘-Wno-int-conversion’?
/home/alex/repos/pasta/lib/AST/Token.h:17:32: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas]
   17 | #pragma GCC diagnostic ignored "-Wshorten-64-to-32"
      |                                ^~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Attr.cpp: In function ‘pasta::AttrKind pasta::{anonymous}::KindOfAttr(const clang::Attr*)’:
/home/alex/repos/pasta/include/pasta/AST/Forward.h:1372:7: error: ‘HLSLGroupSharedAddressSpace’ is not a member of ‘clang::attr::Kind’
 1372 |     m(HLSLGroupSharedAddressSpace) \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Attr.cpp:60:29: note: in definition of macro ‘PASTA_ATTR_CASE’
   60 |     case clang::attr::Kind::a: \
      |                             ^
/home/alex/repos/pasta/lib/AST/Attr.cpp:63:5: note: in expansion of macro ‘PASTA_FOR_EACH_ATTR_IMPL’
   63 |     PASTA_FOR_EACH_ATTR_IMPL(PASTA_ATTR_CASE, PASTA_IGNORE_ABSTRACT)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:1374:7: error: ‘HLSLResource’ is not a member of ‘clang::attr::Kind’
 1374 |     m(HLSLResource) \
      |       ^~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Attr.cpp:60:29: note: in definition of macro ‘PASTA_ATTR_CASE’
   60 |     case clang::attr::Kind::a: \
      |                             ^
/home/alex/repos/pasta/lib/AST/Attr.cpp:63:5: note: in expansion of macro ‘PASTA_FOR_EACH_ATTR_IMPL’
   63 |     PASTA_FOR_EACH_ATTR_IMPL(PASTA_ATTR_CASE, PASTA_IGNORE_ABSTRACT)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:1375:7: error: ‘HLSLResourceBinding’ is not a member of ‘clang::attr::Kind’
 1375 |     m(HLSLResourceBinding) \
      |       ^~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Attr.cpp:60:29: note: in definition of macro ‘PASTA_ATTR_CASE’
   60 |     case clang::attr::Kind::a: \
      |                             ^
/home/alex/repos/pasta/lib/AST/Attr.cpp:63:5: note: in expansion of macro ‘PASTA_FOR_EACH_ATTR_IMPL’
   63 |     PASTA_FOR_EACH_ATTR_IMPL(PASTA_ATTR_CASE, PASTA_IGNORE_ABSTRACT)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:1376:7: error: ‘HLSLSV_DispatchThreadID’ is not a member of ‘clang::attr::Kind’
 1376 |     m(HLSLSV_DispatchThreadID) \
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Attr.cpp:60:29: note: in definition of macro ‘PASTA_ATTR_CASE’
   60 |     case clang::attr::Kind::a: \
      |                             ^
/home/alex/repos/pasta/lib/AST/Attr.cpp:63:5: note: in expansion of macro ‘PASTA_FOR_EACH_ATTR_IMPL’
   63 |     PASTA_FOR_EACH_ATTR_IMPL(PASTA_ATTR_CASE, PASTA_IGNORE_ABSTRACT)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:1410:7: error: ‘MaybeUndef’ is not a member of ‘clang::attr::Kind’
 1410 |     m(MaybeUndef) \
      |       ^~~~~~~~~~
/home/alex/repos/pasta/lib/AST/Attr.cpp:60:29: note: in definition of macro ‘PASTA_ATTR_CASE’
   60 |     case clang::attr::Kind::a: \
      |                             ^
/home/alex/repos/pasta/lib/AST/Attr.cpp:63:5: note: in expansion of macro ‘PASTA_FOR_EACH_ATTR_IMPL’
   63 |     PASTA_FOR_EACH_ATTR_IMPL(PASTA_ATTR_CASE, PASTA_IGNORE_ABSTRACT)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/repos/pasta/include/pasta/AST/Forward.h:1450:7: error: ‘NoUwtable’ is not a member of ‘clang::attr::Kind’
 1450 |     m(NoUwtable) \
      |       ^~~~~~~~~
/home/alex/repos/pasta/lib/AST/Attr.cpp:60:29: note: in definition of macro ‘PASTA_ATTR_CASE’
   60 |     case clang::attr::Kind::a: \
      |                             ^
/home/alex/repos/pasta/lib/AST/Attr.cpp:63:5: note: in expansion of macro ‘PASTA_FOR_EACH_ATTR_IMPL’
   63 |     PASTA_FOR_EACH_ATTR_IMPL(PASTA_ATTR_CASE, PASTA_IGNORE_ABSTRACT)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~

Plus a whole lot more pages of errors.
I am not intending this to be mean, but currently this isn't able to work for me, and I would be super nice if it did since it seems like a very useful library that would solve a big problem for me.

@abenedic Make sure to use the vcpkg from cxx-common, using llvm-16. PASTA relies on custom patches to Clang in order to collect more precise information, especially about macros. Some of the errors are related to not using LLVM 16. Some warnings are in auto-generated code, and some are in (modified) code copied from Clang (decl/stmt/type printers). Generally for the latter we don't try to fix them.
I would recommend consulting the CI process for how to build PASTA.


Imagenet11K synset

@tornadomeet
Could you please show me how I can get the syntex for imagenet 11k?
Thanks a lot.

cc @mli

@Darwin2011  here: http://data.mxnet.io/models/imagenet-11k/synset.txt

@tornadomeet Thanks.


Update dependencies-file.md

Clarify references: strict
ref https://github.com/fsprojects/Paket/issues/2257

Thanks!


Update dashboard Kubernetes / Views / Global ( 35 → 36 )

This PR contains the following updates:

Package
Update
Change

Kubernetes / Views / Global
major
35 -> 36

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


basic iot network rewards emission framework

Implements the basic framework for a rewards emission server for helium iot network.
The server.rs module needs only to have the logic of handling reward shares reports from the iot verifier to prepare rewards transactions to submit to the destination chain.

I don't think we need a separate public_key.rs module in the workspace after #80 landed

I don't think we need a separate public_key.rs module in the workspace after #80 landed

you're right; this was sitting out there as an open branch for the last two weeks and i hadn't rebased it since. fixed

before this gets merged, can i get a confirmation on the name iot_ vs lora_? i can rename if we prefer to keep it consistent and more specific to the protocol (in case there are other "iot networks" on non-lora wireless protocols in the future)


coturn: apply patch for CVE-2020-6061/6062

Motivation for this change
Fixes: CVE-2020-6061, CVE-2020-6062
An exploitable heap overflow vulnerability exists in the way CoTURN
<IP_ADDRESS> web server parses POST requests. A specially crafted HTTP
POST request can lead to information leaks and other misbehavior.
An attacker needs to send an HTTPS request to trigger this vulnerability.
An exploitable denial-of-service vulnerability exists in the way
CoTURN <IP_ADDRESS> web server parses POST requests. A specially crafted
HTTP POST request can lead to server crash and denial of service.
An attacker needs to send an HTTP request to trigger this vulnerability.

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

fails to build:
hash mismatch in fixed-output derivation '/nix/store/1yq0fs91z4bidnsh3mbrfkrw5w5ky1i9-CVE-2020-6061+6062.patch':
  wanted: sha256:0wsja9bahmyscigp6wfbwsn8dxbg92cnv8gm298k97yg3330lb29
  got:    sha256:0fcy1wp91bb4hlhnp96sf9bs0d9hf3pwx5f7b1r9cfvr3l5c1bk2

Also, 19.09 backport is here: https://github.com/NixOS/nixpkgs/pull/86271

This is weird, it still builds for me locally. I got the hash via nix-prefetch-url and that still gives me the same hash:
❯ nix-prefetch-url https://sources.debian.org/data/main/c/coturn/<IP_ADDRESS>-1.2/debian/patches/CVE-2020-6061+6062.patch
[0.0 MiB DL]
path is '/nix/store/2f4v3yx7744nn3h1cy9jabd5s12qpp2q-CVE-2020-6061+6062.patch'
0wsja9bahmyscigp6wfbwsn8dxbg92cnv8gm298k97yg3330lb29

Fixed.


docs: fix doc broken links

multiple links are broken in cognitive service overview docs.

Codecov Report

Merging #1953 (d4ec102) into master (5e9c0c1) will decrease coverage by 16.19%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1953       +/-   ##
===========================================
- Coverage   87.06%   70.88%   -16.19%
===========================================
  Files         305      305
  Lines       15993    15993
  Branches      839      839
===========================================
- Hits        13924    11336     -2588
- Misses       2069     4657     +2588

see 84 files with indirect coverage changes

Codecov Report

Merging #1953 (d4ec102) into master (5e9c0c1) will decrease coverage by 11.55%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1953       +/-   ##
===========================================
- Coverage   87.06%   75.51%   -11.55%
===========================================
  Files         305      305
  Lines       15993    15993
  Branches      839      839
===========================================
- Hits        13924    12077     -1847
- Misses       2069     3916     +1847

see 59 files with indirect coverage changes


Variables in function calls

I am trying to resolve a certain directory path, is there a possibility to include a variable in a function call, like in the following example:
locals {
  # Automatically load environment-level variables
  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
  env = local.environment_vars.locals.environment

  region_vars = read_terragrunt_config(find_in_parent_folders("region.hcl"))
  region = local.region_vars.locals.aws_region

  name = "${find_in_parent_folders(${local.region})}/${local.env}}"

}

The name variable has a function which needs a local variable called region. Thanks in advance!

Hi, I was wondering why evaluation of find_in_parent_folders can't be persisted in separated variable and then used in string template:
locals {
  # Automatically load environment-level variables
  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
  env = local.environment_vars.locals.environment

  region_vars = read_terragrunt_config(find_in_parent_folders("region.hcl"))
  region = local.region_vars.locals.aws_region

  region_path = find_in_parent_folders("${local.region}")
  name = "${local.region_path}/${local.env}"

  test = run_cmd("echo", "evaluated name: ", "${local.name}")

}

Output in my test:
evaluated name:  /tmp/terragrunt-tests/vars-function-call/us-east-1/env1

@denis256 Thanks for your answer, this is exactly what I was looking for!


New JDK8 JTReg Fail: sun/misc/Version/Version.java

Describe the bug
https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/master/jdk/test/sun/misc/Version/Version.java is failing on multiple platforms across the JDK nightlies.
To Reproduce
Steps to reproduce the behavior (or Grinder rerun link):

Execute a grinder with these params: https://ci.adoptopenjdk.net/job/Grinder/parambuild/?JDK_VERSION=8&JDK_IMPL=hotspot&BUILD_LIST=openjdk&PLATFORM=x86-64_linux&TARGET=jdk_custom&CUSTOM_TARGET=jdk/test/sun/misc/Version/Version.java
See error

Expected behavior
test passes
Screenshots
Standard Output

jdkVersionInfo: input=1.8.0_262-202004281802-b01 output=1.8.0_262-b1
JDK version = 1.8.0_262-b1  1.8.0_6-b1

Standard Error

java.lang.RuntimeException: Unmatched version: 1.8.0_262-b1 vs 1.8.0_6-b1
	at Version.main(Version.java:47)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
	at java.lang.Thread.run(Thread.java:748)

Additional context
At the time of writing this, I couldn't find any recent history of this failure in JBS https://bugs.openjdk.java.net/browse/JDK-8136651?jql=text ~ "sun%2Fmisc%2FVersion%2FVersion.java" ORDER BY updated DESC

Exclude PR https://github.com/AdoptOpenJDK/openjdk-tests/pull/1763

I've landed the PR - safe to close this?

No, I do not think we can close this based on excluding the test.  Excluding it means we no longer run the test (which should be a temporary state).
What needs to be determined, is likely one of the following:

does the test need fixing upstream
is the test fixed upstream but we are using stale or mismatched test material
does this binary actually legitimately fail the test for some reason (and needs correction)

Pulling a recent adopt nightly shows the test's getProperty is fine.
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_262-202005021711-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.262-b01, mixed mode)

This is a regression failure. Prior to this build, this test passes. However from this build onwards, the test fails
Last passing https://ci.adoptopenjdk.net/job/Grinder/2969
13:48:04  openjdk version "1.8.0_252"
13:48:04  OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-202004271724-b09)
13:48:04  OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode)

First failing https://ci.adoptopenjdk.net/job/Grinder/2970
14:05:21  openjdk version "1.8.0_262"
14:05:21  OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_262-202004281723-b01)
14:05:21  OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.262-b01, mixed mode)

I'm not sure where the update number (6) in the test output is is coming from.

The lack of any movement on JBS implies this is an "Adopt" problem and not an upstream one. Futhermore, our test target matches the mercurial test target so I don't think it is due to our test material being out of date.

However, I ran a grinder with
System.out.println(jdkMajorVersion());
System.out.println(jdkMinorVersion());
System.out.println(jdkMicroVersion());
System.out.println(jdkUpdateVersion());

in the test and it returned
1
8
0
6

Ever since the April release, this test has only been pulling one number from the update version (of which, the only reference I could find to jdkUpdateVersion() is in a template file). The template file is not used which remains the question, where does this jdkUpdateVersion() method come from?
@smlambert Thoughts?

This looks like it may turn into an openjdk-build issue.
Both the jdkUpdateVersion() method and the sun/misc/Version/Version.java class that tests it live in the mirror of openjdk that we build.
For nightly builds, we assume that the tip of the openjdk mirror (https://github.com/AdoptOpenJDK/openjdk-jdk8u) is being built, so that is where we pull test material from.
We need to confirm that the tip (https://github.com/AdoptOpenJDK/openjdk-jdk8u master branch) is the one being built in our nightly build pipelines?

If it is not tip, then the test material will not match the JDK source that was built, and build pipelines need to pass to test pipelines the tag or SHA of the openjdk-jdk8u repo that was built, so this issue transfers to openjdk-build to make the change to set RELEASE_TAG to be the SHA of the openjdk mirror that was built
If it is tip, then there is something potentially 'funky' about the JDK that was built, and this issue should transfer to openjdk-build.

@smlambert The pipeline output seems to suggest it is from whatever the default is which I believe is master
Fetching origin
From https://github.com/adoptopenjdk/openjdk-jdk8u
 * [new branch]            dev        -> origin/dev
HEAD is now at a537b9ba56 Merge hotspot at HEAD
Pulling latest tags and getting the latest update version using git fetch -q --tags --depth=1
NOTE: This can take quite some time!  Please be patient
From /home/jenkins/workspace/build-scripts/jobs/jdk8u/jdk8u-linux-x64-hotspot/workspace/./build//src
 * branch                  HEAD       -> FETCH_HEAD
OpenJDK repo tag is jdk8u262-b01
Version: 262
Should have the source, I'm at /home/jenkins/workspace/build-scripts/jobs/jdk8u/jdk8u-linux-x64-hotspot/workspace/build/src
From /home/jenkins/workspace/build-scripts/jobs/jdk8u/jdk8u-linux-x64-hotspot/workspace/./build//src
 * branch                  HEAD       -> FETCH_HEAD
OpenJDK repo tag is jdk8u262-b01
Completed configuring the version string parameter, config args are now:  --with-milestone=fcs --with-user-release-suffix=202005041729 --with-vendor-name=AdoptOpenJDK --with-update-version=262 --with-build-number=b01

@sxa is this correct?

The test material in the dev and master branches are identical but the dev branch is behind master by quite a few commits.
This branch is 384 commits ahead, 370 commits behind master.

However, these are mostly tag changes and the 262 tag is in both master and dev branches.

@smlambert Can we transfer this to build?

System.out.println(jdkMajorVersion());
System.out.println(jdkMinorVersion());
System.out.println(jdkMicroVersion());
System.out.println(jdkUpdateVersion());

@M-Davies Can you confirm what those functions are since they are not standard java API functions as far as I'm aware and I can't find those values in the JVM system properties - can you provide a standalone test case?

@sxa They're pulled from https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/aa318070b27849f1fe00d14684b2a40f7b29bf79/jdk/src/share/native/sun/misc/Version.c#L118

I was about to write a whole summary on my findings but it looks like @jerboaa beat me too it upstream 😂 https://bugs.openjdk.java.net/browse/JDK-8244548

Will close this as a REPORTED UPSTREAM issue

Amend PR https://github.com/AdoptOpenJDK/openjdk-tests/pull/1781


Html.App should take List (Html Action)

Hi.
I wonder why Html.App can't take List (Html Action)?
What I expected
To able to output this without wrapping the header, main and footer in a single tag.

hello header
hello main
hello footer

What I got

main =
    App.program
        { init = init
        , view = app
        , update = update
        , subscriptions = subscriptions
        }

app : Models.App -> List (Html Action)
app app =
    [   header [] [ text "hello header" ]
      , main'  [] [ text "hello world"  ]
      , footer [] [ text "hello footer" ]
    ]

Which results in a runtime type error:
'Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.'

This should cause a compilation error. Can you try deleting your elm-stuff and trying again, and if you see the error still let us know?

Hi,
Is it possible to achieve something like this:
`

hello header
hello main
hello footer

`
Or I have to use additional  to wrap this?
In other words do I have to use div element within view function?
`view : Model -> Html Msg
view =
    div [] []`
I would like to use body function but I know I would end up with
`

`

Hmm, I've not tried but it might be possible to have elm expose a 'body' element and you attach it to the html element?

@OvermindDL1  Can you please explain me what do you mean "on the list" ?
I don't know where I should send this kind of questions to.

I don't know where I should send this kind of questions to.

To:  https://groups.google.com/forum/#!forum/elm-discuss
Elm does not use github like most projects but rather as a very simple kind of 'todo' list (even though that is what the Project tab in github is for rather than issues), the above list is where discussion and question takes place.  :-)

@OvermindDL1 Thanks.

Hi again. Sorry for the wait. I hadn't seen the update.
The previous output might have been when serving elm through a webserver,
this time I tried to use the elm cli-tools directly instead. The result is a better
error message but it still seems to compile.
Here follows the full stacktrace, on a windows 10 machine.
> rmdir elm-stuff /S /Q

> elm make
Some new packages are needed. Here is the upgrade plan.

  Install:
    elm-lang/core 4.0.5
    elm-lang/html 1.1.0
    elm-lang/virtual-dom 1.1.1
    evancz/elm-http 3.0.1

Do you approve of this plan? [Y/n] y
Starting downloads...

  * elm-lang/virtual-dom 1.1.1
  * elm-lang/html 1.1.0
  * evancz/elm-http 3.0.1

* elm-lang/core 4.0.5
Packages configured successfully!
Success! Compiled 31 modules.

> elm reactor
elm-reactor 0.17.1
Listening on http://localhost:8000/

browser output , http://localhost:8000/Main.elm
Detected errors in 1 module.
==================================== ERRORS ====================================

-- TYPE MISMATCH ------------------------------------------------------ Main.elm

The argument to function `program` is causing a mismatch.

12|     App.program
13|>        { init = init
14|>        , view = Views.app
15|>        , update = update
16|>        , subscriptions = subscriptions
17|>        }

Function `program` is expecting the argument to be:

    { ..., view : Models.App -> VirtualDom.Node Action }

But it is:

    { ..., view : Models.App -> List (Html.Html Action) }

Hint: Does your program have flags? Maybe you want `programWithFlags` instead.

Do you mind explaining why it should cause a compilation error?
Or rather is there another way to output a proper  structure without nesting it in a div?

structure without nesting it in a div?

  Make sure your elm app returns a 'body' node as its primary view though.

I have searched through groups (haven't reached the beginning)  but haven't found the answer why it has to be always nested in div.
Why do we need body function in html package for?

Regarding the body tag (possibly getting off-topic):
<!doctype html>
<title>test</title>

The above is a perfectly valid HTML5 document. Go ahead and put it in an .html file an open it in your browser! Then, use the dev tools to inspect it. This is what you'll see:

The browser makes sure that there is a an , a  and a  element on the page whether you want it or not. Those elements are always there. It's in the HTML spec. It's just that the very text , , , ,  and  don't have to typed explicitly. It is automatically figured out where to place to those start and end tags (again, how that's done is also described in the spec).
There may also only be one of those three elements on a single page.
So if you're planning on creating one or more of them with JavaScript, you are always going to need to replace an already existing element. I'm not sure what happens if you try to insert a second  element into a page. Perhaps it is not even consistent between browsers.
So my advice would be to avoid ever creating those elements with JavaScript (or anything that compiles to JavaScript). :)

@lydell, I don't want to insert a body tag, I want to append exactly three tags inside the body tag, i.e. . I^_^

@tugend Can't you do:

and
var Elm = require('./Main.elm');
var mountNode = document.getElementById('main');
var app = Elm.Main.embed(mountNode);

@MarkNijhof, that works! =D
I'm pretty sure it failed on elm@17, but I since updated to version 18, and now it works as expected. Woho.
Thank you.

This doesn't work for me.
I'm on Elm 0.18 using Navigation.program (which just builds on Html.program), but if I nest the header, main, and footer within a body tag from within Elm, I just get a body tag within the outer body tag; this is regardless of whether I fullscreen() or embed() onto either html or body with either an empty or non-existent body (with DOMContentLoaded event listener) pre-embed.
Instead of views taking a List (Html msg), why not make Html msg itself a List (Node msg)? Isn't that what HTML is in the end? A list of nodes (which may or may not have more nodes nested under them)?
Like OP, I'm not looking for anything complicated, just a basic structure like this:
body
├─ header
├─ main
└─ footer

I'm curious if there is a practical reason that embedding those three tags in a single wrapper div is not an option? I understand it may feel "inelegant", but on the other hand, changing the way Html msg works would make the work of the virtual dom a fair bit more complicated, as its internal structure would stray further away from the actual dom. Conceptually this would also be harder to grasp for people who have some HTML knowledge, and those seem like serious tradeoffs to consider for a fairly small use-case.
Either way, you could potentially go the route of rendering body into a fragment and replacing the actual document.body with that fragment after the initial rendering of the view has happened: https://ellie-app.com/8gMJhXH7Fa1/0

No practical reason (for me). Little things like this just get on my nerves, especially when it's in stark contrast to how elegant the rest of the language feels.
The solution you've outlined is probably a case of the cure being worse than the disease.
I can live with it, I'd just rather not. I'd understand if you closed this.


cargo check uses older version of git dependency after cargo update

Problem
I have a project consisting of two crates, each in a private repository on GitHub. One is a library crate called "aws-modeling", containing code to be reused in future projects, and the other is a binary crate that uses aws-modeling as a dependency.
When I add a new feature to aws-modeling, run cargo update, and then add code to my binary project using the feature, cargo check produces various errors, the key part of which appears to be:
note: method defined here  --> /home/jesseglick/.cargo/git/checkouts/aws-modeling-09b36d7dc6bd99f7/d9093db/src/lib.rs:106:18
The commit d9003db is an earlier one then the one specified in cargo.lock after the update:
[[package]]
name = "aws-modeling"
version = "0.1.0"
source = "git+https://github.com/jesseglick/aws-modeling#cc941cf55bab6a4f3fc6ab1dbf404a4ede367e76"
(The link above will not work, as it is to a private repository.)
cargo build compiles with no errors.
I expected cargo check to produce the same results as cargo build.
Steps

Create a library crate.
Create a binary crate that uses the library as a git dependency.
Add a new public function to the library crate.
Run cargo update on the binary crate.
Add code to the binary crate that calls the new function.
Run cargo check.

Possible Solution(s)
Apparently, cargo check is still caching older code, perhaps partly compiled, after the update.
Notes
No response
Version
cargo 1.70.0 (ec8a8a0ca 2023-04-25)
release: 1.70.0
commit-hash: ec8a8a0cabb0e0cadef58902470f6c7ee7868bdc
commit-date: 2023-04-25
host: x86_64-unknown-linux-gnu
libgit2: 1.6.3 (sys:0.17.0 vendored)
libcurl: 8.0.1-DEV (sys:0.4.61+curl-8.0.1 vendored ssl:OpenSSL/1.1.1t)
os: Pop!_OS 22.04 (jammy) [64-bit]

Serbes bırakın sadece bakmakla kalıyoruz islem yapamıyoruz

Going to close due to inactivity, and there is no clear step to reproduce. The above test case https://github.com/rust-lang/cargo/issues/12328#issuecomment-1625745890 demonstrates that it successfully updates git source. There might be something disconnected. Feel free to reopen if you have a chance to provide an easier way to inspect or reproduce the error.


CHECK-372: Verify if settings key exists before trying to get claims

Also update Gemfile.lock

@danielafeitosa the code looks fine by me and appears to be fine locally but please do fix these unit tests and ensure 100% code coverage before merging! Happy to help with that process if needed.

@DGaffney I fixed the tests and added the missing tests for the new lines. Please review it again and check if it can be merged.


Requaos/smooth build

Fixes WilfredTA/trampoline-rs#2

@WilfredTA Just let me know if you want to omit Cargo.lock from MRs


[ClientSDK] Instrument SDK send functions using tracing

It would be very beneficial to instrument sdk send functions. There are probably more experts on tracing here than me but a place to start could be:
#[instrument(name="aws::<service_name>::<operation_name>::send", level="info", skip(self))]
fn send(....

It would be great if the level could be info so that we can filter out the debug instrument created here which is always 0ms. Another option would be to lower the provider instrument trace and setting the send instrument as debug.

I missed that smithy-rs does instrument with a span called send_operation which is probably a better approach than the one I suggested above since service and operations are parameters within that span. I think if there is anything to be done for this ticket (from my perspective) would be to evaluate reducing some of the child spans of send_operation to trace or increasing visibility for the send_operation to info


Unable to Copy (or Rename) files >5GB.

The S3 API only allows uploads up until 5GB. For larger file (up until 5TB), a multipart upload should be used. The same is try for copying files.
For more info, see:
https://docs.amazonaws.cn/zh_cn/aws-sdk-php/guide/latest/service/s3-multipart-upload.html (scroll to bottom)
Is there a way to implement this in FlySystem?

Hi @MichMich, the AWS SDK does this under the hood itself, it has a threshold to switch to multi-part.

Sorry for the super slow response ... (I ran into the same issue again), but this seems to still be an issue:
Storage::copy('path/to/small/file', 'desitination/for/small/file'); // works

But when dealing with large files (>5GB) the following returns false, and doesnt copy the file:
Storage::copy('path/to/large/file', 'desitination/for/large/file'); // returns false, file wont be copied.

Is this expected behaviour?

@MichMich do you know which operation fails? Reading or writing?

The copy() method of AWS doesn't seem to be using read or write. It uses a S3 command. When I check the exception catched at line 431 the message is:

The specified copy source is larger than the maximum allowable size for a copy source:<PHONE_NUMBER>

It seems AWS has a special function to handle large file copy:
https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/php/example_code/s3/MultipartCopy.php
it might be worth mentioning this in the docs, or implement this copy method for larger files.

Another case of abstraction leak, what's not to love ;-)

I just tried to use the "MultiCopy" method on a small file (<5MB, which isn't multipart), and that works. The current copy implementation could be replaced with the MultipartCopy implementation which should fix the issue and won't be a breaking change.

@MichMich how did you resolve this? I think i am running into a similar issue, but i see the latest version on flysystem is not patched.

I just created a method which copies the file for me. So I don't use the Storage impelentation:
use Aws\S3\MultipartCopy;

function copy($sourcePath, $targetPath) {
       $s3Adapter = Storage::disk('s3')->getDriver()->getAdapter();
       $source = '/' . $s3Adapter->getBucket() . '/' . $sourcePath;
       $target = [
              'bucket' => $s3Adapter->getBucket(),
              'key' => $targetPath
       ];

        $copier = new MultipartCopy($s3Adapter->getClient(), $source, $target);
        $result = $copier->copy();
}

If you want to move the file, just copy it to the new location and then delete the source file.
Please note that the code above is a subset of my implementation. I might have messed things up during this copy/paste, but you probably get what you are looking for ...

Thanks @MichMich !

Amazing implementation. To rename a file you have to multipart copy it and then delete the old one :face_with_head_bandage:

Ok, so I dug into this. It was a little hard to track down at first, but the copying through a command is the only place where the implementation does not switch to MultipartCopy when the file is bigger than the normal threshold 😅 I've altered the implementation, and version 1.0.29 of this adapter is tagged which fixed this.

Thanks Frank!


[FEATURE] Add KMS arn to NPMRegistryConfig

Describe the feature
I want to configure the codebuild job to use our private npm registry and for that, i want to use the .npmRegistry functionality on the PipelineBluprintBuilder.
Setting it like this:
.npmRegistry({
    basicAuthSecretArn: 'arn:aws:secretsmanager:eu-west-1:123456789123:secret:JFrogCredentialsTest-abcdef',
    url: 'https://jfrog....com/artifactory/api/npm/npm/',
})

Results in the codebuild IAM policy to access the secret:
{
    "Action": "secretsmanager:GetSecretValue",
    "Resource": [
        "arn:aws:secretsmanager:eu-west-1:123456789123:secret:JFrogCredentialsTest-abcdef",
     ],
    "Effect": "Allow"
},

However, there is no way that I can see to also grant it permission to the KMS key it is encrypted with. If we are supposed to use the kms-key from the encryption stack, that's somewhat of a chicken-and-egg problem right? The encryption-stack key only exists after deployment but the npm secret needs to be encrypted with it before deployment.
Use Case
I would need to edit the codebuild policy manually at the time which would result in frequent overrides whenever there is an update.
Proposed Solution
Add another field to NPMRegistryConfig maybe. Or let us edit the codebuild policy with the PipelineBlueprintBuilder just like we can already add CodeBuild environment variables that way.
Other Information
No response
Acknowledgements

[ ] I may be able to implement this feature request
[ ] This feature might incur a breaking change

Environment details (OS name and version, etc.)
Ubuntu 22.04

This can be done in the following way by overriding the GlobalResources.CODEBUILD_FACTORY:
.resourceProvider(GlobalResources.CODEBUILD_FACTORY, {
      provide(context) {
        let proxyConfig;
        if (context.has(GlobalResources.PROXY)) {
          proxyConfig = context.get(GlobalResources.PROXY)!;
        }
        const vpc = context.get(GlobalResources.VPC).vpc;
        const parameterProvider = context.get(GlobalResources.PARAMETER_STORE);
        return new class extends DefaultCodeBuildFactory {
          protected generateCodeBuildSecretsManager(props: DefaultCodeBuildFactoryProps) {
            const secrets = super.generateCodeBuildSecretsManager(props);
            return {
              PROXY_USERNAME: secrets.PROXY_USERNAME, // keep only this from SecretsManager
              PROXY_PASSWORD: secrets.PROXY_PASSWORD, // keep only this from SecretsManager
            };
          }
          protected generateBuildEnvironmentVariables (props: DefaultCodeBuildFactoryProps) {
            let variables = super.generateBuildEnvironmentVariables(props);
            return {
              ...variables,
              HTTP_PROXY_PORT: '8080', // overwrite this var as is not available in SecretsManager
              HTTPS_PROXY_PORT: '8443', // overwrite this var as is not available in SecretsManager
              PROXY_DOMAIN: 'xxxxxxx, // overwrite this var as is not available in SecretsManager
            };
          }
          protected generateRolePolicies (props: DefaultCodeBuildFactoryProps) {
            const rolePolicies = super.generateRolePolicies(props);
            const newPolicyStatements = [
              new cdk.aws_iam.PolicyStatement({
                effect: cdk.aws_iam.Effect.ALLOW,
                actions: ['codeartifact:GetAuthorizationToken'],
                resources: [
                  'arn:aws:codeartifact:eu-west-1:0123456789012:domain/my-domain',
                ],
              }),
              new cdk.aws_iam.PolicyStatement({
                actions: [
                  'codeartifact:DescribePackageVersion',
                  'codeartifact:DescribeRepository',
                  'codeartifact:GetPackageVersionReadme',
                  'codeartifact:GetRepositoryEndpoint',
                  'codeartifact:ListPackages',
                  'codeartifact:ListPackageVersions',
                  'codeartifact:ListPackageVersionAssets',
                  'codeartifact:ListPackageVersionDependencies',
                  'codeartifact:ReadFromRepository',
                ],
                resources: [
                  'arn:aws:codeartifact:eu-west-1:0123456789012:repository/vw-sre/vw-sre',
                ],
              }),
              new cdk.aws_iam.PolicyStatement({
                effect: cdk.aws_iam.Effect.ALLOW,
                actions: ['sts:GetServiceBearerToken'],
                resources: ['*'],
              }),
            ];
            return [
              ...rolePolicies,
              ...newPolicyStatements,
            ];
          }
        }({
          resAccount: context.blueprintProps.deploymentDefinition.RES.env.account,
          vpc,
          proxyConfig,
          npmRegistry: context.blueprintProps.npmRegistry,
          codeBuildEnvSettings: context.blueprintProps.codeBuildEnvSettings,
          parameterProvider,
        });
      },
    })
    .definePhase(PipelinePhases.INITIALIZE, [
      PhaseCommands.CONFIGURE_HTTP_PROXY,
      PhaseCommands.ENVIRONMENT_PREPARATION,
      new ShellScriptPhaseCommand('scripts/codeartifact-login.sh'),
    ])

Awesome, what a crazy response time. 😄
I think that's going to work. I was thinking about overriding the CodeBuildFactoryProvider but wanted to check before spending hours of deep diving into your source code. I will check tomorrow and close it if it works.

@ArneOttenVW I did a small update to the example above as we introduce 2 new params for the generateRolePolicies() (I have mentioned them in the updated release note too).
Please let me know if the example above works so I can close this issue. Thanks in advance 😊

Thank you very much @gmuslia, that part works great! I will continue testing in the coming days.

@ArneOttenVW please check again, I added a missing param which was introduced in V0.1.2 (installCommands: context.get(GlobalResources.PHASE).getCommands(PipelinePhases.INITIALIZE)
Without this your overriding of the codeartifact-login.sh wont work. Check it and let me know.

I was just about to reopen this because I noticed that my defined phases were missing. Your fix sets the defined commands for the install phase correctly but when I define an additional phase, it is missing.
This sets the scripts in the install phase but the pre_build phase is missing.
[...]
        } ({
          resAccount: context.blueprintProps.deploymentDefinition.RES.env.account,
          vpc,
          proxyConfig,
          npmRegistry: context.blueprintProps.npmRegistry,
          codeBuildEnvSettings: context.blueprintProps.codeBuildEnvSettings,
          parameterProvider,
          applicationQualifier: context.blueprintProps.applicationQualifier,
          region: context.blueprintProps.deploymentDefinition.RES.env.region,
          installCommands: context.get(GlobalResources.PHASE).getCommands(PipelinePhases.INITIALIZE),
        });
      },
    })
    .definePhase(PipelinePhases.INITIALIZE, [
      PhaseCommands.CONFIGURE_HTTP_PROXY,
      PhaseCommands.ENVIRONMENT_PREPARATION,
      PhaseCommands.NPM_LOGIN,
    ])
    .definePhase(PipelinePhases.PRE_BUILD, [
      PhaseCommands.VALIDATE
    ])
    .synth(app);

And when I add the the PRE_BUILD phase to the installCommands array, it just adds the commands definded in the pre_build phase to the install phase:
[...]
        } ({
          resAccount: context.blueprintProps.deploymentDefinition.RES.env.account,
          vpc,
          proxyConfig,
          npmRegistry: context.blueprintProps.npmRegistry,
          codeBuildEnvSettings: context.blueprintProps.codeBuildEnvSettings,
          parameterProvider,
          applicationQualifier: context.blueprintProps.applicationQualifier,
          region: context.blueprintProps.deploymentDefinition.RES.env.region,
          installCommands:[
            context.get(GlobalResources.PHASE).getCommands(PipelinePhases.INITIALIZE),
            context.get(GlobalResources.PHASE).getCommands(PipelinePhases.PRE_BUILD),
          ]
        });
      },
    })
    .definePhase(PipelinePhases.INITIALIZE, [
      PhaseCommands.CONFIGURE_HTTP_PROXY,
      PhaseCommands.ENVIRONMENT_PREPARATION,
      PhaseCommands.NPM_LOGIN,
    ])
    .definePhase(PipelinePhases.PRE_BUILD, [
      PhaseCommands.VALIDATE
    ])
    .synth(app);

buildspec result:
"phases": {
    "install": {
      "commands": [
        "export HTTP_PROXY=\"http://$PROXY_USERNAME:$PROXY_PASSWORD@$PROXY_DOMAIN:$HTTP_PROXY_PORT\"",
        "export HTTPS_PROXY=\"https://$PROXY_USERNAME:$PROXY_PASSWORD@$PROXY_DOMAIN:$HTTPS_PROXY_PORT\"",
        "echo \"--- Proxy Test ---\"",
        "curl -Is --connect-timeout 5 https://my-proxy-test.com | grep \"HTTP/\"",
        [
          "bash_command=$[...] // Docker proxy
          "bash_command=$[...] // Warming
          "bash_command=$[...] // npm login
        ],
        [
          "npm run validate"
        ]
      ]
    },

Or is this intentional?

@ArneOttenVW please dont add it into the installCommands the PRE_BUILD and installCommands is just an array and as you see there you passed an array of arrays (we dont have any checks so far hence you have that behavior).
Check it out and let me know.

But yes you are right, the PRE_BUILD actually puts them in the BUILD and not in the PRE_BUILD of the Synth, see below:

So in other words we have another mapping we use and this is due to the jsii:

INITIALIZE => INSTALL
PRE_BUILD => BUILD
other phases stay as they are

In case there are more concerns please feel free to open a new issue, will be closing this one. Thank you


Validation not called for custom FieldExtension with type object when using v1beta3 template api

Expected Behavior
Custom validation should be called for custom FieldExtension with type object
Current Behavior
Custom validation was not called for custom FieldExtension with type object
Possible Solution

Not a solution but some investigation
The fields show up ok but validation is never called when I move next on the form, I had a look at the code https://github.com/backstage/backstage/blob/master/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx#L81
Seems like it will never reach to the part where it will call the validator for the ui-field as the result will be considered object at if (isObject(propData)) { on line https://github.com/backstage/backstage/blob/master/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx#L81
and then would not go further because of if (!isObject(schemaProps)) { https://github.com/backstage/backstage/blob/master/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx#L74, I tried to get around it but providing properties like below but then it tries to do their schema validation instead of the ui-field custom validation
  parameters:
    - title: Provide Component Details
      required:
        - repoInfo
        - description
      properties:
        repoInfo:
          title: Unique name of the component
          type: object
          ui:field: RepoUrlPickerCustom
          properties:
            workspace:
              type: string
              title: workspace
              description: The workspace
            project:
              type: string
              title: project
              description: The project
            repo:
              type: string
              title: repo
              description: The repo

Steps to Reproduce
https://backstage.io/docs/features/software-templates/writing-custom-field-extensions

Create a custom FieldExtension RepoUrlPickerCustom, a copy of RepoUrlPicker
Use the object type in FieldProps

export const RepoUrlPickerCustom = ({
  onChange,
  rawErrors,
  formData,
}: FieldProps<{ workspace: string, project: string, repo: string }>) => {

Create a custom validator RepoUrlPickerCustomValidation, a copy of validation for RepoUrlPicker
Register the FieldExtension

export const RepoUrlPickerCustomFieldExtension = plugin.provide(
    createScaffolderFieldExtension({
        name: 'RepoUrlPickerCustomExtension',
        component: RepoUrlPickerCustom,
        validation: RepoUrlPickerCustomValidation,
    }),
);

Add parameter with ui:field in the template

  parameters:
    - title: Provide Component Details
      required:
        - repoInfo
        - description
      properties:
        repoInfo:
          title: Unique name of the component
          type: object
          ui:field: RepoUrlPickerCustom

In the frontend template form, click next without adding anything for fields in RepoUrlPickerCustom. The form moves to next stage instead of calling the RepoUrlPickerCustomValidation

Context
Trying to create a custom UI component in the form which can have multiple fields depend on each other and perform validation accordingly, and be able to use the object for multiple values instead of a single string.

Your Environment

NodeJS Version (v14): v14.18.1
Operating System and Version (e.g. Ubuntu 14.04): Windows 10 20H2 ( OS Build 19042.1288)
Browser Information: Google Chrome - Version 96.0.4664.45 (Official Build) (64-bit)

On my list!

Validation is not called because object typed are used to make kind of nested values.
I have just provided this PR to allow validation when records are typed object, when 'ui:field' is filled and validator exists for it.
https://github.com/backstage/backstage/pull/11176


Figure out what is going on with the NSFetchedResultsController cache

See
the call to  [NSFetchedResultsController deleteCacheWithName:nil];
Can be reproduced by:

using this test app.
comment out the call above
modify the store somehow

you can just change a quantity in an ingredient

quit the app
restart the app

The list appears to be empty.
What is happening?
In
RecipeListTableViewController.m:224 the line:
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];

creates a cache file that (amongs other things) keeps the section and
row counts of the all the tables. This occurs at RecipeListTableViewController.m:107.
For some reason, on a relaunch it
reports that the section and row sizes are 0.
The current fix is to  just blow away all the caches so that this information is regenerated.

On this page we find the following note:

If you are using a cache, you must call deleteCacheWithName: before changing any of the fetch
request, its predicate, or its sort descriptors. You must not reuse the same fetched results controller
for multiple queries unless you set the cacheName to nil.

This means that we need to flush the cache before the first fetch since the backing store could be completely different.


About ProxyConnection.close called in multiple concurrent thread

if ProxyConnection.close method called in multiple concurrent threads, what will happen? One connection maybe recycled multiple times?

Of course not.


Updating Spek tests

JUnit platform Gradle plugin is deprecated as of 1.2.0 and Spek2 seems to rely on other APIs.
@Jkly Would you attempt updating or rewriting Spek tests in the ktx-ashley module? I don't mind updating to Spek2 release candidate or going with a different testing framework altogether.

Sure I can take a look - I think it should be a case of using the built-in Junit platform now in Gradle (if you don't mind if we stay on Spek 1 for now).

This is OK.

Thanks @Jkly.


Changed stream sequence counter from uint32 to uint64 + Enabled E2E tests with ServiceInvocationStreaming

In operations that send data using chuks over a gRPC stream (e.g. stream-based service invocation, and the high-level crypto I'm working on), each chunk contains a counter that needs to be increasing on each invocation.
That counter was defined as uint32, which meant that, with the default chunk size of 2KB, the max message that could be sent was 8TB. Changing to uint64 increases the max message size to much more than we could ever need.
The good news is that this is not a breaking change because protobuf encodes both uint32 and uint64 in a variable-length format so they're compatible on the wire. This change is thus forwards- and backwards-compatible (although messages larger than 8TB will fail when sent to a Dapr 1.10 sidecar).
Additionally, this PR enables E2E tests with the ServiceInvocationStreaming feature on, so tests for service invocation run with both streaming and without.

In operations that send data using chuks over a gRPC stream (e.g. stream-based service invocation, and the high-level crypto I'm working on), each chunk contains a counter that needs to be increasing on each invocation.

That counter was defined as uint32, which meant that, with the default chunk size of 2KB, the max message that could be sent was 8TB. Changing to uint64 increases the max message size to much more than we could ever need.

The good news is that this is not a breaking change because protobuf encodes both uint32 and uint64 in a variable-length format so they're compatible on the wire. This change is thus forwards- and backwards-compatible (although messages larger than 8TB will fail when sent to a Dapr 1.10 sidecar).

https://protobuf.dev/programming-guides/proto3/#updating

/ok-to-test


Transactions search

Is it possible to search transactions where bitcoin was sent to a particular wallet? If no, where is the best place to ask for a feature request for the api?

@jorilallo does this mean this is not happening or has it been done?

@ilyakatz I cleaned old issues for the new release (APIv2). Unfortunately we don't have TX search yet but we're planning to add it later. I'll have a note about this in our internal systems and I'll keep this closed as this issue isn't really related to one specific client library. Please subscribe to our developer blog for updates on this

@ilyakatz Small update: I added a new endpoint to get transactions for a specific address: https://developers.coinbase.com/api/v2#list-address39s-transactions This has also been added to our new ruby gem (4.0.3)

nice, thank you!


AMQP-619: Populate Bean CL into JSON converters

JIRA: https://jira.spring.io/browse/AMQP-619
Previously DefaultJackson2JavaTypeMapper used getClass().getClassLoader() to load class by its name from MessageProperties.
Sometimes it causes problems if we are based on the reloadable context like Spring Boot DevTools.

Implement BeanClassLoaderAware in the AbstractJavaTypeMapper and AbstractJsonMessageConverter
Delegate classLoader from the AbstractJsonMessageConverter bean to its internal AbstractJavaTypeMapper instance
Use populated classLoader to instantiate classes for Type MessageProperties
Add mock test to verify that BeanClassLoader is populated into internal AbstractJavaTypeMapper

The solution verified with provided in the JIRA application via local artifacts install

Note, the fix isn't compatible with 1.5.x: the Jackson2JsonMessageConverter.typeMapperSet has been introduced in 1.6.
So, maybe we can revise it on demand?

Merged as 0e042b0cc232125b2ee889de98c93d8922aa4fca with this polish.


Error Custom Authorization Version=<IP_ADDRESS>

public static Task<bool> AuthorizeAsync(this IAuthorizationService service, ClaimsPrincipal user, Permission permission, object resource)
        {
            return service.AuthorizeAsync(user, resource, new PermissionRequirement(permission));
        }

I want to return bool values instead of AuthorizationResult

This changed from 1.x as part of a big re-design of how auth works.
You should be able to do this:
var result = await service.AuthorizeAsync(user, resource, new PermissionRequirement(permission));
return result.Succeeded;