build for 64bit arm Linux?

Hi -

is there a build available for 64-bit ARM Linux? (aarch64) ? Specifically, I've had requests to support my 1pass wrapper script on Termux on recent modern Android phones and tables.

1Password Version: Not Provided
Extension Version: Not Provided
OS Version: Not Provided
Sync Type: Not Provided


  • Hi @dcreemer,

    That does seem like an odd omission. While we only need to compile a 64bit build for the likes of macOS I would have thought we would want to cover all our bases when it comes to ARM and support both 32 and 64bit. I'm making the assumption of course that there is still a demand for 32bit builds. I shall file an issue.

    I am assuming we're only hosting 32bit builds at the moment based on your request, I don't have any way to test the builds myself but I imagine you're only asking because it is a gap in the list of available downloads.

    ref: b5/op#562

  • graham_1Pgraham_1P

    Team Member

    Hey @dcreemer

    At this time we do not intend to add any more platforms or architectures to our build system. As more platforms transition towards 64 bit architectures, we will look at transitioning our builds in the future.

    However, in the meantime, the 32bit binaries should run on the 64bit architecture with the support of the correct 32bit libraries. Is there an ARM peculiarity that I'm unaware of that does not enable this interopability?


  • Thanks to both for the prompt response. I'm on a pretty esoteric platform -- using the Termux Linux environment (linked in my original message) on Android phones and tablets. Most recent Android products are 64 bit ARM. The op app runs, but

    $ uname -a
    Linux localhost 3.10.108-g4c8c236 #1 SMP PREEMPT Sun Aug 4 11:51:52 UTC 2019 aarch64 Android
    $ op --version
    $ op update
    [LOG] 2019/08/10 03:36:09 (ERROR) Get dial tcp: lookup on [::1]:53: read udp [::1]:33410->[::1]:53: read: connection refused

    whereas this Go program compiles and runs just fine:

    package main
    import "net"
    import "fmt"
    import "bufio"
    func main() {
      conn, _ := net.Dial("tcp", "")
      fmt.Fprintf(conn, "GET / HTTP 1.0\n\n")
      message, _ := bufio.NewReader(conn).ReadString('\n')
      fmt.Println("msg: " + message)
  • graham_1Pgraham_1P

    Team Member

    Hey @dcreemer,

    Sorry for the slow response.

    I think you are having the same issue as another forum user:

    There is an issue with the dns resolution on Termux due to it lacking an /etc/resolv.conf file. When it isn't present, Go defaults to localhost. At this time, we do not have a fix for your issue. Termux on Android is not a supported platform for our CLI.


  • Hi @graham_1P -- thanks again for looking into this -- and I know this is way beyond the supported platforms. I'll find other ways to support my Termux env.
    FYI the Goang program I posted above shows that DNS resolves work fine under Termux (at least using the net.Dial API), so this may be a different issue.
    Thanks again for the help.

  • @dcreemer

    Thanks for the note. I clearly didn't read close enough to realise what you were implying with regards to the small go program you posted.

    That is quite interesting! I'm curious as to why the two differ.

    How do you nicely deploy code to termux? Write it elsewhere and then git pull it in to be used? Or is there another system/app on the phone that makes testing termux easier? My termux experimentation so far has just been to do basic shell operations.

  • @graham_1P thanks for the followup. Yes - to code on Termux I'll use git to pull into the Termux environment. There are a full suite of development tools available via the apt package manager (including Golang, editors, git, etc). In fact, this is the main reason I like it -- I can use an 8" Android tablet and a tiny keyboard and be quite productive on the go!
    For the above program, I wrote it in Emacs in Termux itself, and compiled and ran it there too.

  • Thanks for the info. I'll have to give it a try and investigate further.

This discussion has been closed.