About the RSM Technical Discussion! category

OK I got rust installed on windows and tried to build holochain but got these dependency errors:

error[E0433]: failed to resolve: use of undeclared type IpcServer
→ C:\Users\david.cargo\registry\src\github.com-1ecc6299db9ec823\lair_keystore_api-0.0.1-alpha.10\src\internal\ipc.rs:59:15
|
59 | let srv = IpcServer::bind(config)?;
| ^^^^^^^^^ use of undeclared type IpcServer

error[E0412]: cannot find type IpcWrite in this scope
→ C:\Users\david.cargo\registry\src\github.com-1ecc6299db9ec823\lair_keystore_api-0.0.1-alpha.10\src\internal\ipc\low_level.rs:21:21
|
21 | mut write_half: IpcWrite,
| ^^^^^^^^ not found in this scope

error[E0412]: cannot find type IpcRead in this scope
→ C:\Users\david.cargo\registry\src\github.com-1ecc6299db9ec823\lair_keystore_api-0.0.1-alpha.10\src\internal\ipc\low_level.rs:65:20
|
65 | mut read_half: IpcRead,
| ^^^^^^^ not found in this scope

error[E0412]: cannot find type IpcServer in this scope
→ C:\Users\david.cargo\registry\src\github.com-1ecc6299db9ec823\lair_keystore_api-0.0.1-alpha.10\src\internal\ipc.rs:71:14
|
25 | pub type IpcSender = ghost_actor::GhostSender;
| ---------------------------------------------------------- similarly named type alias IpcSender defined here

71 | mut srv: IpcServer,
| ^^^^^^^^^ help: a type alias with a similar name exists: IpcSender

error[E0425]: cannot find function ipc_connect in this scope
→ C:\Users\david.cargo\registry\src\github.com-1ecc6299db9ec823\lair_keystore_api-0.0.1-alpha.10\src\internal\ipc.rs:101:35
|
101 | let (read_half, write_half) = ipc_connect(config).await?;
| ^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type IpcRead in this scope
→ C:\Users\david.cargo\registry\src\github.com-1ecc6299db9ec823\lair_keystore_api-0.0.1-alpha.10\src\internal\ipc.rs:107:16
|
107 | read_half: IpcRead,
| ^^^^^^^ not found in this scope

error[E0412]: cannot find type IpcWrite in this scope
→ C:\Users\david.cargo\registry\src\github.com-1ecc6299db9ec823\lair_keystore_api-0.0.1-alpha.10\src\internal\ipc.rs:108:17
|
108 | write_half: IpcWrite,
| ^^^^^^^^ not found in this scope

error: aborting due to 7 previous errors

Some errors have detailed explanations: E0412, E0425, E0433.
For more information about an error, try rustc --explain E0412.
error: could not compile lair_keystore_api

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish…
error: failed to compile holochain v0.0.100 (C:\holochain-rsm\holochain-develop\crates\holochain), intermediate artifacts can be found at C:\holochain-rsm\holochain-develop\target

Caused by:
build failed

Looks like I need IpcServer installed? How do I go about installing that? Thanks :slight_smile:

I tried doing the same thing for ubuntu WSL2 and got different errors:

