deepin 安装Onedrive的问题
Tofloor
poster avatar
gaojian19890807
deepin
2020-06-07 22:40
Author
各位大佬好,新进小白,准备换deepin日常使用,需要onedrive。
我的步骤是
sudo apt install libcurl4-openssl-dev
sudo apt install libsqlite3-dev

sudo apt install git
sudo apt install make
sudo apt install curl
curl -fsS https://dlang.org/install.sh | bash -s dmd
sudo apt-get update
这些都没啥异常,下载onedrive
git clone https://github.com/skilion/onedrive.git
cd onedrive

sudo make onedrive
就出现问题了,错误如下:
dmd -g -ofonedrive -O -L-lcurl -L-lsqlite3 -L-ldl -J. src/config.d src/itemdb.d src/log.d src/main.d src/monitor.d src/onedrive.d src/qxor.d src/selective.d src/sqlite.d src/sync.d src/upload.d src/util.d
src/qxor.d(2): Deprecation: module std.digest.digest is deprecated - import std.digest instead of std.digest.digest. std.digest.digest will be removed in 2.101
src/qxor.d(88): Error: template instance WrapperDigest!QuickXor template WrapperDigest is not defined
make: *** [Makefile:29:onedrive] 错误 1
求解

Reply Favorite View the author
All Replies
avatar
Ziggy
deepin
2020-06-07 22:57
#1
sudo apt install libcurl4-openssl-dev
sudo apt install libsqlite3-dev

# Ubuntu 18
sudo snap install --classic dmd && sudo snap install --classic dub

# Ubuntu 17
sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
sudo apt-get update && sudo apt-get install dmd-compiler dub
你要用的是这个,你用了下面那个Fedora/CentOS系的了,软件仓库不对当然有问题
Reply View the author
avatar
安洛
deepin
2020-06-07 23:05
#2
skilion的这个onedrive版本已经停止维护多年。有人在其基础上进行了改进并继续维护,建议使用这个版本:
https://github.com/abraunegg/onedrive
安装指导在:
https://github.com/abraunegg/onedrive/blob/master/docs/INSTALL.md

另外,你这个错误大概是因为没有激活dmd。在执行
  1. curl -fsS https://dlang.org/install.sh | bash -s dmd
Copy the Code

这条代码之后应该会有一个回显,类似:
  1. Run `source ~/dlang/dmd-2.081.1/activate` in your shell to use dmd-2.081.1.
  2. This will setup PATH, LIBRARY_PATH, LD_LIBRARY_PATH, DMD, DC, and PS1.
  3. Run `deactivate` later on to restore your environment.
Copy the Code

根据提示,在apt update之后,执行
  1. source ~/dlang/dmd-2.081.1/activate
Copy the Code

(将版本号根据你的具体回显内容替换)
然后再
  1. ./configure
Copy the Code

检查依赖错误。之后再make安装。
Reply View the author
avatar
SamLukeYes
deepin
2020-06-07 23:42
#3
onedrive没有官方的linux版,只有各种第三方版本
Reply View the author
avatar
gaojian19890807
deepin
2020-07-10 16:54
#4
https://bbs.deepin.org/post/195663
skilion的这个onedrive版本已经停止维护多年。有人在其基础上进行了改进并继续维护,建议使用这个版本:
ht ...

感谢回答。已经成功实现了。
但是现在又来一个问题。
就是我家现在是有线广播电视的网络,网络环境比较差。在onedrive --synchronize的时候,经常出现网络连接断开,导致文件损坏的问题。
这个问题有解吗?
Reply View the author
avatar
gaojian19890807
deepin
2020-07-10 16:54
#5
https://bbs.deepin.org/post/195663
onedrive没有官方的linux版,只有各种第三方版本

这一点我是知道的,谢谢。
Reply View the author
avatar
gaojian19890807
deepin
2020-07-10 16:57
#6
https://bbs.deepin.org/post/195663
sudo apt install libcurl4-openssl-dev
sudo apt install libsqlite3-dev

谢版主支持,问题已经解决了。我是中间少运行了一行“source ~/dlang/dmd-2.081.1/activate”。2楼的chenxiex已经帮我解决了。
Reply View the author
avatar
安洛
deepin
2020-07-10 17:06
#7
https://bbs.deepin.org/post/195663
感谢回答。已经成功实现了。
但是现在又来一个问题。
就是我家现在是有线广播电视的网络,网络环境比较差 ...

这个,大家都是一样的……onedrive在国内的网速摆在那里。除非魔法上网吧。(这个onedrive用改hosts的方法是无法加速的,亲测。后台自动同步会比自己手动同步好些,会有断点续传,自动重试,没那么痛苦)
Reply View the author