目前,能编译通过,但是安装的时候,依赖关系不正确,估计还是需要继续调整编译配置文件才行。
1.按照How to successfully build packages for WD My Cloud from source中的介绍,搭建完成
如果出现如下错误信息:
原因是低版本的系统上缺少几个无关紧要的文件,直接忽略这部分即可:
如果出现如下错误信息:
原因为
WDMyCloud
的编译环境2.从高版本Debian
源里下载git-2.19
的源代码包,然后手工编译,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
$ cd ~/wdmc-build/64k-wheezy #https://packages.debian.org $ su $ cd build/root $ mkdir git $ cd git $ wget http://http.debian.net/debian/pool/main/g/git/git_2.19.1+next.20181026.orig.tar.gz $ wget http://http.debian.net/debian/pool/main/g/git/git_2.19.1+next.20181026-1.debian.tar.xz $ cd ../../../ $ chroot build $ mount -t proc none /proc $ mount -t devtmpfs none /dev $ mount -t devpts none /dev/pts $ export DEBIAN_FRONTEND=noninteractive $ export DEBCONF_NONINTERACTIVE_SEEN=true $ export LC_ALL=C $ export LANGUAGE=C $ export LANG=C $ export DEB_CFLAGS_APPEND='-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE' $ export DEB_BUILD_OPTIONS=nocheck $ cd root/git # 当前的压缩文件,解压缩出的文件目录是”0250525e“ $ tar xvf *.orig.tar.gz $ tar xvf *.debian.tar.xz -C 0250525e/ $ cd 0250525e # 解决不能正确编译的问题 $ sed -i "s/dh \$\@ --with apache2/dh \$\@/g" debian/rules # 交叉编译的程序,测试用例不能完全通过,我们关闭测试用例这部分 $ sed -i "s/^TEST[ \t]*=[ \t]*test/TEST=/g" debian/rules # 安装依赖 $ apt-get update $ apt-get upgrade $ apt-get install asciidoc # 此版本git默认不使用openssl,因此安装 libcurl4-gnutls-dev 而不是 ibcurl4-openssl-dev $ apt-get install libcurl4-gnutls-dev $ apt-get install libpcre2-dev # DEB_BUILD_OPTIONS="nocheck nodoc" 不需要测试用例,不需要帮助文档, 目前如果设置了"nodoc",最后打包的时候会缺少文件 $ DEB_BUILD_OPTIONS="nocheck" dpkg-buildpackage -d -b -uc |
如果出现如下错误信息:
1 2 3 4 5 6 7 8 |
make[1]: Entering directory `/root/git/0250525e' dh_install --arch Can't exec "/root/git/0250525e/debian/git.install": No such file or directory at /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 643. dh_install: cannot run debian/git.install: No such file or directory make[1]: *** [override_dh_install-arch] Error 2 make[1]: Leaving directory `/root/git/0250525e' make: *** [binary] Error 2 dpkg-buildpackage: error: debian/rules binary gave error exit status 2 |
原因是低版本的系统上缺少几个无关紧要的文件,直接忽略这部分即可:
1 2 3 4 5 6 |
$ rm -rf debian/git.install $ rm -rf debian/git-el.install # 重新编译 $ DEB_BUILD_OPTIONS="nocheck" dpkg-buildpackage -d -b -uc |
如果出现如下错误信息:
1 2 3 |
dh_installdeb: unknown dpkg-maintscript-helper command: dir_to_symlink make: *** [binary] Error 25 dpkg-buildpackage: error: debian/rules binary gave error exit status 2 |
原因为
dpkg
的版本太低,导致部分命令无法正确执行,执行如下命令即可:
1 2 3 4 |
$ rm -rf debian/git.maintscript # 重新编译 $ DEB_BUILD_OPTIONS="nocheck" dpkg-buildpackage -d -b -uc |
如果上述源代码的下载存在问题,可以本站下载一份文件拷贝:
git_2.19.1+next.20181026.orig.tar
git_2.19.1+next.20181026-1.debian.tar