dellams@DESKTOP-CEETMKE:~/holochain-rsm$ cargo install --path crates/holochain
Installing holochain v0.0.100 (/home/dellams/holochain-rsm/crates/holochain)
Updating git repository https://github.com/holochain/lmdb-rs.git
Updating git repository https://github.com/holochain/rkv.git
Updating git repository https://github.com/neonphog/tokio_safe_block_on.git
Updating crates.io index
Compiling openssl-sys v0.9.60
Compiling matchers v0.0.1
Compiling http-body v0.3.1
Compiling doc-comment v0.3.3
Compiling cranelift-codegen v0.59.0
Compiling crc32fast v1.2.1
Compiling anyhow v1.0.38
Compiling target-lexicon v0.10.0
Compiling encoding_rs v0.8.28
Compiling maybe-uninit v2.0.0
Compiling target-lexicon v0.9.0
Compiling quote v1.0.9
Compiling num-traits v0.2.14
Compiling num_cpus v1.13.0
Compiling getrandom v0.1.16
Compiling getrandom v0.2.2
Compiling net2 v0.2.37
Compiling iovec v0.1.4
Compiling signal-hook-registry v1.3.0
Compiling time v0.1.43
Compiling tracing-log v0.1.2
Compiling atty v0.2.14
Compiling parking_lot_core v0.7.2
Compiling rand_os v0.1.3
Compiling env_logger v0.8.3
Compiling dirs-sys v0.3.5
Compiling socket2 v0.3.19
Compiling rand v0.4.6
Compiling want v0.3.0
Compiling if-addrs v0.6.5
Compiling errno v0.2.7
Compiling page_size v0.4.2
Compiling memmap v0.7.0
Compiling crossbeam-utils v0.8.3
Compiling aho-corasick v0.7.15
Compiling memoffset v0.6.1
Compiling paste-impl v0.1.18
Compiling quick-xml v0.20.0
Compiling generic-array v0.14.4
Compiling ring v0.16.20
Compiling generic-array v0.12.4
Compiling miniz_oxide v0.4.4
Compiling unicase v2.6.0
Compiling nix v0.15.0
Compiling tiny-keccak v2.0.2
Compiling rand_pcg v0.1.2
Compiling rand_chacha v0.1.1
Compiling num-format v0.4.0
Compiling idna v0.2.2
Compiling lmdb-rkv-sys v0.11.0 (https://github.com/holochain/lmdb-rs.git#46043614)
Compiling idna v0.1.5
Compiling err-derive v0.2.4
Compiling raw-cpuid v7.0.4
Compiling openssl v0.10.32
Compiling native-tls v0.2.7
Compiling smallvec v0.6.14
Compiling syn v1.0.62
Compiling proc-macro-error-attr v1.0.4
Compiling rand_core v0.5.1
Compiling ahash v0.6.3
Compiling mio v0.6.23
Compiling rmp v0.8.10
Compiling num-integer v0.1.44
Compiling float-cmp v0.8.0
Compiling ordered-float v1.1.1
Compiling rand_core v0.6.2
Compiling uuid v0.8.2
Compiling clap v2.33.3
Compiling parking_lot v0.10.2
Compiling directories v3.0.1
Compiling directories v2.0.2
Compiling tempdir v0.3.7
Compiling crossbeam-channel v0.5.0
Compiling crossbeam-epoch v0.9.3
Compiling regex v1.4.3
Compiling paste v0.1.18
Compiling cipher v0.2.5
Compiling universal-hash v0.4.0
Compiling digest v0.9.0
Compiling aead v0.3.2
Compiling digest v0.8.1
Compiling crypto-mac v0.7.0
Compiling block-buffer v0.7.3
Compiling backtrace v0.3.56
Compiling flate2 v1.0.20
Compiling mime_guess v2.0.3
Compiling sct v0.6.0
Compiling webpki v0.21.4
Compiling const-random-macro v0.1.13
Compiling rand v0.6.5
Compiling lmdb-rkv v0.14.0 (https://github.com/holochain/lmdb-rs.git#46043614)
Compiling url v1.7.2
Compiling rand_chacha v0.2.2
Compiling mio-uds v0.6.8
Compiling chrono v0.4.19
Compiling rand_chacha v0.3.0
Compiling synstructure v0.12.4
Compiling proc-macro-error v1.0.4
Compiling darling_core v0.10.2
Compiling crossbeam-deque v0.8.0
Compiling poly1305 v0.6.2
Compiling pem v0.8.3
Compiling predicates v1.0.7
Compiling os_type v2.2.0
Compiling blake3 v0.1.5
Compiling sha-1 v0.8.2
Compiling ct-logs v0.6.0
Compiling rustls v0.17.0
Compiling rustls v0.19.0
Compiling serde_derive v1.0.104
Compiling thiserror-impl v1.0.24
Compiling tracing-attributes v0.1.13
Compiling futures-macro v0.3.13
Compiling pin-project-internal v0.4.27
Compiling tokio-macros v0.2.6
Compiling pin-project-internal v1.0.5
Compiling holochain_serialized_bytes_derive v0.0.48
Compiling holochain_serialized_bytes_derive v0.0.49
Compiling derive_more v0.99.11
Compiling strum_macros v0.18.0
Compiling shrinkwraprs v0.3.0
Compiling async-trait v0.1.47
Compiling mockall_derive v0.8.3
Compiling derivative v2.2.0
Compiling const-random v0.1.13
Compiling nanoid v0.3.0
Compiling rand v0.7.3
Compiling rand v0.8.3
Compiling yasna v0.3.2
Compiling structopt-derive v0.4.14
Compiling rayon-core v1.9.0
Compiling zeroize_derive v1.0.1
Compiling failure_derive v0.1.8
Compiling darling_macro v0.10.2
Compiling wasmer-runtime-core v0.16.2
Compiling rustls-native-certs v0.3.0
Compiling thiserror v1.0.24
Compiling futures-util v0.3.13
Compiling tracing v0.1.21
Compiling tokio v0.2.25
Compiling pin-project v0.4.27
Compiling pin-project v1.0.5
Compiling serde v1.0.104
Compiling ahash v0.3.8
Compiling rcgen v0.8.5
Compiling tempfile v3.2.0
Compiling mockall v0.8.3
Compiling rayon v1.5.0
Compiling zeroize v1.2.0
Compiling failure v0.1.8
Compiling structopt v0.3.21
Compiling darling v0.10.2
Compiling quinn-proto v0.6.1
Compiling tracing-futures v0.2.5
Compiling futures-executor v0.3.13
Compiling tokio-util v0.3.1
Compiling tokio-tls v0.3.1
Compiling dashmap v3.11.10
Compiling indexmap v1.6.2
Compiling serde_bytes v0.11.5
Compiling rmp-serde v0.14.4
Compiling serde-transcode v1.1.0
Compiling bincode v1.3.1
Compiling tracing-serde v0.1.2
Compiling url v2.2.1
Compiling toml v0.5.8
Compiling serde_urlencoded v0.7.0
Compiling serde-bench v0.0.7
Compiling serde_yaml v0.8.17
Compiling url_serde v0.2.0
Compiling uuid v0.7.4
Compiling chacha20 v0.6.0
Compiling curve25519-dalek v3.0.2
Compiling salsa20 v0.7.2
Compiling derive_builder_core v0.9.0
Compiling futures v0.3.13
Compiling sysinfo v0.15.9
Compiling serde_json v1.0.64
Compiling inferno v0.10.3
Compiling h2 v0.2.7
Compiling gimli v0.20.0
Compiling url2 v0.0.6
Compiling rkv v0.10.4 (https://github.com/holochain/rkv.git?branch=master#6f6b4b5a)
Compiling tungstenite v0.10.1
Compiling human-panic v1.0.3
Compiling chacha20poly1305 v0.7.1
Compiling xsalsa20poly1305 v0.6.0
Compiling x25519-dalek v1.1.0
Compiling lair_keystore_api v0.0.1-alpha.10
Compiling holochain_wasm_test_utils v0.0.1 (/home/dellams/holochain-rsm/crates/test_utils/wasm)
Compiling opentelemetry v0.8.0
Compiling must_future v0.1.2
Compiling quinn v0.6.2
Compiling tokio_safe_block_on v0.1.2 (https://github.com/neonphog/tokio_safe_block_on.git?branch=fix_holochain_bug#927f5a80)
Compiling derive_builder v0.9.0
Compiling tracing-subscriber v0.2.16
Compiling holochain_serialized_bytes v0.0.48
Compiling holochain_serialized_bytes v0.0.49
Compiling tokio-tungstenite v0.10.1
Compiling hyper v0.13.10
Compiling crypto_box v0.5.0
Compiling fixt v0.0.1 (/home/dellams/holochain-rsm/crates/fixt)
Compiling holochain_wasmer_common v0.0.66
Compiling tracing-opentelemetry v0.8.0
Compiling holochain_websocket v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_websocket)
Compiling holo_hash v0.0.1 (/home/dellams/holochain-rsm/crates/holo_hash)
Compiling hyper-tls v0.4.3
Compiling observability v0.1.3
Compiling wasmer-clif-fork-frontend v0.59.0
Compiling cranelift-native v0.59.0
Compiling holochain_wasmer_guest v0.0.66
Compiling holochain_zome_types v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_zome_types)
Compiling reqwest v0.10.10
Compiling wasmer-clif-fork-wasm v0.59.0
Compiling ghost_actor v0.3.0-alpha.1
Compiling wasmer-clif-backend v0.16.2
Compiling kitsune_p2p_types v0.0.1 (/home/dellams/holochain-rsm/crates/kitsune_p2p/types)
Compiling wasmer-runtime v0.16.2
Compiling kitsune_p2p_transport_quic v0.0.1 (/home/dellams/holochain-rsm/crates/kitsune_p2p/transport_quic)
Compiling lair_keystore_client v0.0.1-alpha.10
Compiling hdk3_derive v0.0.1 (/home/dellams/holochain-rsm/crates/hdk3_derive)
Compiling kitsune_p2p_proxy v0.0.1 (/home/dellams/holochain-rsm/crates/kitsune_p2p/proxy)
Compiling holochain_wasmer_host v0.0.66
Compiling kitsune_p2p v0.0.1 (/home/dellams/holochain-rsm/crates/kitsune_p2p/kitsune_p2p)
Compiling holochain_keystore v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_keystore)
warning: unused import: ghost_actor::dependencies::tracing_futures
→ crates/kitsune_p2p/kitsune_p2p/src/spawn/actor/gossip.rs:8:5
|
8 | use ghost_actor::dependencies::tracing_futures;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[warn(unused_imports)] on by default

Compiling holochain_types v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_types)
Compiling holochain_lmdb v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_lmdb)
Compiling holochain_p2p v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_p2p)
Compiling holochain_conductor_api v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_conductor_api)
Compiling hdk3 v0.0.1 (/home/dellams/holochain-rsm/crates/hdk3)
warning: 1 warning emitted

