Que*_*ner 6 usb android make configure
我正在尝试在我的 Ubuntu 16.10 笔记本电脑上安装 Clockwordmod Tether,以便与Google Play 上的相应应用程序进行USB 网络共享。
我已经下载并解压缩了Tether tar 文件。安装说明非常简单。只需在终端中运行以下命令:
cd /home/username/Tether/node
./configure
make
Run Code Online (Sandbox Code Playgroud)
但是当我运行时make,它总是以这个错误结束:
../deps/v8/src/checks.h:251:22: warning: typedef ‘__StaticAssertTypedef__125’ locally defined but not used [-Wunused-local-typedefs]
SEMI_STATIC_JOIN(__StaticAssertTypedef__, __LINE__)
^
../deps/v8/src/checks.h:241:39: note: in definition of macro ‘SEMI_STATIC_JOIN_HELPER’
#define SEMI_STATIC_JOIN_HELPER(a, b) a##b
^
../deps/v8/src/checks.h:251:5: note: in expansion of macro ‘SEMI_STATIC_JOIN’
SEMI_STATIC_JOIN(__StaticAssertTypedef__, __LINE__)
^~~~~~~~~~~~~~~~
../deps/v8/src/checks.h:283:30: note: in expansion of macro ‘STATIC_CHECK’
#define STATIC_ASSERT(test) STATIC_CHECK(test)
^~~~~~~~~~~~
../deps/v8/src/v8utils.h:125:3: note: in expansion of macro ‘STATIC_ASSERT’
STATIC_ASSERT(sizeof(T) == kPointerSize);
^~~~~~~~~~~~~
In file included from ../deps/v8/src/elements.h:32:0,
from ../deps/v8/src/objects-inl.h:38,
from ../deps/v8/src/v8.h:60,
from ../deps/v8/src/accessors.cc:28:
../deps/v8/src/objects.h: At global scope:
../deps/v8/src/objects.h:5017:44: error: left operand of shift expression ‘(-1 << 3)’ is negative [-fpermissive]
static const int kElementsKindMask = (-1 << kElementsKindShift) &
~~~~^~~~~~~~~~~~~~~~~~~~~~
../deps/v8/src/objects.h:7152:36: error: left operand of shift expression ‘(-8 << 26)’ is negative [-fpermissive]
(~kMaxCachedArrayIndexLength << kArrayIndexHashLengthShift) |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deps/v8/tools/gyp/v8_base.target.mk:209: recipe for target '/home/username/Tether/node/out/Release/obj.target/v8_base/deps/v8/src/accessors.o' failed
make[1]: *** [/home/username/Tether/node/out/Release/obj.target/v8_base/deps/v8/src/accessors.o] Error 1
make[1]: Leaving directory '/home/username/Tether/node/out'
Makefile:26: recipe for target 'node' failed
make: *** [node] Error 2
Run Code Online (Sandbox Code Playgroud)
在网上查了一下,建议安装如下:
sudo apt-get install libssl-dev cmake g++ lib32ncurses5 nodejs-legacy
Run Code Online (Sandbox Code Playgroud)
但这没有帮助。我还看到它可能与 Python 版本问题有关,但我找不到有关如何处理该问题的用户级说明。
有没有办法解决这个问题并在我的 Ubuntu 笔记本电脑上安装 Tether?解决方案是否可以用一无所知configure或make可以理解的人的术语来解释?
更新:
多亏了DropHammer99 在下面的回答,我似乎能够成功编译程序。这是XXFLAGS=-fpermissive make几分钟后命令结束的方式:
LINK(target) /home/username/Tether/node/out/Release/node: Finished
touch /home/username/Tether/node/out/Release/obj.target/node_dtrace_header.stamp
touch /home/username/Tether/node/out/Release/obj.target/node_dtrace_provider.stamp
touch /home/username/Tether/node/out/Release/obj.target/node_dtrace_ustack.stamp
touch /home/username/Tether/node/out/Release/obj.target/node_etw.stamp
make[1]: Leaving directory '/home/username/Tether/node/out'
ln -fs out/Release/node node
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我第一次按照README文件中的说明运行程序时,它因以下错误而崩溃:
~/Tether$ sudo linux/run.sh
[sudo] password for username:
~/Tether
Starting Tether...
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
linux/run.sh: line 39: 21096 Segmentation fault (core dumped) $NODE/node tether.js
Run Code Online (Sandbox Code Playgroud)
这个程序是不能工作,还是我可以做些什么来解决这个分段错误?
该错误是 C++ 编译器抱怨一些可用但不太理想的代码。使用正确的命令行选项,您可以告诉编译器忽略此类代码问题并继续运行。这并不总是最好的解决方案,但它会让事情编译和工作。
首先,运行make clean以清除旧构建尝试留下的任何东西。
然后,运行CXXFLAGS=-fpermissive make以再次尝试使用 C++ 编译器将这些代码问题降级为警告。
我能够在我的 64 位 16.10 安装上重现您的错误,并且此解决方法允许构建为我克服该错误。
不幸的是,随着这个问题,构建似乎进一步失败了:
make -C out BUILDTYPE=Release V=1
make[1]: Entering directory '/home/username/work/Tether/node/out'
LD_LIBRARY_PATH=/home/username/work/Tether/node/out/Release/lib.host:/home/username/work/Tether/node/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/tools/gyp; mkdir -p /home/username/work/Tether/node/out/Release/obj.target/v8_snapshot/geni; "/home/username/work/Tether/node/out/Release/mksnapshot" --log-snapshot-positions --logfile "/home/username/work/Tether/node/out/Release/obj.target/v8_snapshot/geni/snapshot.log" "/home/username/work/Tether/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc"
Segmentation fault (core dumped)
deps/v8/tools/gyp/v8_snapshot.target.mk:13: recipe for target '/home/username/work/Tether/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc' failed
make[1]: *** [/home/username/work/Tether/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc] Error 139
make[1]: Leaving directory '/home/username/work/Tether/node/out'
Makefile:26: recipe for target 'node' failed
make: *** [node] Error 2
Run Code Online (Sandbox Code Playgroud)
我还在研究这个问题。尝试最初的解决方法,因为您的系统可能不会遇到我的系统遇到的第二个问题。
更新:我可以通过告诉配置工具跳过快照步骤来回避第二个问题。不幸的是,我不知道快照步骤应该做什么,恐怕我可能只是将失败推迟到以后。如果您也想尝试第二种解决方法,请尝试以下命令序列:
make distclean
./configure --without-snapshot
CXXFLAGS=-fpermissive make
Run Code Online (Sandbox Code Playgroud)
小智 1
回复来自:Bob Dickens Jr/BobDCoder,2017 我不知道在哪里回复这个问题,所以我希望这是正确的地方。
我在构建错误中看到了一些可以解释的错误,并希望对它们进行评论,因为我确信它会消除错误并可能进一步进行编译。
./run.sh: line 38: ../linux/adb: No such file or directory这个问题与 Tether/Linux 有关,你会发现一个 run.sh 并且在cd ../node下面有一行需要编辑。找到../linux/adb并将此行更改为adb start-server如果您安装了 ADB,或者/your/path/to/adb adb start-server如果您只是将 adb 复制并粘贴到 /usr/bin/ 中adb 或其他一些目录。
这应该消除../linux/adb错误
我使用的是 Ubuntu 16.04,我下载了上面提到的 rar 文件,然后运行
./configure && make
我成功地构建了,没有错误,这是我的build 日志,你是否尝试过make clean,然后./configure && make在安装了这些新软件包之后?
@提问者
这是我~/Documents/Tether/linux/run.sh以 root 身份运行后的输出。
~/Documents/Tether/linux
Starting Tether...
./run.sh: line 38: ../linux/adb: No such file or directory
Opening tun device.
Opening tun device: /dev/net/tun
Forking worker.
Opening tun device.
adb binary path: "/home/username/Documents/Tether/linux/adb"
Checking phone status...
tun worker initialized.
{ [Error: Command failed: /bin/sh: 1:/home/username/Documents/Tether/linux/adb: not found
] killed: false, code: 127, signal: null }
Fatal error setting up TCP listener. (Exiting)
A possible cause may be that a "node.exe" processes was left dangling.
Please kill any node processes you find running.
This may also be cause by a firewall that disallows connections to Tether.
/home/username/Documents/Tether/node-tuntap/tuntap.js:558
exitTether();
^
ReferenceError: exitTether is not defined
at Server.<anonymous> (/home/username/Documents/Tether/node-tuntap/tuntap.js:558:7)
at Server.EventEmitter.emit (events.js:96:17)
at Server._listen2.self._handle.onconnection (net.js:894:14)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
TCP Catcher worker has died. Exiting.
{ '0': 1, '1': null }
Run Code Online (Sandbox Code Playgroud)
我猜想 Tether 在这种情况下没有运行的原因是:
nodejs-legacy未安装(来自run.sh第 39 行:)$NODE/node tether.js,run.sh第 38 行开始../linux/adb start-server:)。但我没有收到任何分段错误错误。我对 Nodejs 不了解,您是否尝试过node作为独立命令是否可以正常工作?
看来你的..adb/server start-server已经成功执行了。看起来$NODE/node tether.js第 39 行有问题。这里,tether.jsfile 是 command 的第一个参数node。node tether.js我会尝试在终端上作为独立命令执行。
| 归档时间: |
|
| 查看次数: |
3935 次 |
| 最近记录: |