Giter VIP home page Giter VIP logo

Comments (7)

billrange avatar billrange commented on May 28, 2024

Hardware: Raspberry 4B+
Software: Ubuntu 18.04

The problems have been solved by performing the following steps:

  1. Insall GoLang:
    wget https://dl.google.com/go/go1.13.7.linux-arm64.tar.gz #ARM64 architecture
    sudo tar xvzf go1.13.7.linux-arm64.tar.gz -C /usr/local/ #ARM64 architecture
    sudo ln -s /usr/local/go/bin/go* /usr/local/bin/
  2. Install Docker:
    sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" #ARM64 architecture
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  3. Install nodejs
    curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
    sudo apt install -y nodejs #see version:$ nodejs -v
    sudo ln -s /usr/bin/nodejs /usr/bin/node
  4. Install npm & gulp
    sudo apt-get install npm
    npm view npm version # see the latest version
    sudo npm install -g [email protected] # npm update to latest version, see the installed version:$ npm -v
    sudo npm install -g gulp-cli
  5. Make Lantern
    git clone https://github.com/getlantern/lantern.git
    cd lantern/archive/
    make linux-arm

but I met another problem:
exec: "arm-linux-gnueabi-gcc": executable file not found in $PATH

from lanberry.

billrange avatar billrange commented on May 28, 2024

Hardware: Raspberry 4B+
Software: Ubuntu 18.04

The problem has been solved by installing gcc-arm-linux-gnueabi complier:
$ sudo apt-get gcc-arm-linux-gnueabi complier:

but I met new problems:
berry@rasp:~/lantern/archive$ make linux-arm
** VERSION was not set, using default version. This is OK while in development.
Build tags: headless
Extra ldflags:

github.com/getlantern/flashlight/proxied

src/github.com/getlantern/flashlight/proxied/proxied.go:391:5: tr.MaxIdleTime undefined (type *http.Transport has no field or method MaxIdleTime)
src/github.com/getlantern/flashlight/proxied/proxied.go:392:5: tr.EnforceMaxIdleTime undefined (type *http.Transport has no field or method EnforceMaxIdleTime)

github.com/getlantern/flashlight/client

src/github.com/getlantern/flashlight/client/reverseproxy.go:20:3: unknown field 'MaxIdleTime' in struct literal of type http.Transport
src/github.com/getlantern/flashlight/client/reverseproxy.go:22:11: transport.EnforceMaxIdleTime undefined (type *http.Transport has no field or method EnforceMaxIdleTime)
Makefile:250: recipe for target 'linux-arm' failed
make: *** [linux-arm] Error 2

from lanberry.

billrange avatar billrange commented on May 28, 2024

Hardware: Raspberry 4B+
Software: Ubuntu 18.04

Please refer to: https://xiazemin.github.io/MyBlog/golang/2019/06/30/lantern.html
Find out these two files:
modified: src/github.com/getlantern/flashlight/client/reverseproxy.go
modified: src/github.com/getlantern/flashlight/proxied/proxied.go
In 4 positions,change 'MaxIdleTime' to 'IdleConnTimeout',then comment the method 'EnforceMaxIdleTime()'. Only need to revise 4 lines in these two files, then recomplie.
// In reverseproxy.go file, perform the following steps:

  • MaxIdleTime: 30 * time.Second,
    //MaxIdleTime: 30 * time.Second,
  • IdleConnTimeout:30 * time.Second,
    }
  • transport.EnforceMaxIdleTime()
    //transport.EnforceMaxIdleTime()
    // In proxied.go file, perform following steps:
  • tr.MaxIdleTime = 30 * time.Second
    //tr.MaxIdleTime = 30 * time.Second
  • tr.IdleConnTimeout= 30 * time.Second
    //tr.EnforceMaxIdleTime()

berry@rasp:~/lantern/archive$ make linux-arm
** VERSION was not set, using default version. This is OK while in development.
Build tags: headless
Extra ldflags:

Generate lantern_linux_arm, indicate successful compilation.

but I met new problem when I executed the following command:
berry@rasp:~/lantern/archive$ lantern_linux_arm
lantern_linux_arm: command not found

from lanberry.

arminkz avatar arminkz commented on May 28, 2024

this project is all about building it automatically. actually I had difficulties building it too.
I am working on making a automated build script and hosting the binaries using Github & Travis CI ...
but any help would definitely be appreciated.

for your problem maybe using this command helps: make docker-linux-arm

from lanberry.

billrange avatar billrange commented on May 28, 2024

I tested the command: make docker-linux-arm, and got the following error response:

$make docker-linux-arm
ERRO[0000] failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: permission denied
context canceled
Makefile:199: recipe for target 'docker-linux-arm' failed
make: *** [docker-linux-arm] Error 1
berry@rasp:~/lantern/archive$ sudo make docker-linux-arm
Sending build context to Docker daemon 4.608kB
Step 1/29 : FROM fedora:21
---> ba6369d667d1
Step 2/29 : MAINTAINER "The Lantern Team" [email protected]
---> Using cache
---> a8041609c49b
Step 3/29 : ENV WORKDIR /lantern
---> Using cache
---> 5bda3acdd212
Step 4/29 : ENV SECRETS /secrets
---> Using cache
---> 5ecca3801eb4
Step 5/29 : RUN mkdir -p $WORKDIR
---> Running in 6b11c497b547
standard_init_linux.go:211: exec user process caused "exec format error"
The command '/bin/sh -c mkdir -p $WORKDIR' returned a non-zero code: 1
Makefile:199: recipe for target 'docker-linux-arm' failed
make: *** [docker-linux-arm] Error 1

from lanberry.

billrange avatar billrange commented on May 28, 2024

I also performed the command: make linux-amd64, and faced the similar problems:
$ make linux-amd64
npm WARN [email protected] license should be a valid SPDX license expression

audited 2169 packages in 13.465s

3 packages are looking for funding
run npm fund for details

found 8 vulnerabilities (2 low, 6 high)
run npm audit fix to fix them, or npm audit for details
[23:23:02] Using gulpfile ~/lantern/archive/lantern-ui/gulpfile.js
[23:23:02] Starting 'clean'...
[23:23:02] Starting 'usemin'...
[23:23:03] Starting 'copy'...
[23:23:03] Finished 'copy' after 19 ms
[23:23:03] Finished 'clean' after 314 ms
[23:23:05] Finished 'usemin' after 2.71 s
[23:23:05] Starting 'build'...
[23:23:05] Finished 'build' after 85 μs
/home/berry/lantern/archive
** VERSION was not set, using default version. This is OK while in development.
Build tags:
Extra ldflags:

runtime/cgo

gcc: error: unrecognized command line option '-m64'
Makefile:245: recipe for target 'linux-amd64' failed
make: *** [linux-amd64] Error 2

from lanberry.

arminkz avatar arminkz commented on May 28, 2024

Changing MaxIdleTime to IdleConnTimeout actually fixed the problem.
Thank you for your help.

i'm going to complete the build script soon.

from lanberry.

Related Issues (2)

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.