背景:

自己电脑是win7 32bit的,而想要Redis4.0的版本,但是在网上没找到,所以自己干脆download源source,自己build,安装。

最后,目前达到的状态是,windows下source编译失败,无法成功安装,lunix下source编译成功,安装成功。

接下来自己,记录一下,这个过程踩的雷,碰到的坑,也不枉自己花了两个晚上,弄出来的东西。

说说自己windows下的source编译

1.Git

首先安装了一个,Git,官网上可以很容易找到地址。

安装步骤如下:

这之后点击install,就可以安装了。完成后,还需要一个东东,就是MinGW。

2.MinGW

这货是什么?有什么用?简单的话说,它是个精简的windows平台编译器,编译出的可执行文件可以独立在windows下运行。举个例子,写个C文件,通过这个东东就可以直接运行。

接下来说一下它的安装,留作记录,以免以后使用到。

下载的官网:http://www.mingw.org/

安装下载器,之后安装。。。

在安装过程中一步是组件的安装,很重要。

图中,第一行的gcc那个东西一定要勾选进行下载,切记。其他的组件的安装,可以等到有需要的时候,再进到组件安装页面,重新下载。

MinGW安装完成后,要记得设置程序的环境变量。

之后,在windows命令行下,输入gcc -v就会有提示信息,证明,安装成功。如下图:

3.编译redis过程中踩到的坑

第一,当时就在网上查找编译方法,之后发现,最权威最详细的方法,就在redis源source下的Readme文件中。以后一定要多读读readme文件才好。

第二,编译的过程中使用命令(mingw32-make CFLAGS="-m32 -march=native" LDFLAGS="-m32")操作时,出现错误(sys/XXX.h文件找不到)。查了好久,才发现这个文件在Lunix系统或别的系统中有,但是windows系统没有。(心中无数个草泥马在奔腾!)我又重新看了一下readme文件,原文如下:

Building Redis
--------------

Redis can be compiled and used on Linux, OSX, OpenBSD, NetBSD, FreeBSD.
We support big endian and little endian architectures, and both 32 bit
and 64 bit systems.

It may compile on Solaris derived systems (for instance SmartOS) but our
support for this platform is *best effort* and Redis is not guaranteed to
work as well as in Linux, OSX, and \*BSD there.

TMD,文中说可以用于XXX,XXX系统,其中没有windows。。。。。

windows不行,那么好吧,Lunix走起。可是我也不能立马安装Lunix系统或是弄个虚拟机,嫌太费事了。恩恩,Cygwin上场了。

3.Cygwin

它是一个运行在windows系统下的类似UNIX系统的虚拟环境。

官网下载地址:https://cygwin.com/install.html

下载之后,安装,也是一路next,到了选择安装package的时候,Devel组件下的gcc的相关内容。注意,不可以安装所有的package,因为有很多你不会用到,而且所有package的大小有几十个G。

安装完成后,再按照redis中readme文件中的提示来操作,

make distclean

make CFLAGS="-m32 -march=native" LDFLAGS="-m32"

make test

make install

发现分分钟就搞定了。

在这里再说一下,cygwin终端显示英文。

首先,set LANG=C.UTF-8,设置这个变量,之后,修改Cygwin/etc/profile.d/lang.sh文件,

原先:

test -z "${LC_ALL:-${LC_CTYPE:-$LANG}}" && export LANG=$(/usr/bin/locale -uU)

修改后:

test -z "${LC_ALL:-${LC_CTYPE:-$LANG}}" && export LANG=C.UTF-8

之后,重启cygwin,就会发现终端显示的都是英文了。

再说一下,利用Cygwin控制台,用命令安装一些工具。

比如说,在Cygwin控制台wget这个命令没有,怎么办?下面这个命令就可以帮你搞定:

setup-x86.exe -q -P git,wget

前面是安装包的名称,后面是要安装的东西,有多个工具要被安装时,中间用逗号隔开。(但是yum这个包好像不能安装,具体原因,我暂时没有查明。)对于-p等参数有疑问,可以用setup-x86.exe --help 来获得帮助。

以上就是两天晚上的总结,爬坑爬的心里拔拔凉啊!!!!。。。。。

转载于:https://www.cnblogs.com/lihao007/p/7896196.html

