Giter VIP home page Giter VIP logo

Comments (33)

anacrolix avatar anacrolix commented on May 29, 2024

Yes the darwin-m1 release asset is for aarch64, or do you mean for a different OS too?

from cove.

vRobM avatar vRobM commented on May 29, 2024

Yes, usually for ARMv7 and ARMv8 devices, like Raspberry Pi's

from cove.

a52948 avatar a52948 commented on May 29, 2024

@anacrolix arm64 like oraclecloud's arm virtual machine

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

Sounds cool. Just an obvious question, but I'm guessing Linux. I'll add these in v0.0.11.

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

I didn't have any luck. For linux/arm64 the closest I got was with armv7-unknown-linux-gnueabihf, but got an error from cgo about 64 bit int size. For linux/arm (arm-unknown-linux-gnueabi), Rust barfs trying to link.

from cove.

aicynide avatar aicynide commented on May 29, 2024

Termux is also amr64. Please add in termux package repo

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

I have built successfully:

cove build name go dist rust toolchain
linux-amd64 linux/amd64 x86_64-unknown-linux-gnu
linux-arm64 linux/arm64 aarch64-unknown-linux-gnu
linux-arm linux/arm arm-unknown-linux-gnueabi

There are a few other variants, such as arm-unknown-linux-gnueabihf and armv7-unknown-linux-gnueabihf. Let me know if there's a specific combination you require. I'll include the releases above (linux-arm and linux-arm64 being the new ones) in the next release.

from cove.

a52948 avatar a52948 commented on May 29, 2024

I only need to test arm64 or aarch64, others may need to run on Raspberry

from cove.

aicynide avatar aicynide commented on May 29, 2024

@anacrolix In Android (termux) this patch is must needed https://github.com/termux/termux-packages/blob/master/packages/golang/fix-hardcoded-etc-resolv-conf.diff otherwise no internet

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

@aicynide please try the pre-release https://github.com/anacrolix/cove/releases/tag/v0.0.12.

from cove.

a52948 avatar a52948 commented on May 29, 2024

image
@anacrolix

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

Thank you!

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

I'm uploading the fixed pre-release assets now. @a52948 @aicynide please try again.

from cove.

a52948 avatar a52948 commented on May 29, 2024

image
It works, but I'm not sure if it's normal @anacrolix

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

That looks fine. When v0.0.12 is the latest release the message will go away. The systray error is also fine for a headless system. Try running with -headless to make the error go away, but it shouldn't matter either way.

from cove.

a52948 avatar a52948 commented on May 29, 2024

Built with an arm64 container, you can try it.
https://hub.docker.com/r/a52948/cove @anacrolix

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

Sweet, works nicely!! Looks like it complains about IPv6 a lot from inside Docker.

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

I'm not sure how you set up the entrypoint, I wasn't able to pass flags with the configuration you've used in the Docker image. By clobbering the entrypoint I was able to run this:

docker run --rm --name cove -v ./app:/app/ -p 8080:8080 --entrypoint ./cove a52948/cove -headless -ipv6=false

This fixes a lot of the error log messages, and runs cove in the foreground for my testing purposes. I tried to configure IPv6 in Docker using https://docs.docker.com/config/daemon/ipv6/ but it didn't help.

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

If you get panics about while handling "^/fileState$", those are fixed in an unreleased build.

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

I seem to have some issues with the built in torrent client struggling to get peers from the DHT. I believe it's due to the network configuration in Docker. It seems to have no trouble indexing though. You can work around this by passing -implicitTracker=udp://tracker.opentrackr.org:1337/announce to cove, but it's not ideal. Can you let me know if you have the same problem?

from cove.

a52948 avatar a52948 commented on May 29, 2024

If you are not very proficient in docker, you can try to use docker's 'host' network mode, which uses the host network directly instead of through nat conversion. If your host has ipv6, then your container should be able to use the IPV6 network directly.

from cove.

a52948 avatar a52948 commented on May 29, 2024

