[Bug!] Camera feed is not working

Please check existing (open or closed) issues before creating a new one. (https://github.com/fuatakgun/eufy_security/issues?q=is%3Aissue+)
If this is not an issue, you can use Discussions (https://github.com/fuatakgun/eufy_security/discussions) section.
Describe the bug
I've reinstalled the official HA eufy security camera ws-addon through HACS followed by installation of the Eufy Security integration. Although nearly all of my entities work, my camera feed entity ("camera.right_side") is not streaming  (although it is enabled). All I get is a still image.
I do not have WebRTC installed because  I was only able to view my streams while inside my local network. However, I want remote access to my camera feeds. Is not having WebRTC installed the reason why my stream does not work (the previous integration worked without WebRTC) for this add-on or is it something else?
To reproduce
Steps to reproduce the behavior:

I go to my card with the camera entity (in this case "camera.right_side") and I just get a still image

Expected behavior
A clear and concise description of what you expected to happen.
I would expect the camera feed to update in real time. But it does not.
Additional information
Go to Settings -> System -> Repairs -> Click on 3 dots (...) -> System Information and get Version and Installation Type to below fields;
Home Assistant Installation Type (OS - Supervised - Core): Home Assistant OS 11.2, supervisor-2023.12.0
Home Assistant Core Version: core-2023.12.3
Eufy Security Add-on Version:  eufy-security-ws (1.7.1)
Eufy Security Integration Version:  latest version
Hardware Information;

Camera Model:
Eufy Security Solocam S40

Live Streaming Protocol (RTSP/P2P):
RTSP although (apparently) I am unable to extract the RTSP stream URL for this particular model.

Debug Logs from Home Assistant (https://github.com/fuatakgun/eufy_security/discussions/624) - Without this, I will automatically resolve this issue

Logs from Eufy Security Add-on (either from Add-ons page of Home Assistant or Docker output):

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
2023-12-21 15:50:29.710  INFO  Eufy Security server listening on host <IP_ADDRESS>, port 3000
2023-12-21 15:50:33.697  INFO  Push notification connection successfully established
2023-12-21 15:50:52.035  WARN Tried all hosts, no connection could be established to station T8124P20222203B2.
2023-12-21 15:50:52.037  INFO  Timeout connecting to station T8124P20222203B2
2023-12-21 15:51:06.406  INFO  Connected to station T8124P20222203B2 on host <IP_ADDRESS> and port 23398
2023-12-21 15:51:37.100  INFO  Initiated closing of connection to station T8124P20222203B2 for saving battery.
2023-12-21 15:51:37.102  INFO  Disconnected from station T8124P20222203B2
2023-12-21 15:55:43.285  INFO  Client disconnected with ip: <IP_ADDRESS> port: 50836 code: 1000 reason: Normal Closure
2023-12-21 15:56:25.312  INFO  Connected to station T8124P20222203B2 on host <IP_ADDRESS> and port 11434
2023-12-21 15:57:45.732  INFO  Client disconnected with ip: <IP_ADDRESS> port: 44108 code: 1006 reason: Abnormal Closure
2023-12-21 15:58:15.940  INFO  Initiated closing of connection to station T8124P20222203B2 for saving battery.
2023-12-21 15:58:15.942  INFO  Disconnected from station T8124P20222203B2
2023-12-21 16:00:52.876  WARN Tried all hosts, no connection could be established to station T8124P20222203B2.
2023-12-21 16:00:52.879  INFO  Timeout connecting to station T8124P20222203B2
2023-12-21 16:01:13.003  WARN Tried all hosts, no connection could be established to station T8124P20222203B2.
2023-12-21 16:01:13.004  INFO  Timeout connecting to station T8124P20222203B2
2023-12-21 16:01:23.374  INFO  Connected to station T8124P20222203B2 on host <IP_ADDRESS> and port 18506
2023-12-21 16:01:54.289  INFO  Initiated closing of connection to station T8124P20222203B2 for saving battery.
2023-12-21 16:01:54.290  INFO  Disconnected from station T8124P20222203B2
2023-12-21 16:08:52.592  WARN Tried all hosts, no connection could be established to station T8124P20222203B2.
2023-12-21 16:08:52.593  INFO  Timeout connecting to station T8124P20222203B2
2023-12-21 16:09:06.995  INFO  Connected to station T8124P20222203B2 on host <IP_ADDRESS> and port 25389
2023-12-21 16:09:46.796  INFO  Initiated closing of connection to station T8124P20222203B2 for saving battery.
2023-12-21 16:09:46.798  INFO  Disconnected from station T8124P20222203B2
2023-12-21 16:18:34.035  INFO  Connected to station T8124P20222203B2 on host <IP_ADDRESS> and port 19143
2023-12-21 16:19:05.022  INFO  Initiated closing of connection to station T8124P20222203B2 for saving battery.
2023-12-21 16:19:05.026  INFO  Disconnected from station T8124P20222203B2
2023-12-21 16:21:21.420  INFO  Client disconnected with ip: <IP_ADDRESS> port: 55584 code: 1000 reason: Normal Closure
2023-12-21 16:21:24.605  INFO  Client disconnected with ip: <IP_ADDRESS> port: 48490 code: 1000 reason: Normal Closure
2023-12-21 16:22:38.343  INFO  Client disconnected with ip: <IP_ADDRESS> port: 48492 code: 1000 reason: Normal Closure
2023-12-21 16:22:41.191  INFO  Client disconnected with ip: <IP_ADDRESS> port: 56494 code: 1000 reason: Normal Closure
2023-12-21 16:23:17.747  INFO  Client disconnected with ip: <IP_ADDRESS> port: 56496 code: 1000 reason: Normal Closure
2023-12-21 16:23:35.497  INFO  Client disconnected with ip: <IP_ADDRESS> port: 40990 code: 1000 reason: Normal Closure
2023-12-21 16:27:48.088  INFO  Client disconnected with ip: <IP_ADDRESS> port: 41000 code: 1000 reason: Normal Closure
2023-12-21 16:28:38.713  INFO  Connected to station T8124P20222203B2 on host <IP_ADDRESS> and port 11345
2023-12-21 16:29:09.256  INFO  Initiated closing of connection to station T8124P20222203B2 for saving battery.
2023-12-21 16:29:09.260  INFO  Disconnected from station T8124P20222203B2
2023-12-21 16:29:37.636  INFO  Client disconnected with ip: <IP_ADDRESS> port: 48162 code: 1000 reason: Normal Closure
2023-12-21 16:43:50.775  INFO  Client disconnected with ip: <IP_ADDRESS> port: 46274 code: 1000 reason: Normal Closure
2023-12-21 16:44:46.863  INFO  Client disconnected with ip: <IP_ADDRESS> port: 55206 code: 1000 reason: Normal Closure
2023-12-21 16:48:43.918  INFO  Client disconnected with ip: <IP_ADDRESS> port: 41788 code: 1000 reason: Normal Closure
2023-12-21 16:49:00.018  INFO  Client disconnected with ip: <IP_ADDRESS> port: 59880 code: 1000 reason: Normal Closure
2023-12-21 16:50:15.224  INFO  Client disconnected with ip: <IP_ADDRESS> port: 59844 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.788  INFO  Client disconnected with ip: <IP_ADDRESS> port: 56466 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.800  INFO  Client disconnected with ip: <IP_ADDRESS> port: 49354 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.803  INFO  Client disconnected with ip: <IP_ADDRESS> port: 49380 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.805  INFO  Client disconnected with ip: <IP_ADDRESS> port: 59856 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.807  INFO  Client disconnected with ip: <IP_ADDRESS> port: 56478 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.810  INFO  Client disconnected with ip: <IP_ADDRESS> port: 49402 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.812  INFO  Client disconnected with ip: <IP_ADDRESS> port: 59866 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.814  INFO  Client disconnected with ip: <IP_ADDRESS> port: 49376 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.816  INFO  Client disconnected with ip: <IP_ADDRESS> port: 59838 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.819  INFO  Client disconnected with ip: <IP_ADDRESS> port: 49370 code: 1006 reason: Abnormal Closure
2023-12-21 17:30:01.821  INFO  Client disconnected with ip: <IP_ADDRESS> port: 49392 code: 1006 reason: Abnormal Closure
2023-12-21 17:31:34.207  INFO  Client disconnected with ip: <IP_ADDRESS> port: 53766 code: 1000 reason: Normal Closure
2023-12-21 17:33:49.442  INFO  Client disconnected with ip: <IP_ADDRESS> port: 45556 code: 1006 reason: Abnormal Closure
======================================
And from Home Assistant:
Logger: homeassistant.components.camera
Source: components/camera/init.py:846
Integration: Camera (documentation, issues)
First occurred: 11:00:32 AM (32 occurrences)
Last logged: 11:31:16 AM
Error requesting stream: camera.right_side_2 does not support play stream service
Error requesting stream: camera.right_side does not support play stream service

Would you share your device with me in case further debugging required? (Yes/No):

I may consider this as a last resort
Additional context
I think that is everything. Thank you for your help in advance!

Same issue here. Any ideas?


what to do if a software is not updated in the database?

Neovim -- now 0.3.5 available, but the one in the database is still 0.3.4.
In general are users suppose to submitted info for software update?
How are these mechanisms managed?

In general are users suppose to submitted info for software update?
How are these mechanisms managed?

It depends, but most apps in official buckets have an autoupdate mechanism which can be triggered by the bucket maintainers or with bots.

Should be closed now.

@xarthurx
please checkout this step:
scoop bucket add neovim-dev https://github.com/wsdjeg/scoop-neovim-dev.git
scoop install neovim-dev


Windows implementations of containsKey, readAll and deleteAll

This PR includes Windows implementations of readAll and deleteAll operations.
In the example folder, I have to specify in pubspec.yaml to override flutter_secure_storage_windows to use the package locally instead of pulling from pub.dev, because local changes aren't be reflected in the example app otherwise. If this should be the desired behavior, all flutter_secure_storage_* dependencies should point to local folders as well.
For containsKey implementation, since read returns null when the given key doesn't exist in storage, implementing it in Dart should be sufficient:
Edit: @jhancock4d made a good point that null checks aren't sufficient to determine whether a value exists in storage. This PR will also include containsKey implementation.

In the example folder, I have to specify in pubspec.yaml to override flutter_secure_storage_windows to use the package locally instead of pulling from pub.dev, because local changes aren't be reflected in the example app otherwise. If this should be the desired behavior, all flutter_secure_storage_* dependencies should point to local folders as well.

Well, this is not how federated plugins work when publishing. Every platform integration has a separate pub.dev entry and as such, it can't point to a local dependency. When developing on a federated plugin, it is indeed necessary to use the separate packages locally. However when merging and submitting this for pub.dev (and for this repository) the correct way is to bump the version of the package you have edited and add a changelog entry with the changes you made. When this is merged, i can first upload the changed platform integration, and after that update the example app with the new version number we just uploaded.
So in short: You should bump windows version from 1.0.0 to 1.1.0 (new feature, otherwise it would be 1.0.1) and add to the changelog what you have added.


files not saving to BASE_AUTO_GPT fix

I was having trouble finding the files that AutoGPTCommands was saving. I had understood BASE_AUTO_GPT to be the directory where it was saving and still couldn't find it.
So I took a look in the code and found some issues.
my .env file
OPENAI_API_KEY=my-key-here
#ELEVENLABS_API_KEY=your-elevenlabs-api-key
FAST_LLM_MODEL="gpt-3.5-turbo"
SMART_LLM_MODEL="gpt-3.5-turbo"
#GOOGLE_API_KEY=your-search-api-key
#CUSTOM_SEARCH_ENGINE_ID=your-custom-search-engine-id
SEARX_URL=http://my-searchx-server-here.com
SEARX_USERNAME=''
SEARX_PASSWORD=''
BASE_AUTO_GPT=/root/AutoGPTCommands/auto_gpt_workspace

So the entire time I was looking for it inside of /root/AutoGPTCommands/auto_gpt_workspace but it wasn't there.
I did eventually find that it was saving inside of the scripts folder. Seemed weird because then what was the point of my BASE_AUTO_GPT variable.
Inside of the file scripts/file_operations.py, I noticed that the functions:
read_file_lines(filename, start_line, end_line, text, allow_outside=False)
write_to_file(filename, text, allow_outside=False)
append_to_file(filename, text, allow_outside=False)
all had these lines inside:
# scripts/file_operations.py
if allow_outside:
    filepath = os.path.join("/home/dev/Auto-GPT/", filename)
else:
    filepath = safe_join(working_directory, filename)

That filepath here is hardcoded when it shouldn't be. I noticed that in the function:
read_file(filename, allow_outside=False)
it had our variable of base_auto_gpt that held our environment variable BASE_AUTO_GPT
So I changed the other functions to follow suit.
When I ran the AI again, I noticed that it still didn't save anything to my BASE_AUTO_GPT directory unless I changed allowed_outside to True. However, just to avoid any issues by doing that I looked at the functions that were calling the above functions and added these lines to the top of scripts/commands.py:
# scripts/commands.py
# import functions here
# ....

cfg = Config() # was already here didn't add this.

# added these
base_auto_gpt = os.environ.get('BASE_AUTO_GPT')
allow_outside = False
if base_auto_gpt: allow_outside = True

# all other code below ...
# ...

# I then added the allow_outside variable below like so inside the existing `execute_command`
def execute_command(command_name, arguments):
# ....
# ...
    elif command_name == "read_file":
        return read_file(arguments["file"], allow_outside=allow_outside
    elif command_name == "write_to_file":
        return read_file(arguments["file"], arguments["text"], allow_outside=allow_outside
    elif command_name == "append_to_file":
        return read_file(arguments["file"], arguments["text"] allow_outside=allow_outside
# ...

This then solved my issue and started saving all my output logs by AutoGPTCommands inside the directory I wanted to use in the BASE_AUTO_GPT variable for .env
BASE_AUTO_GPT doesn't have to be set now. The code will still work and just default to placing the output files inside of scripts/auto_gpt_workspace as its default location if BASE_AUTO_GPT is missing.
Hope this helps.

Thank you so much. Sorry about that oversight: due to the mess that AutoGPT was, and my strong desire to make it as easy as possible on the user, I guess I ended up with some redundancy.
My bad for not allowing the PR sooner - I was busy with life, etc.
Thanks again!!


Can't build for wasm target

cargo build --lib --target "wasm32-unknown-unknown"

With rusqlite = {version = "0.24.1", features = ["bundled"]}:
cargo:warning=sqlite3/sqlite3.c:14012:10: fatal error: 'stdio.h' file not found

with rusqlite = {version = "0.24.1"}:
rust-lld: error: unable to find library -lsqlite3

It also happens with 0.23.1.

I think the only wasm target we currently support is wasm32-wasi, although I could be mistaken. @gwenn or @TjeuKayim (who added support for wasm32-wasi) might know.

Compiling Rust that depends on C stdlib to WebAssembly is not possible with wasm32-unknown-unknown. So you need to use WASI or Emscripten to compile SQLite and link it to rusqlite. https://github.com/rustwasm/team/issues/291#issuecomment-645482430

I have the same pb with cargo build --lib --target "wasm32-wasi"

Try to install wasi-sdk and set linker environment variables as explained at https://doc.rust-lang.org/nightly/nightly-rustc/rustc_target/spec/wasm32_wasi/index.html.
Enable these feature in Cargo.toml to use a simple SQLite VFS that is compatible with WASI:
[dependencies.rusqlite]
features = ["bundled", "wasm32-wasi-vfs"]

This is an example for Ubuntu to compile a project depending on rusqlite to WebAssembly:
sudo apt install libtinfo5
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-11/wasi-sdk_11.0_amd64_ubuntu20.04.deb
sudo dpkg -i wasi-sdk_11.0_amd64_ubuntu20.04.deb
rm wasi-sdk_11.0_amd64_ubuntu20.04.deb
export CC_wasm32_wasi=/opt/wasi-sdk/bin/clang
export CARGO_TARGET_WASM32_WASI_LINKER=/opt/wasi-sdk/bin/clang
RUSTFLAGS="-C target-feature=-crt-static" cargo build --lib --target "wasm32-wasi"

I downloaded the sdk and set the env variables but it still complains about not finding clang... ok, this and Emscripten seem a bit complicated for what I had in mind, so I'm out, until/if it becomes "easy".

The error unknown argument: --eh-frame-hdr is probably caused by this regression in Rust v1.46.0 https://github.com/rust-lang/rust/issues/76679. Please try the current nightly version and try to downgrade to Rust v1.45.2. Indicate whether you get an error like wasm-ld: error: std-...-cgu.0.rcgu.o: Bad relocation type.

with v1.49.0-nightly :
error: linking with `/opt/wasi-sdk/bin/clang` failed: exit code: 1
= note: clang-10: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
        wasm-ld: error: std-396bcc707196f8c0.std.4bx4mcr6-cgu.0.rcgu.o: Bad relocation type:
        clang-10: error: linker command failed with exit code 1 (use -v to see invocation)

with v1.45.2
error: linking with `/opt/wasi-sdk/bin/clang` failed: exit code: 1
  = note: clang-10: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
          wasm-ld: error: entry symbol not defined (pass --no-entry to supress): _start
          clang-10: error: linker command failed with exit code 1 (use -v to see invocation)

I'd recommend to use Rust v1.45.2 until the regression is fixed.
WASI expects a main/start function. You can either convert your cargo project from a lib to a bin, or use RUSTFLAGS='-C target-feature=-crt-static -C link-arg=-nostartfiles -C link-arg=-Wl,--no-entry to leave out the start symbol.
Currently, it is a hassle to compile rusqlite to WebAssembly, but it is doable. I've created two web applications with it, and they ran faster than I expected. SQLite is not really optimized for binary size though, so the WASM file is around 2MB.

Thx, the compilation works for me with Rust v1.45.2.
is it possible to import in JS the functions from the .wasm (like wasm-pack for wasm32-unknown-unknown) ?

Nice, you got it compiled. Importing/exporting functions between Rust and JS is possible with WASI, just like the wasm32-unknown-unknown target. I've written manual bindings without JS dependencies. You can also use https://github.com/wasmerio/wasmer-js to run WASI modules in a browser. There should be a way to use tools like wasm-pack to generate the glue code, but I'm unaware of one.
I don't know about your use case, but you probably want to pass a SQLite DB file in or out of the WebAssembly module?

I want to test rusqlite with nodejs by passing a filename to rust.
For the moment, I'm using wasmer-js to run the wasm file but now I have SqliteFailure(Error { code: CannotOpen, extended_code: 14 } perhaps a problem with my FS bindings ...

Hi! I've also managed to compile the wasm file by using running CARGO_TARGET_WASM32_WASI_LINKER=/home/saber/.local/workspace/repos/taskoo/taskoo-core/wasi-sdk-12.0/bin/lld CFLAGS="--sysroot=/opt/wasi-sdk/wasi-sysroot" cargo build --target=wasm32-wasi --lib --verbose , however the the file seems to be broken.
➜  haha git:(master) ✗ file target/wasm32-wasi/debug/haha.wasm
target/wasm32-wasi/debug/haha.wasm: ERROR: Bad magic format `version %#x (MVP)' (bad format char: #)

Any thoughts on this?

What runtime did you use? The .wasm file is not a Linux executable, but can be run with tools like https://wasmtime.dev/

Actually I guess the Bad magic format isn't a big deal. I think I've compiled it correctly, although I still haven't figured out how to run the code. I'd like to use it in browser.

Try this tutorial to run your app in a browser: https://docs.wasmer.io/integrations/js/wasi/browser/examples/hello-world

Thanks! Do you think I need to use wasm-bindgen to generate the glue code to be able to use that?

No, you don't need wasm-bindgen, it doesn't have out-of-the-box support for WASI, see https://github.com/rustwasm/wasm-bindgen/pull/2209
I've manually written the glue code for a web app to use rusqlite, so that's possible.

Just to make sure I understand it correctly. It sounds like I can't use the wasm-bindgen cli to generate the glue code for a wasm file. Can I still use it as the rust library to export methods?
Also manually writing the glue code seems a lot of work. It'd be great we have some examples.

@TjeuKayim After setting the wasi-sdk configuration, it still prompts that stdio.h file cannot be found

Hi @passchaos , Can you provide some more details? Like what features you use in Cargo.toml for the rusqlite dependency.

Hi @passchaos , Can you provide some more details? Like what features you use in Cargo.toml for the rusqlite dependency.

rusqlite = { version = "0.24.2", features = ["bundled", "wasm32-wasi-vfs"] }

That seems fine. Are you using a similar cargo build command as in https://github.com/rusqlite/rusqlite/issues/827#issuecomment-717349014, and targeting wasm32-wasi?

@passchaos Also make sure you used wasi-sdk 10. I tried 11 and 12 in the past, and none of the them worked for me.

@TjeuKayim @sefeng211 After sysroot is set, it can be compiled normally. However, an error is reported in the final link process. The error is "wasm-ld: error: unable to find library -lc". Wasi-sdk-10 and wasi-sdk-12 are both tried

@TjeuKayim @sefeng211 I tried to use different versions of wasi-sdk, but it did't work in the way mentioned above.
Finally, i changed libsqlite3-sys/build.rs, change the include attibute to the header file path of wasi-sdk, so that after the change, you can use cargo build --target=wasm32-wasi directly without setting any other environment variables.

Finally, i changed libsqlite3-sys/build.rs, change the include attibute to the header file path of wasi-sdk

So, did you succeed in compiling rusqlite with hard coding the wasi-sdk path in build.rs?

Finally, i changed libsqlite3-sys/build.rs, change the include attibute to the header file path of wasi-sdk

So, did you succeed in compiling rusqlite with hard coding the wasi-sdk path in build.rs?

Yes, but just set the header file path

Hey, what's the update on this? I'd like to push to get this done as it would help out on a project to have WASM bindings for sqlite. I'd be happy to help in any way

I'm also struggling with this one.  I either get the OP's error "rust-lld: error: unable to find library -lsqlite3" when building my crate, or if I enabled the "bundled" feature, or try to build rusqlite directly using cargo build --features bundled --target wasm32-wasi, I get an error while building libsqlite3-sys:
error: failed to run custom build command for `libsqlite3-sys v0.22.2 (/home/vdods/files/github/rusqlite/rusqlite/libsqlite3-sys)`

Caused by:
  process didn't exit successfully: `/home/vdods/files/git/code/misc/rustplayground/sqlite_delta_log_2/target/debug/build/libsqlite3-sys-4267f5c168eaedcc/build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-changed=sqlite3/sqlite3.c
  cargo:rerun-if-changed=sqlite3/wasm32-wasi-vfs.c
  cargo:rerun-if-env-changed=SQLITE_MAX_VARIABLE_NUMBER
  cargo:rerun-if-env-changed=SQLITE_MAX_EXPR_DEPTH
  cargo:rerun-if-env-changed=LIBSQLITE3_FLAGS
  TARGET = Some("wasm32-wasi")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_wasm32-wasi = None
  CC_wasm32_wasi = None
  TARGET_CC = None
  CC = None
  CFLAGS_wasm32-wasi = None
  CFLAGS_wasm32_wasi = None
  TARGET_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  running: "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-o" "/home/vdods/files/git/code/misc/rustplayground/sqlite_delta_log_2/target/wasm32-wasi/debug/build/libsqlite3-sys-813fca2add87e1a6/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c"
  cargo:warning=In file included from sqlite3/sqlite3.c:26539:
  cargo:warning=/usr/include/pthread.h:682:6: error: 'regparm' is not valid on this platform
  cargo:warning=     __cleanup_fct_attribute;
  cargo:warning=     ^~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=/usr/include/bits/pthreadtypes-arch.h:103:50: note: expanded from macro '__cleanup_fct_attribute'
  cargo:warning=# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
  cargo:warning=                                                 ^            ~
  cargo:warning=In file included from sqlite3/sqlite3.c:26539:
  cargo:warning=/usr/include/pthread.h:694:3: error: 'regparm' is not valid on this platform
  cargo:warning=  __cleanup_fct_attribute;
  cargo:warning=  ^~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=/usr/include/bits/pthreadtypes-arch.h:103:50: note: expanded from macro '__cleanup_fct_attribute'
  cargo:warning=# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
  cargo:warning=                                                 ^            ~
  cargo:warning=In file included from sqlite3/sqlite3.c:26539:
  cargo:warning=/usr/include/pthread.h:717:6: error: 'regparm' is not valid on this platform
  cargo:warning=     __cleanup_fct_attribute;
  cargo:warning=     ^~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=/usr/include/bits/pthreadtypes-arch.h:103:50: note: expanded from macro '__cleanup_fct_attribute'
  cargo:warning=# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
  cargo:warning=                                                 ^            ~
  cargo:warning=In file included from sqlite3/sqlite3.c:26539:
  cargo:warning=/usr/include/pthread.h:730:3: error: 'regparm' is not valid on this platform
  cargo:warning=  __cleanup_fct_attribute;
  cargo:warning=  ^~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=/usr/include/bits/pthreadtypes-arch.h:103:50: note: expanded from macro '__cleanup_fct_attribute'
  cargo:warning=# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
  cargo:warning=                                                 ^            ~
  cargo:warning=In file included from sqlite3/sqlite3.c:26539:
  cargo:warning=/usr/include/pthread.h:735:6: error: 'regparm' is not valid on this platform
  cargo:warning=     __cleanup_fct_attribute __attribute__ ((__noreturn__))
  cargo:warning=     ^~~~~~~~~~~~~~~~~~~~~~~
  cargo:warning=/usr/include/bits/pthreadtypes-arch.h:103:50: note: expanded from macro '__cleanup_fct_attribute'
  cargo:warning=# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
  cargo:warning=                                                 ^            ~
  cargo:warning=5 errors generated.
  exit code: 1

  --- stderr

  error occurred: Command "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-o" "/home/vdods/files/git/code/misc/rustplayground/sqlite_delta_log_2/target/wasm32-wasi/debug/build/libsqlite3-sys-813fca2add87e1a6/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c" with args "clang" did not execute successfully (status code exit code: 1).

For a more specific way to replicate this, I tried to build rusqlite/libsqlite3-sys (in the libsqlite3-sys crate within the rusqlite workspace) via cargo build --features bundled --target wasm32-wasi and it gave the same error.

I get a different error when trying to build on Fedora 35. If I just run cargo wasi build I get the stdio.h not found as well
(Cargo.toml)
rusqlite = {version = "0.26.3", features=["bundled-full", "wasm32-wasi-vfs"]}

$ cargo wasi build

Caused by:
  process didn't exit successfully: `/home/geewee/programming/edge-api/target/debug/build/libsqlite3-sys-b798e717760d70e2/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=sqlite3/sqlite3.c
  cargo:rerun-if-changed=sqlite3/wasm32-wasi-vfs.c
  cargo:rerun-if-env-changed=SQLITE_MAX_VARIABLE_NUMBER
  cargo:rerun-if-env-changed=SQLITE_MAX_EXPR_DEPTH
  cargo:rerun-if-env-changed=LIBSQLITE3_FLAGS
  TARGET = Some("wasm32-wasi")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_wasm32-wasi = None
  CC_wasm32_wasi = None
  TARGET_CC = None
  CC = None
  CFLAGS_wasm32-wasi = None
  CFLAGS_wasm32_wasi = None
  TARGET_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  running: "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-DSQLITE_ENABLE_UNLOCK_NOTIFY" "-o" "/home/geewee/programming/edge-api/target/wasm32-wasi/debug/build/libsqlite3-sys-a108609a6c19d418/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c"
  cargo:warning=sqlite3/sqlite3.c:13699:10: fatal error: 'stdio.h' file not found
  cargo:warning=#include <stdio.h>
  cargo:warning=         ^~~~~~~~~
  cargo:warning=1 error generated.
  exit status: 1

  --- stderr

  error occurred: Command "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-DSQLITE_ENABLE_UNLOCK_NOTIFY" "-o" "/home/geewee/programming/edge-api/target/wasm32-wasi/debug/build/libsqlite3-sys-a108609a6c19d418/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c" with args "clang" did not execute successfully (status code exit status: 1).

However if I follow the instructions above for Fedora (slightly modified)
# Install wasi-sdk 12 to local directory
$ export WASI_VERSION=12
$ export WASI_VERSION_FULL=${WASI_VERSION}.0
$ wget "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz"
$ tar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz

Trying to compile with the instructions above
export CC_wasm32_wasi=`pwd`/wasi-sdk-12.0/bin/clang
export CARGO_TARGET_WASM32_WASI_LINKER=`pwd`/wasi-sdk-12.0/bin/clang
RUSTFLAGS="-C target-feature=-crt-static" cargo build --lib --target "wasm32-wasi"

Gives me the exact same error stdio.h not found error.
However if I use the wasi-sysroot as they write in their readme it fails with cannot find pthread.h
export WASI_SDK_PATH=`pwd`/wasi-sdk-12.0
CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SDK_PATH}/share/wasi-sysroot"
export CC_wasm32_wasi=${CC}
export CARGO_TARGET_WASM32_WASI_LINKER=${CC}
RUSTFLAGS="-C target-feature=-crt-static" cargo build --lib --target "wasm32-wasi"

warning: sqlite3/sqlite3.c:27213:10: fatal error: 'pthread.h' file not found
warning: #include <pthread.h>
warning:          ^~~~~~~~~~~
warning: 1 error generated.

error: failed to run custom build command for `libsqlite3-sys v0.23.2`

Caused by:
  process didn't exit successfully: `/home/geewee/programming/edge-api/target/debug/build/libsqlite3-sys-b798e717760d70e2/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=sqlite3/sqlite3.c
  cargo:rerun-if-changed=sqlite3/wasm32-wasi-vfs.c
  cargo:rerun-if-env-changed=SQLITE_MAX_VARIABLE_NUMBER
  cargo:rerun-if-env-changed=SQLITE_MAX_EXPR_DEPTH
  cargo:rerun-if-env-changed=LIBSQLITE3_FLAGS
  TARGET = Some("wasm32-wasi")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_wasm32-wasi = None
  CC_wasm32_wasi = Some("/home/geewee/programming/edge-api/edge-api/wasi-sdk-12.0/bin/clang --sysroot=/home/geewee/programming/edge-api/edge-api/wasi-sdk-12.0/share/wasi-sysroot")
  CFLAGS_wasm32-wasi = None
  CFLAGS_wasm32_wasi = None
  TARGET_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  running: "/home/geewee/programming/edge-api/edge-api/wasi-sdk-12.0/bin/clang" "--sysroot=/home/geewee/programming/edge-api/edge-api/wasi-sdk-12.0/share/wasi-sysroot" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-DSQLITE_ENABLE_UNLOCK_NOTIFY" "-o" "/home/geewee/programming/edge-api/target/wasm32-wasi/debug/build/libsqlite3-sys-a108609a6c19d418/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c"
  cargo:warning=sqlite3/sqlite3.c:27213:10: fatal error: 'pthread.h' file not found
  cargo:warning=#include <pthread.h>
  cargo:warning=         ^~~~~~~~~~~
  cargo:warning=1 error generated.
  exit status: 1

  --- stderr

  error occurred: Command "/home/geewee/programming/edge-api/edge-api/wasi-sdk-12.0/bin/clang" "--sysroot=/home/geewee/programming/edge-api/edge-api/wasi-sdk-12.0/share/wasi-sysroot" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasi" "-DSQLITE_CORE" "-DSQLITE_DEFAULT_FOREIGN_KEYS=1" "-DSQLITE_ENABLE_API_ARMOR" "-DSQLITE_ENABLE_COLUMN_METADATA" "-DSQLITE_ENABLE_DBSTAT_VTAB" "-DSQLITE_ENABLE_FTS3" "-DSQLITE_ENABLE_FTS3_PARENTHESIS" "-DSQLITE_ENABLE_FTS5" "-DSQLITE_ENABLE_JSON1" "-DSQLITE_ENABLE_LOAD_EXTENSION=1" "-DSQLITE_ENABLE_MEMORY_MANAGEMENT" "-DSQLITE_ENABLE_RTREE" "-DSQLITE_ENABLE_STAT2" "-DSQLITE_ENABLE_STAT4" "-DSQLITE_SOUNDEX" "-DSQLITE_THREADSAFE=1" "-DSQLITE_USE_URI" "-DHAVE_USLEEP=1" "-D_POSIX_THREAD_SAFE_FUNCTIONS" "-DHAVE_ISNAN" "-DHAVE_LOCALTIME_R" "-DSQLITE_ENABLE_UNLOCK_NOTIFY" "-o" "/home/geewee/programming/edge-api/target/wasm32-wasi/debug/build/libsqlite3-sys-a108609a6c19d418/out/sqlite3/sqlite3.o" "-c" "sqlite3/sqlite3.c" with args "clang" did not execute successfully (status code exit status: 1).

I have tried with wasi-sdk version 10 as well and the same issue happens.
These issues seem relevant
https://github.com/WebAssembly/wasi-sdk/issues/174
https://github.com/WebAssembly/wasi-sdk/issues/22
https://github.com/WebAssembly/wasi-libc/issues/209
Did anyone stumble into something similar?

@GeeWee I got the same error. (M1 Mac, tried wasi-sdk 10, 12 and 14).
I started trying to compile the sqlite3.c amalgamation separately, running the clang command in the error message you posted (which I also got). By using the DSQLITE_THREADSAFE=0 flag, the pthread.h error went away, but I got several new errors I couldn't fix. In any case, disabling thread safety may not work, since rusqlite doesn't seem to allow it: https://github.com/rusqlite/rusqlite/blob/master/tests/deny_single_threaded_sqlite_config.rs (Found it from #746).

I'll report back if I manage to fix something.

Managed to work !
With wasi-sdk 14.0, idea from #1116
diff --git a/libsqlite3-sys/build.rs b/libsqlite3-sys/build.rs
index 33c4772..219cda1 100644
--- a/libsqlite3-sys/build.rs
+++ b/libsqlite3-sys/build.rs
@@ -122,10 +122,11 @@ mod build_bundled {
             .flag("-DSQLITE_ENABLE_STAT2")
             .flag("-DSQLITE_ENABLE_STAT4")
             .flag("-DSQLITE_SOUNDEX")
-            .flag("-DSQLITE_THREADSAFE=1")
+            .flag("-DSQLITE_THREADSAFE=0")
             .flag("-DSQLITE_USE_URI")
             .flag("-DHAVE_USLEEP=1")
             .flag("-D_POSIX_THREAD_SAFE_FUNCTIONS") // cross compile with MinGW
+            .flag("-D_WASI_EMULATED_MMAN")
             .warnings(false);

         if cfg!(feature = "bundled-sqlcipher") {
@@ -242,7 +243,7 @@ mod build_bundled {
             cfg.flag("-DHAVE_LOCALTIME_R");
         }
         // Target wasm32-wasi can't compile the default VFS
-        if is_compiler("wasm32-wasi") {
+        if env::var("TARGET").as_deref() == Ok("wasm32-wasi") || is_compiler("wasm32-wasi") {
             cfg.flag("-DSQLITE_OS_OTHER")
                 // https://github.com/rust-lang/rust/issues/74393
                 .flag("-DLONGDOUBLE_TYPE=double");

> env CC_wasm32_wasi="/wasi-sdk-14.0/bin/clang" CARGO_TARGET_WASM32_WASI_LINKER=/wasi-sdk-14.0/bin/clang RUSTFLAGS="-C target-feature=-crt-static"  cargo build --lib --target wasm32-wasi --features bundled,wasm32-wasi-vfs --release
   Compiling vcpkg v0.2.15
   Compiling cc v1.0.72
   Compiling pkg-config v0.3.24
   Compiling libsqlite3-sys v0.23.2 (/rusqlite/libsqlite3-sys)
    Finished release [optimized] target(s) in 1m 13s

just compile, no test  ;-)

Yeah, with the changes in #1116 it works (I'm the author of that PR). I tried building a wasm32-wasi executable with bundled SQLite, and it worked (just copied the example in the README, nothing fancy).

I realize it's been 6 months, but I was trying this method @polyrand and got this error when running your script:
// snip snip more errors up here

error[E0531]: cannot find tuple struct or tuple variant `Some` in this scope
    --> /home/john/.cargo/registry/src/github.com-1ecc6299db9ec823/fallible-iterator-0.2.0/src/lib.rs:2598:20
     |
2598 |             (None, Some(b)) => Some(b),
     |                    ^^^^ not found in this scope

error[E0425]: cannot find function, tuple struct or tuple variant `Some` in this scope
    --> /home/john/.cargo/registry/src/github.com-1ecc6299db9ec823/fallible-iterator-0.2.0/src/lib.rs:2598:32
     |
2598 |             (None, Some(b)) => Some(b),
     |                                ^^^^ not found in this scope

Some errors have detailed explanations: E0405, E0412, E0416, E0425, E0432, E0433, E0463, E0531.
error: could not compile `fallible-iterator` due to 820 previous errors

Any clues?

May be fixed by #1321

I don't think #1321 fixes this. I still can't build for wasm32-unknown-unknown, because sqlite3.c wants stdio.h, which is not available on a target without a real libc.
It looks like wasm32-unknown-unknown support is required if you want to use rusqlite in the same project as wasm-bindgen, which isn't planning to ship a version that can build for wasm32-wasi: https://github.com/rustwasm/wasm-bindgen/issues/3421
And cross-linking between the two targets is apparently also broken: https://github.com/rustwasm/wasm-bindgen/issues/3454
So it looks like the only way to get the two crates into the same project would be for rusqlite to be able to build on wasm32-unknown-unknown, with no libc and no VFS, and then have the user provide a VFS.

Is this still an issue? I was able to compile it with cargo 1.77.1 (e52e36006 2024-03-26):
cargo build --target=wasm32-unknown-unknown
   Compiling version_check v0.9.4
   Compiling pkg-config v0.3.30
   Compiling vcpkg v0.2.15
   Compiling zerocopy v0.7.34
   Compiling once_cell v1.19.0
   Compiling cfg-if v1.0.0
   Compiling smallvec v1.13.2
   Compiling fallible-iterator v0.3.0
   Compiling bitflags v2.5.0
   Compiling fallible-streaming-iterator v0.1.9
   Compiling ahash v0.8.11
   Compiling libsqlite3-sys v0.28.0 (/Users/rafaelbeckel/Library/CloudStorage/Dropbox/projects/Rust/rusqlite/libsqlite3-sys)
   Compiling hashbrown v0.14.5
   Compiling hashlink v0.9.1
   Compiling rusqlite v0.31.0 (/Users/rafaelbeckel/Library/CloudStorage/Dropbox/projects/Rust/rusqlite)
    Finished dev [unoptimized + debuginfo] target(s) in 2.52s
❯ cargo build --lib --target=wasm32-unknown-unknown
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
❯ cargo build --lib --target=wasm32-unknown-unknown --release
   Compiling version_check v0.9.4
   Compiling pkg-config v0.3.30
   Compiling vcpkg v0.2.15
   Compiling cfg-if v1.0.0
   Compiling zerocopy v0.7.34
   Compiling once_cell v1.19.0
   Compiling smallvec v1.13.2
   Compiling bitflags v2.5.0
   Compiling fallible-streaming-iterator v0.1.9
   Compiling fallible-iterator v0.3.0
   Compiling ahash v0.8.11
   Compiling libsqlite3-sys v0.28.0 (/Users/rafaelbeckel/Library/CloudStorage/Dropbox/projects/Rust/rusqlite/libsqlite3-sys)
   Compiling hashbrown v0.14.5
   Compiling hashlink v0.9.1
   Compiling rusqlite v0.31.0 (/Users/rafaelbeckel/Library/CloudStorage/Dropbox/projects/Rust/rusqlite)
    Finished release [optimized] target(s) in 3.85s

@rafaelbeckel  Unfortunately,I still have this problem , although I use the latest version of  sqlite3

cargo build --target=wasm32-unknown-unknown

which target did you build for?
with wasm32-unknown-unknown, I get:
  CC = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  RUSTC_WRAPPER = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some(true)
  cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
  CFLAGS_wasm32-unknown-unknown = None
  cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
  CFLAGS_wasm32_unknown_unknown = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  CARGO_ENCODED_RUSTFLAGS = Some()
  cargo:warning=sqlite3/sqlite3.c:14678:10: fatal error: 'stdio.h' file not found
  cargo:warning= 14678 | #include <stdio.h>
  cargo:warning=       |          ^~~~~~~~~
  cargo:warning=1 error generated.

  --- stderr

With wasm32-wasi, I get
error occurred in cc-rs: Failed to find tool. Is `clang` installed?

Hi @passchaos , Can you provide some more details? Like what features you use in Cargo.toml for the rusqlite dependency.

Little help here:

    #!/bin/bash
    export WASI_SDK_PATH="wasi-sdk-25.0-arm64-macos"
    export WASI_SYSROOT="${WASI_SDK_PATH}/share/wasi-sysroot"
    export CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SYSROOT}"
    export CC_wasm32_wasi="${WASI_SDK_PATH}/bin/clang"
    export CARGO_TARGET_WASM32_WASI_LINKER="${WASI_SDK_PATH}/bin/clang"
    # export RUSTFLAGS="-C target-feature=-crt-static"

    export LIBSQLITE3_FLAGS="\
        -DSQLITE_OS_OTHER \
        -USQLITE_TEMP_STORE \
        -DSQLITE_TEMP_STORE=3 \
        -USQLITE_THREADSAFE \
        -DSQLITE_THREADSAFE=0 \
        -DSQLITE_OMIT_LOCALTIME \
        -DSQLITE_OMIT_LOAD_EXTENSION \
        -DLONGDOUBLE_TYPE=double"

     cargo build --lib --target "wasm32-wasip1" --manifest-path sqlite_wasm/Cargo.toml

my folder structure:
root
|---wasi-sdk-25.0-arm64-macos
|---sqlite_wasm

@opeolluwa
You should look at this web site，the sqlite3 that compile need the C-library，however ，so you must use emscripten to compile。
https://sqlite.org/wasm/doc/trunk/emscripten.md
(I finally give up this sqlite3 (>﹏<))


Build css from scss sources in client ui build

Description
The following things are done in this PR:

Add the compiling of the scss sources to css to the maven build for the client ui. I used this (https://github.com/eirslett/frontend-maven-plugin) maven plugin for that.

This was required to remove the css files from the project. This is necessary, because it happened multiple times that the css files were modified directly instead of editing and then compiling the scss files, which results in a mismatch between the scss src and the compiled css.
e.g. https://github.com/apache/cloudstack/pull/3240/files
I moved these missing changes into the corresponding scss files here.

This (compiling scss to css during the build) is the currently preferred way of handling these frontend resources.

This changes are not affecting any functionality nor are a breaking change.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[x] Cleanup (Code refactoring and cleanup, that may add test cases)

How Has This Been Tested?
Deployed this to our test environment and tested functionality.

@anuragaw @shwstppr can you take a look?

Can you explain why move the ui directory to client?

Can you explain why move the ui directory to client?

I found this location more appropriate, because the frontend resources in this ui folder are the main resources for the client ui module, so they fit better in there instead of the root directory of the project. They don't get used by any other module.

In the present form renaming ui folder just because it feels like may not be encouraged because it will cause conflicts for so many existing PRs and will cause porting and forward merging issues. Let's visit this in future, at least after 4.13.

Agree with @rhtyd. I would prefer to postpone any major restructuring to after 4.13 as well unless it's an urgent necessity. Please note cut dates for 4.13 are out and major changes for 4.13 should be in debate or close to merge by now already.

@rhtyd @anuragaw yes we move the ui folder back in the old place and put it on the list after 4.13 release so we have no porting problems. the commit will come in the next days. 👍

@svenvogel I'll readded this PR to <IP_ADDRESS> milestone on your remark. Keep us posted, thanks.

@rhtyd ping we moved the files back in the old location. it should look okay now.

Thanks @svenvogel but I still see several large changes and file renames and I'm not sure I understand what is intended to be here. I can make out that it introduces a new gulp/npm dependency during build.
Please have a look at:
https://github.com/apache/cloudstack/pull/3444#issuecomment-507180721
Copied from above:
 there have been several css/UI related PRs proposed recently, can you start a discussion thread on dev@ to explain what are the goals and refactorings you're trying to do. I'm personally not sure where the UI changes are heading and would like to learn more.

Typically any framework/component related changes and refactorings may have a design document to capture this that is shared with the dev community for review and discussion. Any proposals and discussions are welcome on<EMAIL_ADDRESS>Thanks.

Hey @rhtyd
Please show us some examples of "large changes" and "file renames".
May I ask you to be a bit more specific and work with examples please?
Does my @dev mail list post helps you to understand what we are planing to do?

@webermaximilian92 I see some large css files removed, I don't understand if we're removing them how does that affect our build/usage?

@pbankonier can you fix the conflict GitHub is complaining about?

@rhtyd That these css files get finally removed is just a consequence from this change https://github.com/apache/cloudstack/pull/3307. The css files should not be edited nonetheless right now, because they get build from the scss sources. So the css files should have been removed already in that PR. Everyone who wants to make a styling change should edit the scss files and then build the css from them. Normally you would not keep the css files in the repo, because have redundant information regarding the scss files, so when someone changes one without the other we will get an inconsistent state of these files, which results in the necessity of someone keeping them in sync manually.
So to prevent this it is important to get this change merged, which compiles the scss files to css during the build of the module and removes the responsibility for keeping these files in sync from the devs. There is no impact in the usage.

Thanks for explaining @pbankonier I would have asked for a complete design document for all sorts of UI changes that are coming because they have long term impact on all developers including build and CI systems. I'm sure there are others in the community who're unable to track the intent spread across a couple of related PRs.
I was not aware of the PR https://github.com/apache/cloudstack/pull/3307 and was not tracking it as it was not tagged against a milestone (just added one because it's already merged). Generally reviewers, RMs and co-RMs working towards a release/milestone may not track PRs that bring wide amount of changes or break several existing PRs because it will be a lot of work to get authors of existing PRs which may get merge conflict if a PR like this would be merged. We have about 90-100 open items on <IP_ADDRESS> milestone and many of which have UI/css changes or are UI issues that may require fixes in css files. Due to this, I have moved milestone of this PR to 4.14, hope I've your support and understanding.

@pbankonier @svenvogel  - do you think we can close this now that we have Primate?

@pbankonier @svenvogel - with primate in, kindly close this. Let's move all major UI development work in Primate. Thanks.

@rhtyd closed in favor of cloudstack primate development https://github.com/apache/cloudstack-primate/


Warning and error during linescan

Hi,
I downloaded the latest version of bifacial_radiance (0.4.2), and when running some of your tutorials I am encountering the following message and error (I am also attaching the simulation code and files):

TUTORIAL02.zip
I am running the exact code from the example (in this case Tutorial 03), so I cannot find where the issue is coming from. The error usually appears when more than one linescan is being done.
Moreover, this does not happen every time I run my code, only sometimes, which seems even more strange.
I feel quite lost with this problem, so any help would be appreciated.
Thanks!

Hi,
We have fixed the problem. The error was due to the setup of our company computers.


Feature/programmatically filter

Hi @AllenFang
This PR aims to allow user to filter columns programmatically. I wanna show my idea to you first and I will correct the remaining tasks including tests and UI display. Any concerns or questions were extremely welcomed :)

@Chun-MingChen I will review if I have time, thanks a million tons~


Modelstore ui

Making the Model Store page more consistent with the DIGITS front page and adding a download progress bar.
Moving from this look;

To this look;

I also stopped the redirection to the front page after download was complete.
The progress bar is a progress line at the moment, under the model name to save real estate.

@lukeyeager and @IsaacYangSLA maybe have a look.

I will merge it since it looks great and I didn't see anything broken.


Read in a bunch of commands from a file

The file should be passed as the only argument on the command line

Done in #2


Use composer instead of submodules

The satellite base class is now pulled in by composer.
The semantic interface should not be a composer dependency, as it has direct endpoints within it.


1.15.2 - BoP walls don't attach to each other

Forge: 31.2.36
ILikeWood: 1.15.2-<IP_ADDRESS>
The Biomes O Plenty wall types, such as Magic wall and Cherry wall, do not attach to each other at any angle. The vanilla walls, Birch etc, are perfect
See pic:  https://imgur.com/a/9FFfq5c

do you have the datapack for BoP installed? :P

Well that fixed it.  I just assumed the datapack was for recipe changes.
Thank you
I use my own datapack to adjust recipes/loottables and advancements - I've copied the minecraft/tags/blocks/walls.json to my datapack and all is working fine


Vercel deploy is failing

[17:24:42.733] Running build in Washington, D.C., USA (East) – iad1
[17:24:42.840] Cloning github.com/selimerunkut/fls (Branch: main, Commit: 35c1082)
[17:24:43.246] Previous build cache not available
[17:24:43.291] Cloning completed: 450.841ms
[17:24:44.335] Running "vercel build"
[17:24:44.787] Vercel CLI 39.0.2
[17:24:45.186] Running "install" command: `yarn install`...
[17:24:46.163] ➤ YN0000: ┌ Resolution step
[17:24:46.625] ➤ YN0002: │ @chainlink/contracts-ccip@npm:1.5.0 doesn't provide ethers (p08bd0), requested by @eth-optimism/contracts
[17:24:46.626] ➤ YN0002: │ @chainlink/contracts-ccip@npm:1.5.0 doesn't provide hardhat (pfcf31), requested by @matterlabs/hardhat-zksync-verify
[17:24:46.626] ➤ YN0002: │ @hyperlane-xyz/core@npm:5.8.0 [b52b6] doesn't provide ethers (pffd38), requested by @eth-optimism/contracts
[17:24:46.626] ➤ YN0002: │ @hyperlane-xyz/core@npm:5.8.0 [b52b6] doesn't provide solidity-bytes-utils (p767dd), requested by @layerzerolabs/lz-evm-oapp-v2
[17:24:46.627] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @axelar-network/axelar-gmp-sdk-solidity (p0a28c), requested by @layerzerolabs/lz-evm-messagelib-v2
[17:24:46.627] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @chainlink/contracts-ccip (pf6959), requested by @layerzerolabs/lz-evm-messagelib-v2
[17:24:46.628] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @eth-optimism/contracts (p40f8a), requested by @layerzerolabs/lz-evm-messagelib-v2
[17:24:46.628] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @openzeppelin/contracts (p3ad0d), requested by @layerzerolabs/lz-evm-messagelib-v2
[17:24:46.628] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @openzeppelin/contracts (pacc11), requested by @layerzerolabs/lz-evm-protocol-v2
[17:24:46.629] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @openzeppelin/contracts (p864f2), requested by @layerzerolabs/lz-evm-v1-0.7
[17:24:46.629] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @openzeppelin/contracts-upgradeable (pbecf0), requested by @layerzerolabs/lz-evm-messagelib-v2
[17:24:46.629] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @openzeppelin/contracts-upgradeable (pbbcf8), requested by @layerzerolabs/lz-evm-protocol-v2
[17:24:46.630] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide @openzeppelin/contracts-upgradeable (p36e26), requested by @layerzerolabs/lz-evm-v1-0.7
[17:24:46.630] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide hardhat-deploy (p8c0cc), requested by @layerzerolabs/lz-evm-messagelib-v2
[17:24:46.631] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide hardhat-deploy (p91396), requested by @layerzerolabs/lz-evm-protocol-v2
[17:24:46.631] ➤ YN0002: │ @layerzerolabs/lz-evm-oapp-v2@npm:2.0.2 [2137f] doesn't provide hardhat-deploy (p2220e), requested by @layerzerolabs/lz-evm-v1-0.7
[17:24:46.631] ➤ YN0060: │ @metamask/sdk@npm:0.30.1 [e65da] provides eciesjs (pd7d8c) with version 0.4.11, which doesn't satisfy what @metamask/sdk-communication-layer requests
[17:24:46.632] ➤ YN0002: │ @metamask/sdk@npm:0.30.1 [e65da] doesn't provide react-native (pff83d), requested by react-native-webview
[17:24:46.632] ➤ YN0002: │ @pythnetwork/hermes-client@npm:1.2.0 doesn't provide axios (p0e96a), requested by @zodios/core
[17:24:46.633] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @layerzerolabs/lz-evm-messagelib-v2 (pf5c6d), requested by @layerzerolabs/oapp-evm
[17:24:46.633] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @layerzerolabs/lz-evm-messagelib-v2 (pcb96d), requested by @layerzerolabs/oft-evm
[17:24:46.635] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @layerzerolabs/lz-evm-protocol-v2 (p6071c), requested by @layerzerolabs/oapp-evm
[17:24:46.635] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @layerzerolabs/lz-evm-protocol-v2 (p71b3d), requested by @layerzerolabs/oft-evm
[17:24:46.635] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @layerzerolabs/lz-evm-v1-0.7 (paccac), requested by @layerzerolabs/oapp-evm
[17:24:46.636] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @layerzerolabs/lz-evm-v1-0.7 (p71540), requested by @layerzerolabs/oft-evm
[17:24:46.637] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @openzeppelin/contracts-upgradeable (p40eee), requested by @layerzerolabs/oapp-evm
[17:24:46.637] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @openzeppelin/contracts-upgradeable (p65cb7), requested by @layerzerolabs/oft-evm
[17:24:46.637] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @types/node (p7e794), requested by ts-node
[17:24:46.638] ➤ YN0002: │ @se-2/hardhat@workspace:packages/hardhat doesn't provide @types/sinon-chai (p1afe5), requested by @hyperlane-xyz/core
[17:24:46.638] ➤ YN0060: │ @se-2/hardhat@workspace:packages/hardhat provides ethers (p744a8) with version 6.13.4, which doesn't satisfy what @nomiclabs/hardhat-ethers requests
[17:24:46.638] ➤ YN0060: │ @se-2/hardhat@workspace:packages/hardhat provides ethers (pa1af8) with version 6.13.4, which doesn't satisfy what @typechain/ethers-v5 requests
[17:24:46.639] ➤ YN0002: │ @se-2/nextjs@workspace:packages/nextjs doesn't provide @typescript-eslint/parser (p1319a), requested by @typescript-eslint/eslint-plugin
[17:24:46.639] ➤ YN0002: │ @typescript-eslint/type-utils@npm:8.14.0 [8bc27] doesn't provide eslint (pdb76d), requested by @typescript-eslint/utils
[17:24:46.639] ➤ YN0002: │ @typescript-eslint/type-utils@npm:8.8.1 [b22aa] doesn't provide eslint (p547eb), requested by @typescript-eslint/utils
[17:24:46.640] ➤ YN0002: │ burner-connector@npm:0.0.8 doesn't provide @tanstack/react-query (p1976a), requested by @rainbow-me/rainbowkit
[17:24:46.640] ➤ YN0002: │ burner-connector@npm:0.0.8 doesn't provide react (pe7978), requested by @rainbow-me/rainbowkit
[17:24:46.640] ➤ YN0002: │ burner-connector@npm:0.0.8 doesn't provide react-dom (p8b229), requested by @rainbow-me/rainbowkit
[17:24:46.641] ➤ YN0002: │ burner-connector@npm:0.0.8 doesn't provide wagmi (pe6d35), requested by @rainbow-me/rainbowkit
[17:24:46.641] ➤ YN0002: │ daisyui@npm:4.12.10 doesn't provide postcss (p8e18b), requested by postcss-js
[17:24:46.641] ➤ YN0002: │ react-hot-toast@npm:2.4.1 [ef549] doesn't provide csstype (p1ce86), requested by goober
[17:24:46.642] ➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
[17:24:46.647] ➤ YN0000: └ Completed in 0s 484ms
[17:24:46.779] ➤ YN0000: ┌ Fetch step
[17:27:18.579] ➤ YN0066: │ typescript@patch:typescript@npm%3A5.5.4#~builtin<compat/typescript>::version=5.5.4&hash=a1c5e5: Cannot apply hunk #1
[17:27:20.340] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT Packing v4-core@https://github.com/selimerunkut/v4-core.git#commit=fbebdf4b78339fb6f4c2567b5adaab1be9633587 from sources
[17:27:20.356] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT No package manager configuration detected; defaulting to Yarn
[17:27:20.356] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT
[17:27:21.375] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: .env
[17:27:21.376] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: .gitattributes
[17:27:21.376] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: .gitmodules
[17:27:21.376] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: .prettierignore
[17:27:21.377] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: .prettierrc
[17:27:21.377] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: .solhint.json
[17:27:21.377] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: CONTRIBUTING.md
[17:27:21.377] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: README.md
[17:27:21.378] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: SECURITY.md
[17:27:21.383] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/security/Known_Effects_of_Hook_Permissions.pdf
[17:27:21.383] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/security/audits/DRAFT_ABDK_audit_core.pdf
[17:27:21.383] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/security/audits/DRAFT_Certora_audit_core.pdf
[17:27:21.384] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/security/audits/DRAFT_Spearbit_audit_core.pdf
[17:27:21.384] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/security/audits/OpenZeppelin_audit_core.pdf
[17:27:21.384] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/security/audits/TrailOfBits_audit_core.pdf
[17:27:21.384] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/whitepaper/latex/main-zh.tex
[17:27:21.384] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/whitepaper/latex/main.bib
[17:27:21.385] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/whitepaper/latex/main.tex
[17:27:21.388] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/whitepaper/whitepaper-v4.pdf
[17:27:21.388] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: docs/whitepaper/whitepaper-zh.pdf
[17:27:21.389] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: echidna.config.yml
[17:27:21.389] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: foundry.toml
[17:27:21.389] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: justfile
[17:27:21.389] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: licenses/BUSL_LICENSE
[17:27:21.389] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: licenses/MIT_LICENSE
[17:27:21.391] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: package.json
[17:27:21.391] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: remappings.txt
[17:27:21.392] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/ClearTest.json
[17:27:21.392] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/CustomAccountingTest.json
[17:27:21.392] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/ERC6909ClaimsTest.json
[17:27:21.392] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/ExtsloadTest.json
[17:27:21.392] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/ModifyLiquidityTest.json
[17:27:21.393] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/PoolManagerInitializeTest.json
[17:27:21.393] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/PoolManagerTest.json
[17:27:21.393] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/ProtocolFeesTest.json
[17:27:21.393] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/SkipCallsTest.json
[17:27:21.394] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/SqrtPriceMathTest.json
[17:27:21.394] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/StateLibraryTest.json
[17:27:21.394] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/SwapMathTest.json
[17:27:21.394] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/SyncTest.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/TestBitMath.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/TestDelegateCall.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/TestDynamicFees.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/TestDynamicReturnFees.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/TickBitmapTest.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/TickMathTestTest.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: snapshots/TickTest.json
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/ERC6909.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/ERC6909Claims.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/Extsload.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/Exttload.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/NoDelegateCall.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/PoolManager.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/ProtocolFees.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/IExtsload.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/IExttload.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/IHooks.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/IPoolManager.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/IProtocolFees.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/callback/IUnlockCallback.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/external/IERC20Minimal.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/interfaces/external/IERC6909Claims.sol
[17:27:21.395] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/BitMath.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/CurrencyDelta.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/CurrencyReserves.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/CustomRevert.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/FixedPoint128.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/FixedPoint96.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/FullMath.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/Hooks.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/LPFeeLibrary.sol
[17:27:21.402] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/LiquidityMath.sol
[17:27:21.403] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/Lock.sol
[17:27:21.403] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/NonzeroDeltaCount.sol
[17:27:21.403] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/ParseBytes.sol
[17:27:21.403] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/Pool.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/Position.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/ProtocolFeeLibrary.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/SafeCast.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/SqrtPriceMath.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/StateLibrary.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/SwapMath.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/TickBitmap.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/TickMath.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/TransientStateLibrary.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/libraries/UnsafeMath.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/ActionsRouter.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/BaseTestHooks.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/CurrencyTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/CustomCurveHook.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/DeltaReturningHook.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/DynamicFeesTestHook.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/DynamicReturnFeeTestHook.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/EmptyRevertContract.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/EmptyTestHooks.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/FeeTakingHook.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/Fuzzers.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/HooksTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/LPFeeTakingHook.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/LiquidityMathTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/MockContract.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/MockERC6909Claims.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/MockHooks.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/NativeERC20.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/NoDelegateCallTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolClaimsTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolDonateTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolEmptyUnlockTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolModifyLiquidityTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolModifyLiquidityTestNoChecks.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolNestedActionsTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolSwapTest.sol
[17:27:21.404] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolTakeTest.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/PoolTestBase.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/ProtocolFeesImplementation.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/ProxyPoolManager.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/SkipCallsTestHook.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/SqrtPriceMathEchidnaTest.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/SwapRouterNoChecks.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/TestERC20.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/TestInvalidERC20.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/TickMathEchidnaTest.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/TickMathTest.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/test/TickOverflowSafetyEchidnaTest.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/types/BalanceDelta.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/types/BeforeSwapDelta.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/types/Currency.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/types/PoolId.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/types/PoolKey.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: src/types/Slot0.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/CurrencyReserves.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/CustomAccounting.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/DynamicFees.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/DynamicReturnFees.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/ERC6909Claims.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/Extsload.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/ModifyLiquidity.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/NoDelegateCall.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/PoolManager.clear.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/PoolManager.gas.spec.ts
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/PoolManager.swap.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/PoolManager.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/PoolManagerInitialize.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/ProtocolFeesImplementation.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/SkipCallsTestHook.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/Sync.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/Tick.t.sol
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/bin/v3Factory.bytecode
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/build.js
[17:27:21.405] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/dist/getModifyLiquidityResult.js
[17:27:21.406] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/dist/getSqrtPriceAtTick.js
[17:27:21.406] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/dist/getTickAtSqrtPrice.js
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/package-lock.json
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/package.json
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/src/getModifyLiquidityResult.ts
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/src/getSqrtPriceAtTick.ts
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/src/getTickAtSqrtPrice.ts
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/src/utils/shared.ts
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/js-scripts/tsconfig.json
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/BitMath.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/FullMath.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/Hooks.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/LPFeeLibrary.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/LiquidityMath.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/Lock.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/NonzeroDeltaCount.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/Pool.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/PoolId.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/Position.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/ProtocolFeeLibrary.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/SafeCast.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/SqrtPriceMath.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/StateLibrary.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/SwapMath.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/TickBitmap.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/TickMath.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/libraries/UnsafeMath.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/types/BalanceDelta.t.sol
[17:27:21.407] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/types/Currency.t.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/types/Slot0.t.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/AmountHelpers.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/Constants.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/CurrencySettler.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/Deployers.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/JavascriptFfi.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/LiquidityAmounts.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/Logger.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/NestedActions.t.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/SortTokens.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/SwapHelper.t.sol
[17:27:21.408] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: test/utils/V3Helper.sol
[17:27:22.159] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: Package archive generated in /tmp/xfs-31ea5752/package.tgz
[17:27:22.159] ➤ YN0000: │ /tmp/xfs-31ea5752 STDOUT ➤ YN0000: Done in 1s 68ms
[17:27:38.202] ➤ YN0066: │ typescript@patch:typescript@npm%3A4.9.5#~builtin<compat/typescript>::version=4.9.5&hash=a1c5e5: Cannot apply hunk #6
[17:27:42.630] ➤ YN0013: │ 47 packages were already cached, 1609 had to be fetched
[17:27:42.634] ➤ YN0000: └ Completed in 2m 56s
[17:27:42.748] ➤ YN0000: ┌ Link step
[17:28:18.871] ➤ YN0007: │ se-2@workspace:. must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ @arbitrum/nitro-contracts@npm:1.1.1 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ @arbitrum/nitro-contracts@npm:1.3.0 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ keccak@npm:3.0.4 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ bigint-buffer@npm:1.1.5 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ secp256k1@npm:4.0.4 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ cpu-features@npm:0.0.10 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ bufferutil@npm:4.0.8 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ utf-8-validate@npm:5.0.10 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ esbuild@npm:0.14.47 must be built because it never has been before or the last one failed
[17:28:18.872] ➤ YN0007: │ @parcel/watcher@npm:2.5.0 must be built because it never has been before or the last one failed
[17:28:19.700] ➤ YN0000: │ se-2@workspace:.  This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.
[17:28:28.379] ➤ YN0000: │ ssh2@npm:1.16.0 STDOUT
[17:28:28.379] ➤ YN0000: │ ssh2@npm:1.16.0 STDOUT $ yarn run [--inspect] [--inspect-brk] [-T,--top-level] [-B,--binaries-only] <scriptName> ...
[17:28:28.396] ➤ YN0000: │ ssh2@npm:1.16.0 STDOUT Failed to build optional crypto binding
[17:28:28.402] ➤ YN0000: └ Completed in 45s 653ms
[17:28:28.541] ➤ YN0000: Done with warnings in 3m 43s
[17:28:28.831] Detected Next.js version: 14.2.18
[17:28:28.834] Running "yarn run build"
[17:28:30.450] Attention: Next.js now collects completely anonymous telemetry regarding usage.
[17:28:30.451] This information is used to shape Next.js' roadmap and prioritize features.
[17:28:30.451] You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
[17:28:30.451] https://nextjs.org/telemetry
[17:28:30.452]
[17:28:30.507]   ▲ Next.js 14.2.18
[17:28:30.508]
[17:28:30.575]    Creating an optimized production build ...
[17:28:55.113]
[17:28:55.114] 🌼   daisyUI 4.12.10
[17:28:55.438] ├─ ✔ 2 themes added		https://daisyui.com/docs/themes
[17:28:55.456] ╰─ ❤ Support daisyUI project:	https://opencollective.com/daisyui
[17:28:55.456]
[17:29:13.560]  ✓ Compiled successfully
[17:29:13.581]    Linting and checking validity of types ...
[17:29:22.847]
[17:29:22.848] ./app/page.tsx
[17:29:22.848] 6:1  Warning: Insert `⏎`  prettier/prettier
[17:29:22.848] 7:20  Warning: 'connectedAddress' is assigned a value but never used.  @typescript-eslint/no-unused-vars
[17:29:22.848] 12:9  Warning: Delete `··`  prettier/prettier
[17:29:22.848] 13:11  Warning: Delete `····`  prettier/prettier
[17:29:22.848] 14:1  Warning: Delete `··`  prettier/prettier
[17:29:22.848]
[17:29:22.848] ./components/Footer.tsx
[17:29:22.848] 8:10  Warning: 'Faucet' is defined but never used.  @typescript-eslint/no-unused-vars
[17:29:22.848] 34:13  Warning: Delete `··`  prettier/prettier
[17:29:22.848] 35:1  Warning: Delete `··`  prettier/prettier
[17:29:22.848] 36:1  Warning: Delete `··`  prettier/prettier
[17:29:22.848] 37:17  Warning: Delete `··`  prettier/prettier
[17:29:22.848] 38:15  Warning: Delete `··`  prettier/prettier
[17:29:22.848] 39:1  Warning: Delete `··`  prettier/prettier
[17:29:22.848]
[17:29:22.848] ./components/ScaffoldEthAppWithProviders.tsx
[17:29:22.848] 16:1  Warning: Delete `⏎`  prettier/prettier
[17:29:22.848]
[17:29:22.848] ./components/SwapWidget.tsx
[17:29:22.848] 1:1  Warning: Replace `'use·client';` with `"use·client";⏎`  prettier/prettier
[17:29:22.848] 2:9  Warning: Replace `useEffect,·useState}·from·'react'` with `·useEffect,·useState·}·from·"react"`  prettier/prettier
[17:29:22.849] 3:9  Warning: Replace `AiOutlineArrowDown,·AiOutlineDown}·from·'react-icons/ai';⏎import·{Tokens,·Token}·from·"~~/models/Token` with `·AiOutlineArrowDown,·AiOutlineDown·}·from·"react-icons/ai`  prettier/prettier
[17:29:22.849] 5:9  Warning: Replace `fetchPriceFromPyth}·from·"~~/utils/pyth/fetchPriceFromPyth";⏎import·{fetchPriceFromBang}·from·"~~/utils/bang` with `·useAccount·}·from·"wagmi`  prettier/prettier
[17:29:22.849] 7:9  Warning: Replace `useEthersProvider` with `·useEthersProvider·`  prettier/prettier
[17:29:22.849] 8:9  Warning: Replace `useEthersSigner` with `·useEthersSigner·`  prettier/prettier
[17:29:22.849] 9:9  Warning: Replace `requestApproval}·from·"~~/utils/token/requestApproval` with `·Token,·Tokens·}·from·"~~/models/Token`  prettier/prettier
[17:29:22.849] 10:9  Warning: Replace `useAccount}·from·"wagmi` with `·fetchPriceFromBang·}·from·"~~/utils/bang`  prettier/prettier
[17:29:22.849] 11:9  Warning: Replace `bangSwap` with `·bangSwap·`  prettier/prettier
[17:29:22.849] 12:9  Warning: Replace `hasApproval` with `·fetchPriceFromPyth·}·from·"~~/utils/pyth/fetchPriceFromPyth";⏎import·{·hasApproval·`  prettier/prettier
[17:29:22.849] 13:1  Warning: Insert `import·{·requestApproval·}·from·"~~/utils/token/requestApproval";⏎`  prettier/prettier
[17:29:22.849] 15:3  Warning: Delete `··`  prettier/prettier
[17:29:22.849] 17:1  Warning: Delete `··`  prettier/prettier
[17:29:22.849] 18:1  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 19:3  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 20:1  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 21:1  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 22:3  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 23:3  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 24:1  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 25:3  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 26:3  Warning: Replace `··const·{address` with `const·{·address·`  prettier/prettier
[17:29:22.850] 28:3  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 29:1  Warning: Delete `····`  prettier/prettier
[17:29:22.850] 30:5  Warning: Delete `····`  prettier/prettier
[17:29:22.850] 31:1  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 33:3  Warning: Delete `··`  prettier/prettier
[17:29:22.850] 34:1  Warning: Replace `········if` with `····if·`  prettier/prettier
[17:29:22.850] 35:1  Warning: Replace `········hasApproval(address,·provider).then((_allowance)` with `····hasApproval(address,·provider).then(_allowance`  prettier/prettier
[17:29:22.850] 36:1  Warning: Replace `············` with `······`  prettier/prettier
[17:29:22.852] 37:5  Warning: Delete `····`  prettier/prettier
[17:29:22.853] 38:1  Warning: Replace `····` with `··`  prettier/prettier
[17:29:22.853] 38:8  Warning: React Hook useEffect has a missing dependency: 'provider'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps
[17:29:22.853] 40:1  Warning: Replace `⏎····` with `··`  prettier/prettier
[17:29:22.853] 42:1  Warning: Replace `········` with `····`  prettier/prettier
[17:29:22.853] 43:7  Warning: Replace `······Promise.all([⏎················fetchPriceFromBang(fromAmount,·provider),⏎················fetchPriceFromPyth(selectedToken.id)]` with `Promise.all([fetchPriceFromBang(fromAmount,·provider),·fetchPriceFromPyth(selectedToken.id)]).then(`  prettier/prettier
[17:29:22.857] 46:9  Warning: Delete `····).then(`  prettier/prettier
[17:29:22.857] 47:11  Warning: Replace `······if` with `if·`  prettier/prettier
[17:29:22.857] 48:1  Warning: Replace `····················` with `············`  prettier/prettier
[17:29:22.857] 49:1  Warning: Delete `········`  prettier/prettier
[17:29:22.857] 50:13  Warning: Delete `········`  prettier/prettier
[17:29:22.857] 51:1  Warning: Replace `····················` with `············`  prettier/prettier
[17:29:22.858] 52:11  Warning: Delete `······`  prettier/prettier
[17:29:22.858] 54:1  Warning: Replace `················` with `··········`  prettier/prettier
[17:29:22.858] 55:1  Warning: Delete `······`  prettier/prettier
[17:29:22.858] 56:1  Warning: Replace `················setDiscountPercentage(((((bangPrice·*·fromAmount)·/·(pythPrice·*·fromAmount)))·-·1)` with `··········setDiscountPercentage(((bangPrice·*·fromAmount)·/·(pythPrice·*·fromAmount)·-·1)·`  prettier/prettier
[17:29:22.858] 57:9  Warning: Replace `····}` with `},⏎······`  prettier/prettier
[17:29:22.858] 58:1  Warning: Replace `········` with `····`  prettier/prettier
[17:29:22.858] 59:1  Warning: Delete `····`  prettier/prettier
[17:29:22.859] 60:3  Warning: Delete `··`  prettier/prettier
[17:29:22.859] 60:8  Warning: React Hook useEffect has a missing dependency: 'provider'.  Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
[17:29:31.159] Failed to compile.
[17:29:31.159]
[17:29:31.160] ./components/SwapWidget.tsx:76:25
[17:29:31.160] Type error: Type 'string | Element' is not assignable to type 'ReactNode'.
[17:29:31.160]   Type 'Element' is not assignable to type 'ReactNode'.
[17:29:31.160]     Type 'Element' is missing the following properties from type 'ReactPortal': type, props, key
[17:29:31.160]
[17:29:31.160]   74 |                         onClick={() => setShowTokenList(!showTokenList)}
[17:29:31.160]   75 |                     >
[17:29:31.160] > 76 |                         {selectedToken.icon}
[17:29:31.160]      |                         ^
[17:29:31.160]   77 |                         <span className="font-medium pl-2">{selectedToken.id}</span>
[17:29:31.161]   78 |                         <AiOutlineDown />
[17:29:31.161]   79 |                     </div>
[17:29:31.368] Error: Command "yarn run build" exited with 1
[17:29:32.235]

On it right now


API for Whisper?

It would be nice if the julep client would have an abstraction for working with openai whisper.
Some ideas:

people want transcriptions of different types:

sometimes, you want them word-to-word accurate, for uses like video subtitles. you also want to group them up by time (maybe literally return an .srt file for a video)
sometimes, you want them for written content: here you absolutely need some post-processing to make sure that the text is correctly formatted and readable, instead of a literal transcription
sometimes you just want a summary, or you want to answer a question

transcription is expensive: you can cache transcriptions / post-processed outputs for users

An abstraction over whisper would use completions in conjunction with the whisper transcript to return more suitable transcriptions

Yep, makes sense. We could def do this over the streaming responses. And possibly even for text-to-speech as well.
(Btw, we are running a bounty program so happy to add this issue to it if you want to take it up.)


gnus's rss can download feeds with auto generated bashscript, can elfeed add this feature too?

my emacs halt too long for slow bandwidth when fetch feed with elfeed， gnus has a sample way which can make things better， auto generate a script then run this script with cron，I think this is
useful to elfeed
(defun nnrss-generate-download-script ()
  "Generate a download script in the current buffer.
It is useful when `(setq nnrss-use-local t)'."
  (interactive)
  (insert "#!/bin/sh\n")
  (insert "WGET=wget\n")
  (insert "RSSDIR='" (expand-file-name nnrss-directory) "'\n")
  (dolist (elem nnrss-server-data)
    (let ((url (or (nth 2 elem)
                   (second (assoc (car elem) nnrss-group-alist)))))
      (insert "$WGET -q -O \"$RSSDIR\"/'"
              (nnrss-translate-file-chars (concat (car elem) ".xml"))
              "' '" url "'\n"))))

This is a neat idea I'll have to investigate. Currently feeds are
already fetched asynchronously, and, for most people, the brief lockups
are due to parsing XML and such after the feed is downloaded.
Downloading the feed with wget and then parsing it in Emacs would have
the same results. It may be worth parsing the XML into an s-expression
(i.e. elfeed-xml-parse-region) and feeding that to Emacs, since that can
be parsed much faster.
As far as I can tell, Emacs' DNS queries are synchronous. So if DNS is
slow to respond, Emacs will freeze each time it fetches from a new
domain, which is what you may be experiencing. It's much worse on
Windows, which also has a synchronous connect() -- and since feeds are
generally rather small, this effectively synchronizes fetching -- though
this will be fixed in a future Emacs release (see Emacs bug#20159).

Expect this feature ....


How to use a new dataset to train for a new language pair ?

❓ Questions and Help
What is your question?
I have 2 separate files, each having sentences in their respective languages. Since, there is no documentation to explain how and in which format should I pre-process the dataset so as to run the training, I am struggling to figure it out.
I found this similar question: https://github.com/facebookresearch/fairseq/issues/411 and the answer was "We provide example commands: https://github.com/pytorch/fairseq/tree/master/examples/translation"
However, that's not helping me because you are still using the pre-trained models. I have no idea how to:

Give the data I have so it can be preprocessed. I do assume it has something to do with this command:

DATASET= /path/to/dataset
fairseq-preprocess \
--only-source \
--trainpref $DATASET/train.txt \
--validpref $DATASET/valid.txt \
--testpref $DATASET/test.txt \
--destdir data-bin/summary \
--workers 20

I'm assuming this is to be run within the fairseq/ root directory and still have no idea what the dataset I give it should look like (right now I either have the original csv file, the separate {train, test, dev}.{src, tgt} files or the bpe files themselves.
What's your environment?
I'm running this on Google Colab because I don't personally have a GPU

The actual reason why fairseq/examples/translation exists is you can actually see the raw data. Thus you can understand what structure is expected by fairseq-preprocess.
Also fairseq does not require a gpu to run, you can run it on cpu with a tiny size model in order to debug fairseq with vscode.
To produce a fairseq data:
Assuming you are reading translation:training-a-new-model ,
through running the bash you will obtain folder: iwslt14.tokenized.de-en. Open it and you shall see train/valid/test.en English data and .de German data. You will find out

every line in .en is one data corresponding to the same line in .de,
there are " " between tokens( or words/chars )
You can also find folder: orig , which holds the original data.

So if you have knwoledge in tokenizer/sentencepiece, the above fact tells you the data format:

raw data (or sentences written in human-readable way) must be tokenized first by either using tokenizer or your own rule/programs.
each line must be one entry of data. Each line in data file .{source_language} must correspond to the same line in .{target_language}
tokens are seperated and distinguished by " "(whitespace) for fairseq-preprocess

fairseq-preprocess will turn tokenized data into binary files which reduce file size and helps fairseq-train/generate to read them correctly.
Also fairseq-preprocess requires {source_language} dictionary.txt and {target_language} dictionary.txt to turn tokens into numbers (then to binary data). The first example does not provide --srcdict while in Multilingual Translation section it tells you that you can reuse a dict.txt by specifying --srcdict PATH_TO_TXT and --tgtdict PATH_TO_TXT. If you do not specify dict, fairseq-preprocess will create the dict from the given data. (not recommended if you have an actual big project to run, but okay if you just want program progress).

for colab, if you have installed fairseq by !pip install fairseq (I remember you have to add ! for running like command line)
you can run with !fairseq-preprocess --trainpref .....
For people who want to knwo how fairseq-preprocess, train, generate works,
use vscode or any editor that allows you to set breakpoint easily and check variables' values when in break.
Run it with very small size model ( like 2 layers 2 layers, 64 dimension, 256 ffn or even smaller).


Fix tup any_type

Fixes https://github.com/EnzymeAD/Enzyme.jl/issues/886

Codecov Report
Patch coverage has no change and project coverage change: -1.33 :warning:

Comparison is base (8829874) 78.11% compared to head (62a0ea0) 76.78%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #889      +/-   ##
==========================================
- Coverage   78.11%   76.78%   -1.33%
==========================================
  Files          18       18
  Lines        8417     8392      -25
==========================================
- Hits         6575     6444     -131
- Misses       1842     1948     +106

Impacted Files
Coverage Δ

src/compiler.jl
79.13% <0.00%> (-0.36%)
:arrow_down:

... and 7 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


u128 support?

Hello, I was just looking at using bitvec for my project that involves bitpacking into u128. Took a quick look at the code and suspect duplicating out how u64 is considered might be all thats needed to get u128 support in? Would you be interested in a PR around this, keeping in mind this is my first Rust project? AtomicU128 is also in std too. Am I missing something important about why you've left this alone, other than precious time?

This is covered in issue #76