Redis(三)源source编译相关推荐

  1. redis的源码编译安装+发布订阅+RDB持久化

    redis的源码编译安装+发布订阅+RDB持久化 转载于:https://www.cnblogs.com/zwq-/p/10420455.html

  2. LNMP架构的搭建——源码编译(PHP,nginx,Mysql)

    一.源码编译 在企业中,我们常常是需要什么模块才会添加什么模块,而源码编译就可以让我们按需安装. yum安装的优缺点: yum安装的优点:安装东西,方便快捷,特别是不用考虑包依赖. yum安装的缺点: ...

  3. Nginx+Php-fpm+MySQL+Redis源码编译安装指南

    说明:本教程由三部分组成如下: 1.      源码编译安装Nginx 2.      源码编译安装php以及mysql.redis扩展模块 3.      配置虚拟主机 文中所涉及安装包程序均提供下 ...

  4. 最好用的Redis Desktop Manager 0.9.3 版本下载 以及源码编译教程

    文章目录 一.前言 二.编译教程 2.1 [redis destop manager 的源码地址](https://github.com/uglide/RedisDesktopManager) 2.2 ...

  5. centos7.8中源码编译安装redis

    1.下载地址:http://www.redis.cn/download.html 2.所有版本地址:Index of /releases/ 我使用的是3.2.12版本 #1.上传文件到/opt文件目录 ...

  6. Andorid源码编译需要掌握的shell语法(三)

    1. 前言 最近在学习Android源码编译原理,涉及到MakeFile, Shell, Go语法,为了能看懂脚本文件,最快的掌握方法:一边看编译文件,一边学习语法规则,本篇文章记录的是关于Shell ...

  7. Linux学习笔记(三)源码编译OpeCVPCL

    1.源码编译OpeCV opencv-GitHub opencv_contrib-GitHub opencv-releases opencv_contrib-releases 1.1.下载源码 mkd ...

  8. LNMP架构的搭建--源码编译(MYSQL,PHP,nginx)

    1.基础知识 1. LNMP架构: LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写.L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指P ...

  9. 【MySQL】源码编译MySQL8.x+升级gcc+升级cmake(亲测完整版)

    大家好,我是冰河~~ 今天给大家分享一篇通过源码编译安装MySQL8的文章,期间涉及到gcc和cmake等编译环境的升级.好了, 不多说了,开始今天的正题. 一.概述 最近,在CentOS 6.8服务 ...

最新文章

  1. 学习canvas 过程中的几点总结
  2. 路径前面加/和不加/
  3. 让产品经理GC的文本段落两端对齐css
  4. Tomcat解决HTTP GET中文乱码
  5. HH SaaS电商系统的商品销售管理标签功能模块设计
  6. 07-图6 旅游规划 (25 分)
  7. 转:Deep learning系列(十五)有监督和无监督训练
  8. 【干货】微信私域运营实战指南.pdf(附下载链接)
  9. Combobox绑定数据源DataSet
  10. 查看被Linux干掉的进程,Linux 查看进程被杀死的详情
  11. 计算机论文数据建模怎么写,建模论文模板_数学建模论文范例_数学建模论文3000字...
  12. Winform实现简单的记住用户名密码功能
  13. tf.contrib.layers.embed_sequence()函数
  14. 英特尔发布三代服务器芯片至强,英特尔发布第三代至强处理器:10nm Ice Lake架构、最高40核、AI和安全性增强...
  15. Android仿微信朋友圈九宫格图片展示自定义控件,支持缩放动画~
  16. Vite ( Vue + TS ) 项目配置 @ 路径别名
  17. mysql 在当前时间上加几小时
  18. 电脑打开播放器提示服务器运行失败,电脑中打开WMP播放器提示服务器运行失败如何解决...
  19. 【从菜鸟到高手】日期格式化
  20. android概述和环境搭建

热门文章

  1. 100 个网络基础知识
  2. Ubuntu中DenyHosts安装及配置
  3. 在ubuntu中安装PhantomJS
  4. VBS 与 VBA 的区别
  5. linux 版本信息 64位,Centos查看版本信息
  6. buffer pool mysql_理解Mysql中的Buffer pool
  7. HTML输入=“文件”接受属性文件类型(CSV)
  8. 向pandas DataFrame添加一行
  9. Python的__init__和self是做什么的?
  10. html5的修改滚动条滑块样式,修改element-ui滚动条样式