Comments (7)
Hardware: Raspberry 4B+
Software: Ubuntu 18.04
The problems have been solved by performing the following steps:
- 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/ - 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 - 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 - 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 - 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.
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.
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.
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.
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.
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lanberry.