Compiling holochain_test_wasm_common v0.0.1 (/home/dellams/holochain-rsm/crates/test_utils/wasm_common)
Compiling holochain_state v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_state)
Compiling holochain_cascade v0.0.1 (/home/dellams/holochain-rsm/crates/holochain_cascade)
Compiling holochain v0.0.100 (/home/dellams/holochain-rsm/crates/holochain)
error[E0597]: __self does not live long enough
→ crates/holochain/src/conductor/handle.rs:267:9
|
267 | self.conductor
| -^^^
| |
| borrowed value does not live long enough
| |
268 | | .write()
269 | | .await
| |
_________- a temporary with access to the borrow is created here …

272 | }
| -
| |
| __self dropped here while still borrowed
| … and the borrow might be used here, when that temporary is dropped and runs the Drop code for type tokio::sync::RwLockWriteGuard
|
= note: the temporary is part of an expression at the end of a block;
consider forcing this temporary to be dropped sooner, before the block’s local variables are dropped
help: for example, you could save the expression’s value in a new local variable x and then make x be the expression at the end of the block
|
267 | let x = self.conductor
268 | .write()
269 | .await
270 | .startup_app_interfaces_via_handle(self.clone())
271 | .await; x
|

error[E0597]: __self does not live long enough
→ crates/holochain/src/conductor/handle.rs:447:9
|
447 | self.conductor
| -^^^
| |
| borrowed value does not live long enough
| |
448 | | .write()
449 | | .await
| |
_________- a temporary with access to the borrow is created here …

