hadoop@yangfan:/usr/local/redis$ sudo make install cd src && make install make[1]: 进入目录“/usr/local/redis/src” /bin/sh: 1: pkg-config: not found CC Makefile.dep /bin/sh: 1: pkg-config: not found CC adlist.o /bin/sh: 1: cc: not found make[1]: *** [M
时间: 2025-07-05 11:46:30 浏览: 3
<think>好的,我现在需要解决用户在编译安装Redis时遇到的pkg-config和cc未找到的问题。用户提到了使用Hadoop、Ubuntu系统,并且在执行make install时出现了问题。首先,我应该回忆一下这两个工具的作用以及它们在编译过程中的重要性。
首先,pkg-config是一个帮助编译器在编译时找到依赖库的工具。如果系统里没有安装它,configure脚本可能会报错,导致无法正确生成Makefile。而cc通常是C编译器的符号链接,比如指向gcc或者clang。如果cc不存在,说明系统可能没有安装必要的编译工具链。
接下来,我需要根据用户的系统环境来考虑解决方案。用户使用的是Ubuntu,所以包管理器是apt。因此,最直接的解决方法是安装所需的软件包。对于pkg-config缺失的问题,应该安装pkg-config包。而cc的问题,通常是因为没有安装build-essential,这个包包含了gcc、g++、make等基本编译工具。
然后,我需要检查用户提供的引用内容,看看是否有相关的信息。引用[1]中提到了安装zlib和openssl的步骤,这可能和依赖库有关,但用户当前的问题是关于pkg-config和cc的。引用[4]提到安装Redis的过程,可能涉及编译步骤,但具体错误没有提到这两个工具。因此,主要还是要基于常见的Ubuntu系统解决方法。
可能的步骤包括:
1. 更新apt包列表,确保软件源是最新的。
2. 安装build-essential,以获取gcc、make等工具。
3. 安装pkg-config。
4. 安装Redis可能依赖的其他库,比如libssl-dev或其他相关开发包。
5. 重新运行configure和make。
此外,用户可能在执行make之前没有正确配置环境变量或安装依赖项,比如没有安装tcl(Redis测试需要),但当前问题主要是编译工具的问题,所以应该先解决工具链的问题。
需要注意,安装build-essential可能需要sudo权限,用户需要确保有足够的权限执行安装命令。同时,安装完成后,可能需要验证cc是否可用,比如运行cc --version检查是否正确安装。
另外,用户可能在之前尝试安装其他软件时修改了环境变量或路径,导致cc无法找到。这种情况下,安装build-essential应该会恢复正确的符号链接。
总结解决步骤应该是:
- 安装build-essential和pkg-config
- 安装其他可能的依赖库
- 重新编译安装Redis
最后,需要提醒用户在安装完成后运行测试(如make test)以确保Redis正确编译,并注意可能的其他依赖项,如引用[4]中提到的tcl。</think>### 解决Redis编译安装中pkg-config和cc未找到的问题
在Ubuntu系统中编译安装Redis时,若出现`pkg-config`和`cc`未找到的错误,通常是由于编译工具链或依赖库未安装导致的。以下是具体解决步骤:
---
#### 1. **安装编译工具链(解决cc未找到)**
`cc`是C编译器的默认符号链接,通常指向`gcc`。未找到`cc`说明系统缺少基础的C编译环境。
**执行以下命令安装编译工具链**:
```bash
sudo apt update
sudo apt install build-essential
```
- `build-essential`包含`gcc`、`g++`、`make`等核心编译工具,安装后`cc`命令即可生效[^1]。
---
#### 2. **安装pkg-config(解决pkg-config未找到)**
`pkg-config`用于在编译时查找依赖库的头文件和链接参数。
**安装命令**:
```bash
sudo apt install pkg-config
```
---
#### 3. **安装Redis的依赖库**
Redis依赖`libssl-dev`、`libsystemd-dev`等库,若缺失可能导致后续编译失败。建议提前安装:
```bash
sudo apt install libssl-dev libsystemd-dev tcl
```
- `tcl`是Redis测试套件的依赖,非必须但推荐安装[^4]。
---
#### 4. **重新编译安装Redis**
完成上述步骤后,重新执行Redis的编译流程:
```bash
# 进入Redis源码目录
make distclean # 清除之前可能错误的配置
make # 重新编译
sudo make install # 安装
```
---
#### 5. **验证安装**
运行以下命令确认Redis是否安装成功:
```bash
redis-server --version
```
---
### 相关问题
1. **如何排查Ubuntu中其他编译安装类依赖问题?**
2. **Redis编译安装后如何配置为系统服务?**
3. **如何解决`make test`时出现的Tcl版本问题?**
---
### 附:常见问题补充
- 若安装后仍报错,检查是否遗漏其他依赖库(如`zlib`),可参考类似安装文档补充安装[^1][^4]。
- 若环境变量异常(如`/usr/local/ssl/lib`未加入路径),需更新`LD_LIBRARY_PATH`或`/etc/ld.so.conf`[^1]。
阅读全文
相关推荐



