I'm not sure how you set up the entrypoint, I wasn't able to pass flags with the configuration you've used in the Docker image. By clobbering the entrypoint I was able to run this:

docker run --rm --name cove -v ./app:/app/ -p 8080:8080 --entrypoint ./cove a52948/cove -headless -ipv6=false

This fixes a lot of the error log messages, and runs cove in the foreground for my testing purposes. I tried to configure IPv6 in Docker using https://docs.docker.com/config/daemon/ipv6/ but it didn't help.

You can rebuild a new image from this image of mine

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

Network host didn't help. I'm not sure what the fix is, but if nobody else is affected it doesn't matter for now.

from cove.

aicynide avatar aicynide commented on May 29, 2024

@anacrolix no, can't run linux-arm64 binary in termux. How can i extract cove binary from apk?

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

@aicynide I don't suppose you get errors about dynamically linking dht-indexer-rust?

Could you share the errors? The apk only contains .so files, perhaps you can bundle them up or invoke them anyway with the right loader:

unzip -l cove.apk
Archive:  cove.apk
  Length      Date    Time    Name
---------  ---------- -----   ----
     2192  00-00-1980 00:00   classes.dex
 64954156  00-00-1980 00:00   lib/armeabi-v7a/libcove.so
 67877024  00-00-1980 00:00   lib/arm64-v8a/libcove.so
 65679632  00-00-1980 00:00   lib/x86/libcove.so
 69748296  00-00-1980 00:00   lib/x86_64/libcove.so
     2340  00-00-1980 00:00   AndroidManifest.xml
      489  00-00-1980 00:00   META-INF/MANIFEST.MF
      515  00-00-1980 00:00   META-INF/CERT.SF
     1064  00-00-1980 00:00   META-INF/CERT.RSA
---------                     -------
268265708                     9 files

from cove.

a52948 avatar a52948 commented on May 29, 2024

Network host didn't help. I'm not sure what the fix is, but if nobody else is affected it doesn't matter for now.
you can see this
https://zhuanlan.zhihu.com/p/618608973?utm_id=0&wd=&eqid=d05ad42a0004bb460000000664787f0a&wd=&eqid=9a6776c7009e1a69000000036495c249

from cove.

aicynide avatar aicynide commented on May 29, 2024

bash: ./cove: cannot execute: required file not found

from cove.

aicynide avatar aicynide commented on May 29, 2024

Yeah apk only has .so files

from cove.

vRobM avatar vRobM commented on May 29, 2024

Offtopic, FYI - https://go.dev/blog/loopvar-preview

from cove.

romanovj avatar romanovj commented on May 29, 2024

cove-v0.0.12-linux-arm64.zip in termux glibc enviroment

u0_a171@$ ./cove
SIGSYS: bad system call
PC=0x41f8d0 m=0 sigcode=1

goroutine 1 [syscall, locked to thread]:
syscall.Syscall6(0x400012e6c0?, 0x2b?, 0x2b?, 0x400012e6f0?, 0x0?, 0x4f?, 0xffffffffffffff9c?)
        /Users/anacrolix/src/go1.21/src/syscall/syscall_linux.go:91 +0x2c fp=0x4000185b20 sp=0x4000185a90 pc=0x4a7fbc
syscall.faccessat2(0x400012e6c0?, {0x400012e6c0?, 0x78f496e7d0?}, 0x1, 0xc0?)
        /Users/anacrolix/src/go1.21/src/syscall/zsyscall_linux_arm64.go:33 +0x84 fp=0x4000185b90 sp=0x4000185b20 pc=0x4a4454
syscall.Faccessat(0x400012e6c0?, {0x400012e6c0, 0x2b}, 0x1, 0x200)
        /Users/anacrolix/src/go1.21/src/syscall/syscall_linux.go:167 +0x3c fp=0x4000185c80 sp=0x4000185b90 pc=0x4a1aac