452 | }
| -
| |
| __self dropped here while still borrowed
| … and the borrow might be used here, when that temporary is dropped and runs the Drop code for type tokio::sync::RwLockWriteGuard
|
= note: the temporary is part of an expression at the end of a block;
consider forcing this temporary to be dropped sooner, before the block’s local variables are dropped
help: for example, you could save the expression’s value in a new local variable x and then make x be the expression at the end of the block
|
447 | let x = self.conductor
448 | .write()
449 | .await
450 | .add_inactive_app_to_db(app)
451 | .await; x
|

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0597.
error: failed to compile holochain v0.0.100 (/home/dellams/holochain-rsm/crates/holochain), intermediate artifacts can be found at /home/dellams/holochain-rsm/target

Caused by:
could not compile holochain

To learn more, run the command again with --verbose.

Any ideas? Thanks :slight_smile:

So now I am blocked with Nix-shell, crate windows and crate WSL2. Yay! :slight_smile: lol

@dellams
that was a bug that others encountered, and they just fixed it up, but you prbly aren’t on that commit. Update your holochain repo to the latest commit here: https://github.com/holochain/holochain/commits/develop
You can see the last merged PR dealt with exactly that issue. Try this on the wsl2 thing, I am thinking you will have success

1 Like

Ok thanks, will give it a go and report back… :slight_smile:

