官方编译指导:http://docs.redisdesktop.com/en/latest/install/#build-from-source
安装过程遇到的问题:
问题1:RedisDesktopManager下载不全的问题( 本人是通过s-qt5+polipo了的 所以没有遇到这个问题 )
解决方法:由于官方提供的git clone命令使用了–recursive参数,这个参数会把git子模块也下载下来。但是子模块里有个google的breakpad,由于google被屏蔽,导致下载不下来,由于这个模块没下载下来,后面到模块也会停止下载。建议去掉–recursive这个参数,然后根据子模块文件.gitmodules里面的内容进行补全,补全时注意大小写和文件名,或者在下载到时候指定分支名称这样就不用再改一次。用官方到命令下载下来到可能也会由空目录,注意检查。
附:.gitmodules里的内容
[submodule "3rdparty/qtconsole"]
path = 3rdparty/qtconsole
url = https://github.com/uglide/QtConsole.git
[submodule "3rdparty/crashreporter"]
path = 3rdparty/crashreporter
url = https://github.com/RedisDesktop/CrashReporter.git
[submodule "3rdparty/easyloggingpp"]
path = 3rdparty/easyloggingpp
url = https://github.com/easylogging/easyloggingpp.git
[submodule "3rdparty/qredisclient"]
path = 3rdparty/qredisclient
url = https://github.com/uglide/qredisclient.git
[submodule "3rdparty/gbreakpad"]
path = 3rdparty/gbreakpad
url = https://chromium.googlesource.com/breakpad/breakpad
[submodule "3rdparty/qgamp"]
path = 3rdparty/qgamp
url = https://github.com/uglide/qgamp.git
[submodule "src/resources/qml/3rdparty/php-unserialize-js"]
path = src/resources/qml/3rdparty/php-unserialize-js
url = https://github.com/uglide/php-unserialize-js.git
附:很难下载的breakpad,下载之后注意改文件夹的名称:http://download.csdn.net/detail/gsls200808/9685507
注意:如果你在能连接google的情况下下载了完整的包含3part目录的rdm源码,编译时务必再次连上google,因为这个版本的breakpad依赖的linux_syscall_support.h会在编译时下载,可能依赖的是不是最新版本而是之前的某一个版本。
问题2:linux-syscall-support头文件无法下载的问题
fatal: unable to access 'https://chromium.googlesource.com/linux-syscall-support/': Failed to connect to chromium.googlesource.com port 443: 连接超时
/home/liyunzhi/rdm/src/..//build/common_functions: 行 13: ./configure: 权限不够
make: *** 没有指明目标并且找不到 makefile。 停止。
In file included from ../3rdparty/gbreakpad/src/client/linux/dump_writer_common/thread_info.h:37:0,
from ../3rdparty/gbreakpad/src/client/linux/minidump_writer/linux_dumper.h:51,
from ../3rdparty/gbreakpad/src/client/linux/minidump_writer/minidump_writer.h:41,
from ../3rdparty/gbreakpad/src/client/linux/handler/exception_handler.h:42,
from modules/crashhandler/crashhandler.cpp:11:
../3rdparty/gbreakpad/src/common/memory.h:51:51: fatal error: third_party/lss/linux_syscall_support.h: 没有那个文件或目录
#include "third_party/lss/linux_syscall_support.h"
^
compilation terminated.
Makefile:11493: recipe for target '../bin/linux/release/obj/crashhandler.o' failed
make: *** [../bin/linux/release/obj/crashhandler.o] Error 1
解决方法:去这里下载:http://download.csdn.net/detail/gsls200808/9685972,解压后先在rdm/3rdparty/gbreakpad/src/third_party目录下创建lss目录,然后复制linux_syscall_support.h到lss目录下,笔者走了很多弯路,一开始从mongodb的源码里拷贝了一个同名文件放进去,结果很多错误没法解决
这个文件到官方下载地址是google,附原下载命令
git clone https://chromium.googlesource.com/linux-syscall-support
问题3:执行qmake-qt5:Unknown module(s) in QT:charts
解决办法:
git clone https://github.com/erikaaron/qtcharts
cd qtcharts/lib
git checkout libQt5Charts.so.5.7.1
cd ..
/usr/lib64/qt5/bin/qmake
make
sudo make install
安装qtcharts后 回到src目录
make clean && make
cd /usr/share/redis-desktop-manager/bin
sudo mv qt.conf qt.backup
安装成功后 启动:
cd /usr/share/redis-desktop-manager/bin
./rdm
备注:部分内容属于转载,出处:
http://erik.xyz/1389.html
http://blog.csdn.net/gsls200808/article/details/53195274?locationnum=6&fps=1