internal/syscall/unix.Eaccess(...)
        /Users/anacrolix/src/go1.21/src/internal/syscall/unix/eaccess_linux.go:10
os/exec.findExecutable({0x400012e6c0, 0x2b})
        /Users/anacrolix/src/go1.21/src/os/exec/lp_unix.go:31 +0x58 fp=0x4000185cd0 sp=0x4000185c80 pc=0xa4e6d8
os/exec.LookPath({0x1841638, 0x7})
        /Users/anacrolix/src/go1.21/src/os/exec/lp_unix.go:71 +0x1b8 fp=0x4000185d70 sp=0x4000185cd0 pc=0xa4e9a8
github.com/anacrolix/ffprobe.init.0()
        /Users/anacrolix/go/pkg/mod/github.com/anacrolix/[email protected]/init.go:20 +0x2c fp=0x4000185e00 sp=0x4000185d70 pc=0xece79c
runtime.doInit1(0x29ad290)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:6740 +0xd4 fp=0x4000185f30 sp=0x4000185e00 pc=0x465bc4
runtime.doInit(...)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:6707
runtime.main()
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:249 +0x374 fp=0x4000185fd0 sp=0x4000185f30 pc=0x457bf4
runtime.goexit()
        /Users/anacrolix/src/go1.21/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000185fd0 sp=0x4000185fd0 pc=0x48cf44

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:398 +0xc8 fp=0x400006af90 sp=0x400006af70 pc=0x457f98
runtime.goparkunlock(...)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:404
runtime.forcegchelper()
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:322 +0xb8 fp=0x400006afd0 sp=0x400006af90 pc=0x457df8
runtime.goexit()
        /Users/anacrolix/src/go1.21/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400006afd0 sp=0x400006afd0 pc=0x48cf44
created by runtime.init.6 in goroutine 1
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:310 +0x24