I just tried holochain.love on my dual-booted standalone install of ubuntu and I got this error:

error: creating log file ‘/nix/var/log/nix/drvs/93//33vz9a8zkvwlmrknpkbz13s187nipc-rust-1.48.0-2020-11-16-7eac88abb.drv.bz2’: Permission denied
david@david-System-Product-Name:~$

Before this I got the lock error so I removed the lock file and that fixed that one. Any ideas how to fix this one?

Thanks.

Ok I got it working using the manual build of the crates on my standalone ubunto install, but when I tried to build elemental chat I got these errors:

david@david-System-Product-Name:~/Downloads/holochain-develop/elemental-chat-develop$ CARGO_TARGET_DIR=target cargo build --release --target wasm32-unknown-unknown
Compiling byteorder v1.4.2
Compiling hashbrown v0.9.1
Compiling itoa v0.4.7
Compiling cfg-if v1.0.0
Compiling cfg-if v0.1.10
Compiling ppv-lite86 v0.2.10
Compiling smallvec v1.6.1
error[E0463]: can’t find crate for core
|
= note: the wasm32-unknown-unknown target may not be installed

error: aborting due to previous error

For more information about this error, try rustc --explain E0463.
error[E0463]: can’t find crate for core
|
= note: the wasm32-unknown-unknown target may not be installed

error: aborting due to previous error

For more information about this error, try rustc --explain E0463.
error: could not compile itoa

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish…
error[E0463]: can’t find crate for core
|
= note: the wasm32-unknown-unknown target may not be installed

error: aborting due to previous error

For more information about this error, try rustc --explain E0463.
error[E0463]: can’t find crate for std
|
= note: the wasm32-unknown-unknown target may not be installed

error: aborting due to previous error

For more information about this error, try rustc --explain E0463.
error: build failed
david@david-System-Product-Name:~/Downloads/holochain-develop/elemental-chat-develop$

Is this some sort of path issue?

Thanks

did you install the wasm32-unknown-unknown target for your cargo?

No, how do I do that? Thanks :slight_smile:

Ideally be good to get this working in WSL2 rather than standalone… :slight_smile:

rustup target install wasm32-unknown-unknown

2 Likes

Great thanks, got further. WASM now builds. What has happened to dna-util? The repreo is not there anymore? I think it got integrated into the conductor? But when I view the help for it in the terminal it doesn’t list any commands for creating the dna?

I found this:

But hc is not a recognised command? Any ideas? :slight_smile:

dna-util has been deprecated, and its functions moved into “hc” .

What environment were you using, where “hc” is not found. Were you in the nix-shell from the nix file that’s in the dna-build-tutorial project?
If you were, it should be there

nix-shell doesn’t work properly on WSL2 in Windows, had nothing but issues with it (see some of the latest above) so now need to use crates directly as a workaround.

I seem to be having luck with this raw command to install hc:

cargo install holochain_cli --git https://github.com/holochain/holochain --branch main

1 Like

Ok great thanks. :slight_smile:

Will try it…

I managed to get nixshell working but the odd thing is hc was still not found?

I thought it was suppose to be all setup and ready to go in nix-shell? It took over 1.5 hours to build on my machine! lol

Cheers
D.

Good news, I got hc working :slight_smile: :heart:

I got the conductor working with ElementalChat! Yay! :slight_smile: Only took 6 months but we got there in the end! :wink: lol

Now I can finally get back to HoloNET RSM. I tried connecting and I got back the error:

