Can';t在AIX6.1和GCC上制作Redis2.8.19

Can';t在AIX6.1和GCC上制作Redis2.8.19,gcc,redis,aix,Gcc,Redis,Aix,我试图在带有gcc的AIX6.1机器上编译redis-2.8.19标记上的代码 我解压缩文件,然后启动以下命令: gmake distclean; CC=`which gcc` gmake -j 我尝试使用和不使用-j标志,结果相同: [...after lots of warnings and compiler messages...] LINK redis-server INSTALL redis-sentinel find: 0652-019 The status on redis-s

我试图在带有gcc的AIX6.1机器上编译redis-2.8.19标记上的代码

我解压缩文件,然后启动以下命令:

gmake distclean; CC=`which gcc` gmake -j
我尝试使用和不使用-j标志,结果相同:

[...after lots of warnings and compiler messages...]

LINK redis-server
INSTALL redis-sentinel
find: 0652-019 The status on redis-sentinel is not valid.
install: 0653-233 File redis-server was not found.
gmake[1]: **** [redis-sentinel] Error 2
gmake[1]: Leaving directory '/users/carlos/redis/redis-2.8.19/src'
gmake: **** [all] Error 2`
但是如果您检查src目录,就会看到redis服务器文件就在那里:

 ll redis-server
 -rwxr-xr-x    1 ta_des   gitgrp      3179825 Jan 20 12:37 redis-server
知道发生了什么吗?还是我应该做点别的


Carlos

我最近在AIX上编译了Redis,并修复了几个构建问题,但最终结果(到目前为止)就我们的目的而言运行良好

这是我想出的剧本。 之后一次测试失败(我们可以接受),请参见

#/usr/bin/env bash
#
#GccCompileRedis
#在AIX上从源代码编译redis。
#64位,编译时参考我们的标准路径,包括/opt/freeware/lib64
#TW 2014年第一季度
#
#检查根用户,如果没有,则硬退出
#
如果[`whoami`!=“root”];然后
echo“您必须以root.sudo-E的身份运行此脚本(在您的主目录中进行构建)。”
出口1
fi
lclRedisVersion=$1
如果[“${lclRedisVersion}”==“”]
然后
echo“提供redis版本,例如\“2.8.19 \”
出口1
fi
lclaborated=0
lclMake=/usr/bin/gmake
如果[$lclAborted==0]
然后
清楚的
pwd
回声
echo此脚本对redis${lclRedisVersion}\(来自源代码,包括下载\)执行$lclMake操作。
echo Build dir\(自动创建\):/home/${LOGIN}/src/redis-${lclRedisVersion}
回声信息:所有内容都被删除并重新下载。继续?要中止:Ctrl+C。
回声
读取-sn 1-p“按任意键继续…”;回声
lclaborated=$?
fi
如果[$lclAborted==0]
然后
mkdir/home/${LOGIN}/src>/dev/null 2>&1
cd/home/${LOGIN}/src
rm redis-${lclRedisVersion}.tar.gz>/dev/null 2>&1
rm redis-${lclRedisVersion}.tar>/dev/null 2>&1
rm-rf redis-${lclRedisVersion}>/dev/null 2>&1
wgethttp://download.redis.io/releases/redis-${lclRedisVersion}.tar.gz
gunzip redis-${lclRedisVersion}.tar.gz
tar-xf redis-${lclRedisVersion}.tar
cd/home/${LOGIN}/src/redis-${lclRedisVersion}
回声
pwd
回声
echo运行通过$lclMake生成?
回声
读取-sn 1-p“按任意键继续…”;回声
lclaborated=$?
fi
如果[$lclAborted==0]
然后
清楚的
回声制造。。。
echo“将修复redis sentinel错误,查看最终结果。”>make_${lclRedisVersion}.log 2>&1
echo>>生成${lclRedisVersion}.log 2>&1
#不知道redis sentinel二进制文件是如何产生的。在linux redis服务器和redis sentinel上,字节相同或硬链接。
#因此,我们首先构建redis服务器,然后对redis sentinel执行一个简单的cp-p,然后继续制作。
#仅限第一个:redis服务器
$SCRIPTS/GccEnvironment$lclMake V=1 redis server>>生成${lclRedisVersion}.log 2>&1
tail-n14生成${lclRedisVersion}.log
#然后是redis sentinel
$SCRIPTS/GccEnvironment$lclMake V=1 redis sentinel>>生成${lclRedisVersion}.log 2>&1
#如果失败,只需复制redis服务器二进制文件
如果[-f“src/redis服务器”-a!-f“src/redis哨兵”]
然后
echo“修复:复制redis服务器以修复丢失的redis sentinel。”>>Make_${lclRedisVersion}.log 2>&1
cp-p“src/redis server”“src/redis sentinel”>>生成${lclRedisVersion}.log 2>&1
fi
#建造其余的
$SCRIPTS/GccEnvironment$lclMake V=1 redis cli>>生成${lclRedisVersion}.log 2>&1
$SCRIPTS/GccEnvironment$lclMake V=1 redis benchmark>>生成${lclRedisVersion}.log 2>&1
$SCRIPTS/GccEnvironment$lclMake V=1 redis check dump>>生成${lclRedisVersion}.log 2>&1
$SCRIPTS/GccEnvironment$lclMake V=1 redis check aof>>生成${lclRedisVersion}.log 2>&1
tail-n14生成${lclRedisVersion}.log
回声
echo“如果愿意,您可以在此时运行测试。说明:'
我是苏多
回声'>/etc/profile'
echo“>cd/home/tw/src/redis-${lclRedisVersion}”
回声'>$脚本/GccEnvironment'
echo'>。/runtest'
echo'注1:必须安装tcl。检查哪个tclsh。提供Perzl包装。”
echo’注2:2015-01-12,我们有一个失败的测试:“BRPOPLPUSH在仍然被阻止时不会影响手表。”
echo'见:https://groups.google.com/forum/#!topic/redis db/8nboMaWfiEU'
回声
echo'make安装在AIX上不起作用。是否要让此脚本复制二进制文件并创建符号链接?“
回声
读取-sn 1-p“按任意键继续…”;回声
lclaborated=$?
fi
如果[$lclAborted==0]
然后
sudo-E slibclean
清楚的
rm-rf/opt/freeware/redis-${lclRedisVersion}>/dev/null 2>&1
mkdir/opt/freeware/redis-${lclRedisVersion}
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/src/redis server/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/src/redis-sentinel/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/src/redis-cli/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/src/redis benchmark/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/src/redis检查转储/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/src/redis检查aof/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/redis.conf/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/sentinel.conf/opt/freeware/redis-${lclRedisVersion}/
cp-p/home/${LOGIN}/src/redis-${lclRedisVersion}/utils/install_server.sh/opt/freeware/redis-${lclRedisVersion}/
ln-sf/opt/freeware/redis-${lclRedisVersion}/redis-server/usr/bin/redis-server
ln-sf/opt/freeware/redis-${lclRedisVersion}/redis-sentinel/usr/bin/redis-sentinel
ln-sf/opt/freeware/redis-${lclRedisVersion}/redis-cli/usr/bin/redis-cli
ln-sf/opt/freeware/redis-${lclRedisVersion}/redis benchmark/usr/bin/redis benchmark
ln-sf/opt