goroutine 18 [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:398 +0xc8 fp=0x4000066760 sp=0x4000066740 pc=0x457f98
runtime.goparkunlock(...)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:404
runtime.bgsweep(0x0?)
        /Users/anacrolix/src/go1.21/src/runtime/mgcsweep.go:280 +0xa0 fp=0x40000667b0 sp=0x4000066760 pc=0x441fb0
runtime.gcenable.func1()
        /Users/anacrolix/src/go1.21/src/runtime/mgc.go:200 +0x28 fp=0x40000667d0 sp=0x40000667b0 pc=0x436a58
runtime.goexit()
        /Users/anacrolix/src/go1.21/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40000667d0 sp=0x40000667d0 pc=0x48cf44
created by runtime.gcenable in goroutine 1
        /Users/anacrolix/src/go1.21/src/runtime/mgc.go:200 +0x6c

goroutine 19 [GC scavenge wait]:
runtime.gopark(0x40000ae000?, 0x1da0160?, 0x1?, 0x0?, 0x40000a24e0?)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:398 +0xc8 fp=0x4000066f50 sp=0x4000066f30 pc=0x457f98
runtime.goparkunlock(...)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:404
runtime.(*scavengerState).park(0x3968560)
        /Users/anacrolix/src/go1.21/src/runtime/mgcscavenge.go:425 +0x5c fp=0x4000066f80 sp=0x4000066f50 pc=0x43f7fc
runtime.bgscavenge(0x0?)
        /Users/anacrolix/src/go1.21/src/runtime/mgcscavenge.go:653 +0x44 fp=0x4000066fb0 sp=0x4000066f80 pc=0x43fd44
runtime.gcenable.func2()
        /Users/anacrolix/src/go1.21/src/runtime/mgc.go:201 +0x28 fp=0x4000066fd0 sp=0x4000066fb0 pc=0x4369f8
runtime.goexit()
        /Users/anacrolix/src/go1.21/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000066fd0 sp=0x4000066fd0 pc=0x48cf44
created by runtime.gcenable in goroutine 1
        /Users/anacrolix/src/go1.21/src/runtime/mgc.go:201 +0xac

goroutine 34 [finalizer wait]:
runtime.gopark(0x40001024e0?, 0x1a0?, 0xe8?, 0xa5?, 0xe2b5a8?)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:398 +0xc8 fp=0x400006a580 sp=0x400006a560 pc=0x457f98
runtime.runfinq()
        /Users/anacrolix/src/go1.21/src/runtime/mfinal.go:193 +0x108 fp=0x400006a7d0 sp=0x400006a580 pc=0x435b48
runtime.goexit()
        /Users/anacrolix/src/go1.21/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400006a7d0 sp=0x400006a7d0 pc=0x48cf44
created by runtime.createfing in goroutine 1
        /Users/anacrolix/src/go1.21/src/runtime/mfinal.go:163 +0x80

goroutine 35 [chan receive]:
runtime.gopark(0x400005ca00?, 0x4000364008?, 0x50?, 0x0?, 0x5d6df3844e718?)
        /Users/anacrolix/src/go1.21/src/runtime/proc.go:398 +0xc8 fp=0x40002526b0 sp=0x4000252690 pc=0x457f98
runtime.chanrecv(0x4000360000, 0x4000252790, 0x1)
        /Users/anacrolix/src/go1.21/src/runtime/chan.go:583 +0x414 fp=0x4000252730 sp=0x40002526b0 pc=0x423254
runtime.chanrecv2(0x6fc23ac00?, 0x0?)
        /Users/anacrolix/src/go1.21/src/runtime/chan.go:447 +0x14 fp=0x4000252760 sp=0x4000252730 pc=0x422e24
github.com/golang/glog.(*loggingT).flushDaemon(0x0?)
        /Users/anacrolix/go/pkg/mod/github.com/golang/[email protected]/glog.go:882 +0x5c fp=0x40002527b0 sp=0x4000252760 pc=0xb9868c
github.com/golang/glog.init.0.func1()
        /Users/anacrolix/go/pkg/mod/github.com/golang/[email protected]/glog.go:410 +0x28 fp=0x40002527d0 sp=0x40002527b0 pc=0xb968d8
runtime.goexit()
        /Users/anacrolix/src/go1.21/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40002527d0 sp=0x40002527d0 pc=0x48cf44
created by github.com/golang/glog.init.0 in goroutine 1
        /Users/anacrolix/go/pkg/mod/github.com/golang/[email protected]/glog.go:410 +0x1e0

r0      0xffffffffffffff9c
r1      0x400012e720
r2      0x1
r3      0x200
r4      0x0
r5      0x0
r6      0x0
r7      0x1
r8      0x1b7
r9      0x2f7273752f73656c
r10     0x6d7265742e6d6f63
r11     0x73656c69662f7875
r12     0x6e69622f7273752f
r13     0x65626f727066662f
r14     0x27
r15     0x793ce78da0
r16     0x40001843a0
r17     0x4000185c10
r18     0x793ce762c0
r19     0x9
r20     0x4000185e00
r21     0x4000185cc0
r22     0x1
r23     0x1bf5157ca50
r24     0x8d6dd8b5d3e2f3f4
r25     0xad1c74d19b891ff8
r26     0x1bdede0
r27     0x3
r28     0x40000021a0
r29     0x4000185a28
lr      0x41f88c
sp      0x4000185a30
pc      0x41f8d0
fault   0x0

from cove.

aicynide avatar aicynide commented on May 29, 2024

@romanovj In Android (termux) this patch is must needed https://github.com/termux/termux-packages/blob/master/packages/golang/fix-hardcoded-etc-resolv-conf.diff otherwise no internet

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

Is it normal to not be able to invoke other processes, even in termux? I could disable this behaviour if I can detect that the process is running on Android.

from cove.

anacrolix avatar anacrolix commented on May 29, 2024

There are several issues going on here. The original blocker was arm and aarch64 builds, those are now available in v0.1.0. Let us track termux and Android-specific issues elsewhere.

from cove.

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.