Unable to connect to the remote server. No connection could be made because the target machine actively refused it. (localhost:8888)

I am running the conductor inside a nix-shell in WLS2 on Windows 10. Is the port being blocked somewhere? The odd thing this use to work fine with the old Redux version.

Any help would be really appreciated thanks. :slight_smile:

Cheers
D.

1 Like

I noticed it is a lot more complicated with more steps than it use to be. This is what I hope to hide away under the hood with HoloNET and the Low-Code .NET HDK I have been working on (I actually finished this last Sept and was about to release it when RSM was announced, so I had to shelve it until I could add RSM support so you can imagine my frustration! :wink: lol

It dynamically generates rust and c# code from templates from a meta-model. It makes building hApps much quicker and you can also debug them because it uses rust for the DAL (Data Access Layer) and it uses C# for the BLL (Business Logic Layer). So people can focus on their app idea rather than the technical DAL stuff. This uses HoloNET under the hood to connect to the conductor. If we could have a Windows binary again I could then auto-start and shutdown the conductor like it use to before nix came along… it could also automatically package the dna/hApp etc… :slight_smile:

Oh, and it also bridges into any other platform/network/api/protocol using the OASIS API so currently it supports Holochain, EOSIO, Ethereum, MongoDB, SEEDS, Neo4j, SQLLite & IPFS. Soon ThreeFold, ActivityPub, SOLID and many more will be added… :slight_smile:

This is to allow people to bridge into Holochain and create a easy migration path to it. It also uses the best bits of each tech stack/platform to harnesses the power of unity consciousness… and removes all silos once and for all. Also when you build on it (OAPPs) you never need to migrate your code again and is always future proof because the OASIS API handles this for you… :slight_smile:

People also no longer need to keep learning new languages, stacks, etc. They just use the simple intuitive abstraction API over everything… :slight_smile:

So the only thing holding up releasing this is getting HoloNET to connect to the new RSM conductor so any help with this would be REALLY appreciated.

Oh, and myself and Walter plan to integrate GO (Generative Objects - also written in c#) and the OASIS/.NET HDK so this would be even more powerful then! :slight_smile: :heart:

Also, want to integrate into CRISPR ASAP too… :slight_smile:

Ready to live the Low Code Dream? :wink: :heart:

Cheers
D.

1 Like

Wow! Great!

Anyway, before I jump back into development-work, a few questions:

  • @guillemcordoba, is tryorama usable yet?
  • Has anyone had any success with connecting UI (natively running on Windows) to the DNA instance (cell) running the conductor in WSL?

'Cause, what’s the point of developing (h)apps if one can’t actively test and use them… Last time, I had a very hard time with testing… Are things (relatively) stable now? How do you guys (the core team, and @guillemcordoba) test or connect to cells (in Windows; though I’m damn sure none of you are on Windows)? I’d request that one of you go through the pain of going through the whole (h)app development cycle on Windows and share your experience and know-hows from the experience… [I hate being the first in anything; especially being the first in “going through pain”… Haha!]

1 Like

Yeah I second that. Up to now it seems it’s me who has had to be the guinie pig that needs to go through the pain! Lol :wink:

1 Like

Yes, tryorama is usable again. You can see the dna build tutorial repo for a full working example of everything.

I don’t have the bandwidth to go through that cycle, more so as windows doesn’t have native nix support. And I think that apart from that there is one piece in holochain core that doesn’t have windows support yet. I’ve been going through that experience of advancing through things without any or little documentation, and it feels great to share the discoveries afterwards. I encourage you to go through it if you really want something to work (eg in Windows without any VM), as of now everything is yet to be built (templates, tutorials, guides), and I’ve found myself overworked with everything, so it would be great to have others be involved in that as well :slight_smile:

4 Likes

Yeah know the feeling about being overworked brother! :wink: lol also battling through health and adrenal issues, which has unfortunately slowed me down a lot but we will get there in the end! :slightly_smiling_face::heart::innocent::blue_heart::pray:

HODL! :innocent::pray::heart::blue_heart::rainbow::partying_face::smiling_face_with_three_hearts:

1 Like