redis安装 error: unrecognized command line option “-std=c11“

报这个问题,主要是gcc版本版本太低导致的.

原先我服务器上的gcc版本是4.4.7,在网上看别人说redis6.0.10的需要gcc>4.9. 于是我将gcc升级到了4.9.4的版本,重新编译redis时,依然报error: unrecognized command line option “-std=c11”. 我用gcc -v命令看了服务器上的gcc版本已经变成4.9.4了,我以为虽然环境变成了高版本的gcc了,但是redis在编译时可能依然用的是低版本的gcc,所以我就一直倒腾gcc的问题.最后弄了半天实在是不知道怎么弄了,我把redis的版本换成5.0.10后,再重新编译就没有问题.
由此看出来redis6.0.10可能需要更高版本gcc支持.

如果服务器上有gcc,而你的redis一直编译不过的话,肯定是gcc的版本过低导致的.
我们可以升gcc的版本或者降低redis的版本来解决.

以下是我升级gcc的步骤.

安装gcc

1. 先查看服务器上gcc的版本. 服务器本地的版本是4.4.7
gcc -v
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
2. 下载解压gcc

我们在官网 http://ftp.gnu.org/gnu/gcc/ 下载响应gcc. 这里下载gcc-4.9.4.tar.gz. 下载完成后,使用解压命令解压gcc.
我这里整理了gcc4.9.4的包和其后面所需的相关依赖,需要的可以自行下载
https://download.csdn.net/download/qq_35976271/14947503

tar -zxvf gcc-4.9.4.tar.gz
3. 解决gcc依赖

gcc在编译时需要一些依赖. gcc为我们提供了一个脚本文件帮我们下载相关的依赖.
它在gcc-4.9.4目录下/contrib/download_prerequisites文件.
我们在有网的情况下只需要./contrib/download_prerequisites 执行这个文件,它就会帮我们下载相关依赖文件.
如果没有网络的情况下,我们可以打开download_prere

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我想将frontend 也是用volumes,将其映射到/app/frontend目录,在/app/frontend下install以及build,如何实现 docker-compose.yml文件: version: '3' services: frontend: build: context: ./frontend dockerfile: Dockerfile ports: - 8010:80 restart: always backend: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: python manage.py runserver 0.0.0.0:8000 ports: - 8011:8000 restart: always celery-worker: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server worker -l info --pool=solo --concurrency=1 depends_on: - redis - backend restart: always celery-beat: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler depends_on: - redis - backend restart: always redis: image: redis:latest ports: - 6379:6379 restart: always mysql: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=sacfxSql258147@ ports: - 8016:3306 volumes: - ./mysql:/var/lib/mysql restart: always frontend:dockerfile文件 FROM node:16.18.1 WORKDIR /app/frontend COPY package*.json ./ RUN npm install COPY . . RUN npm run build:prod FROM nginx:latest COPY --from=0 /app/frontend/dist/ /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
07-14

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值