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
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
So now I am blocked with Nix-shell, crate windows and crate WSL2. Yay! 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
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$
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?
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.
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.
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! 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…
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…
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…
People also no longer need to keep learning new languages, stacks, etc. They just use the simple intuitive abstraction API over everything…
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!
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!]
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
Yeah know the feeling about being overworked brother! lol also battling through health and adrenal issues, which has unfortunately slowed me down a lot but we will get there in the end!