我正在尝试为嵌入式系统编译Linux。我正在使用ptxdist
命令来构建系统。
我的同事告诉我使用ptxdist get
,以便我们可以在开始编译之前下载所有依赖项。
我们还坐在代理后面,并且我的/etc/environment
配置了http / https / ftp代理(所有IP和端口都相同)以及apt(意味着wget
可以正常工作,不需要额外的参数)
问题:
运行ptxdist get
将下载其中的一些软件包,另一些它将不下载,并且出现以下错误(2个软件包的示例):
这里是一个很好的例子:
---------------------------
target: cmake-3.13.4.tar.gz
---------------------------
--2019-07-23 20:54:28-- https://cmake.org/files/v3.13/cmake-3.13.4.tar.gz
Connecting to <PROXY IP HERE>:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 8617881 (8.2M) [application/x-gzip]
Saving to: '/home/xxxxxxx/xxxxxxx/xxxxxxx/src/cmake-3.13.4.tar.gz.RSjrC7k7mC'
/home/xxxxxxx/x 100%[===================>] 8.22M 2.00MB/s in 4.7s
2019-07-23 20:54:34 (1.75 MB/s) - '/home/xxxxxxx/xxxxxxx/xxxxxxx/src/cmake-3.13.4.tar.gz.RSjrC7k7mC' saved [8617881/8617881]
下面是失败的示例:
-----------------------
target: lzo-2.08.tar.gz
-----------------------
--2019-07-23 20:55:13-- http://www.oberhumer.com/opensource/lzo/download/lzo-2.08.tar.gz
Connecting to <PROXY IP HERE>:8080... connected.
Proxy request sent, awaiting response... 502 Proxy Error ( The specified network name is no longer available. )
2019-07-23 20:55:13 ERROR 502: Proxy Error ( The specified network name is no longer available. ).
--2019-07-23 20:55:13-- http://www.pengutronix.de/software/ptxdist/temporary-src/lzo-2.08.tar.gz
Connecting to <PROXY IP HERE>:8080... connected.
Proxy request sent, awaiting response... 502 Proxy Error ( The specified network name is no longer available. )
2019-07-23 20:55:13 ERROR 502: Proxy Error ( The specified network name is no longer available. ).
make: *** [/home/xxxxxxxx/xxxxxxx/xxxxxxx/src/lzo-2.08.tar.gz] Error 1
Could not download package
URL: http://www.oberhumer.com/opensource/lzo/download/lzo-2.08.tar.gz
/usr/local/lib/ptxdist-2019.03.1/rules/post/ptxd_make_world_get.make:17: recipe for target '/home/xxxxxxx/xxxxxxx/xxxxxxx/src/lzo-2.08.tar.gz' failed
即使我重复ptxdist get
,它也会在失败的相同程序包处停止。
但是:
如果我只是使用
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.08.tar.gz
它可以很好地下载文件,使用上面显示的URL,其他任何失败的程序包也一样。
当我运行ptxdist get
时,它会移至其他下载,因为它已经看到该文件,然后挂起下一个失败的下载。
也尝试:
我还尝试运行ptxdist setup
并在那里配置代理。终端没有任何变化,所以没有运气...
也尝试:
我还编写了一个脚本,该脚本使用ptxdist print PACKAGES
获取包名称,然后使用ptxdist package-info <PKG>
获取URL,然后通过wget <URL>
下载文件,这解决了运行{{1}时的大部分错误}与ptxdist get
一样工作正常,但似乎还需要其他许多软件包,而这些软件包并未与wget
一起列出...
有什么主意,怎么办?
由于我应该自动执行此任务,因此无法选择手动交互(对于失败的软件包使用ptxdist print PACKAGES
)...