GithubHelp home page GithubHelp logo

Comments (9)

Thomasdezeeuw avatar Thomasdezeeuw commented on August 22, 2024 1

@Thomasdezeeuw I'm guessing it's more the OS than the architecture that you're interested in for the tier 2 targets?

Yes let's start with the OS. I think if we can run tests on all supported OSs, on any architecture, we can ensure the functionally works. Than cargo check would be enough for different architectures just to make the we got the libc definitions and functions right.

It looks like we might be able to use MacOS workers in GitHub Actions to run some of the BSDs. Alternatively, Travis CI does seem to support FreeBSD (although I can't find any docs on it), which we do still use in some repos here in rust-lang (specifically stdarch and stdsimd).

There is also https://cirrus-ci.org/ for FreeBSD, e.g. Mio uses the following file: https://github.com/tokio-rs/mio/blob/04050dbd87d7b79c33168c6a972a8bb35cf510f8/.cirrus.yml.

from socket2.

jkelleyrtp avatar jkelleyrtp commented on August 22, 2024 1

I believe WASI can be supported since their lib-c exposes sockets. I'd be interested in adding it.

from socket2.

Thomasdezeeuw avatar Thomasdezeeuw commented on August 22, 2024 1

Let's have the discussion in the other thread (#268 (comment)).

from socket2.

KodrAus avatar KodrAus commented on August 22, 2024

cc @rust-lang/infra I think we have a few repos in rust-lang with fairly extensive CI suites. Can we think of any examples that we could use to bootstrap some broader CI here? I'm thinking particularly of iOS...

from socket2.

Thomasdezeeuw avatar Thomasdezeeuw commented on August 22, 2024

@KodrAus, @rust-lang/infra a little update: tier 2 targets are now all cargo checked, but if it's possible to actually run the tests somehow I would prefer that.

from socket2.

KodrAus avatar KodrAus commented on August 22, 2024

@Thomasdezeeuw I'm guessing it's more the OS than the architecture that you're interested in for the tier 2 targets?

It looks like we might be able to use MacOS workers in GitHub Actions to run some of the BSDs. Alternatively, Travis CI does seem to support FreeBSD (although I can't find any docs on it), which we do still use in some repos here in rust-lang (specifically stdarch and stdsimd).

from socket2.

Thomasdezeeuw avatar Thomasdezeeuw commented on August 22, 2024

Don't think there is much left to do here, so closing.

from socket2.

Thomasdezeeuw avatar Thomasdezeeuw commented on August 22, 2024

Sounds good @jkelleyrtp. Although last I check (I think version 9/10) WASI didn't allow for the creation of sockets, however that could have changed. In either case the various socket options could still be useful.

from socket2.

LetsMelon avatar LetsMelon commented on August 22, 2024

I believe WASI can be supported since their lib-c exposes sockets. I'd be interested in adding it.

I would be interested in giving it a try. However, after looking a bit through the codebase, I feel that it might be somewhat complicated and not that easy at the moment.

Sounds good @jkelleyrtp. Although last I check (I think version 9/10) WASI didn't allow for the creation of sockets, however that could have changed. In either case the various socket options could still be useful.

I think that's still true, but there is an open and active proposal to add the functionality to create sockets (https://github.com/WebAssembly/wasi-sockets/blob/f2ffc745086ec7ab168f1244f2b3ef0342bf9ddc/wit/tcp-create-socket.wit#L26 and https://github.com/WebAssembly/wasi-sockets/blob/f2ffc745086ec7ab168f1244f2b3ef0342bf9ddc/wit/udp-create-socket.wit#L26) which is currently in 'Phase 3 - Implementation Phase (CG + WG)'. The proposal has been already introduced in WASI Preview 2 which the newly announced target wasm32-wasip2 follows. In the introduction blog post under Conclusion it's encouraged to use cargo-component until the newly created target achieves tier-2. In cargo-component I found a reply from @sunfishcode to an issue that 'work on supporting that (Preview 2, sockets) in libc is underway'.

At the time of writing, WASIX has support via sock_open() to create sockets.


I'm just a random user who stumbled upon this problem: socket2 cannot be built with the target wasm32-wasi. I'm not a wasm/wasi wizard, so please correct me if I have made an error or overlooked something.

from socket2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.