Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure on illumos (omnios-r151032-19f7bd2ae5) #2358

Closed
MosakujiHokuto opened this issue Mar 21, 2020 · 0 comments · Fixed by #2359
Closed

Build failure on illumos (omnios-r151032-19f7bd2ae5) #2358

MosakujiHokuto opened this issue Mar 21, 2020 · 0 comments · Fixed by #2359

Comments

@MosakujiHokuto
Copy link

Please read the instruction and answer the following questions before submitting your issue. Thank you.
Please answer all the questions with enough information. All issues not following this template will be closed immediately.
If you are not sure if your question is truely a bug in V2Ray, please discuss it here first.

I'm sure it's not a "bug" for which this template is intended, but I can't find a more proper one.

  1. What version of V2Ray are you using (If you deploy different version on server and client, please explicitly point out)?

master branch in this repo

  1. What's your scenario of using V2Ray? E.g., Watching YouTube videos in Chrome via Socks/VMess proxy.

I don't think it's relevant.

  1. What did you see? (Please describe in detail, such as timeout, fake TLS certificate etc)
$ go test
# v2ray.com/core/common/buf
common/buf/readv_posix.go:22:4: cannot use &b.v[0] (type *byte) as type *int8 in field value
common/buf/readv_posix.go:30:29: undefined: syscall.SYS_READV
FAIL	v2ray.com/core [build failed]
  1. What's your expectation?

build complete successfully

  1. Please attach your configuration file (Mask IP addresses before submit this issue).

Server configuration:

    // Please attach your server configuration here.

Client configuration:

    // Please attach your client configuration here.
  1. Please attach error logs, especially the bottom lines if the file is large. Error log file is usually at /var/log/v2ray/error.log on Linux.

Server error log:

    // Please attach your server error log here.

Client error log:

    // Please attach your client error log here.
  1. Please attach access log. Access log is usually at '/var/log/v2ray/access.log' on Linux.
    // Please attach your server access log here.
  1. Other configurations (such as Nginx) and logs.

  2. If V2Ray doesn't run, please attach output from --test.

The command is usually /usr/bin/v2ray/v2ray --test --config /etc/v2ray/config.json, but may vary according to your scenario.

  1. If V2Ray service doesn't run, please attach journal log.

Usual command is journalctl -u v2ray.

Please review your issue before submitting.

Sorry for choosing an improper template, but I can't find a more proper one, and I have to choose one. I can bring this up in discussion but it will be hard to cite the issue in commit message, and I've already got a PR prepared.

The syscall package is missing lots of definitions on Solaris/illumos, which makes it basically unusable for us on those platforms. And unfortunately, syscall package is already freezed, which means its unlikely that those missing definitions will be added in the future.

Therefore, I suggest switching to x/sys/unix whenever possible, which

  • Is active
  • Basically the same with syscall (if not better)

I've updated multiReader implementation on illumos to use x/sys/unix, and it doesn't take lots of efforts, so I think it's worth considering?

More details in the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant