zab*_*mba 4 c++ makefile g++ ubuntu-14.04 ubuntu-16.04
我正在将在Ubuntu 14.04上编译的代码移植到16.04。我已经克隆了我的 git repo,安装了依赖项并尝试了通常的make命令,很快我就遇到了g++: internal compiler error: Segmentation fault (program cc1plus)......但我不确定从哪里开始诊断和解决这个问题。
我会尽可能多地分享,看看是否有人可以指导我解决问题。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
Run Code Online (Sandbox Code Playgroud)
$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Run Code Online (Sandbox Code Playgroud)
$ python --version
Python 2.7.12
Run Code Online (Sandbox Code Playgroud)
PYTHON /usr/bin/python2.7
ARCH x86_64
OS Linux
VERSION 4.4.071generic
PLATFORM linux2
HOSTNAME deploy
USER myUser
WUSS_BUILD NO
CCVER gcc
PYLIBDIR build.x86_64-linux2
LIBDIR build.x86_64-linux2
BINDIR build.x86_64-linux2
ODIR build.x86_64-linux2-gcc
STATICLIBDIR build-static.x86_64-linux2
Run Code Online (Sandbox Code Playgroud)
该make命令导致
+++ Compile mycore/boost_json.cc to build.x86_64-linux2-gcc
g++: internal compiler error: Segmentation fault (program cc1plus) <===
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
mk/makelib2.inc:48: recipe for target 'build.x86_64-linux2-gcc/mycore/boost_json.o' failed
make[1]: *** [build.x86_64-linux2-gcc/mycore/boost_json.o] Error 4
Makefile:152: recipe for target 'make.stage1c' failed
make: *** [make.stage1c] Error 2
Run Code Online (Sandbox Code Playgroud)
错误消息似乎指向g++编译器错误(?)
makelib2.inc:48
$(ODIR)/%.o : %.c
@mkdir -p $(dir $@)
@echo "+++ Compile $< to $(ODIR)"
@$(CC) -MMD -MP -MF $(@:.o=.d) -c -I$(ODIR) $(CFLAGS) $(CFLAGS_$*) -o $@ $<
Run Code Online (Sandbox Code Playgroud)
我意识到这将很难提出一个适当的问题来获得适当的帮助。因此,请耐心等待,并随时建议添加任何可能有帮助的内容。不幸的是,我不能分享代码。
打算尝试升级g++到更新的版本。按照这个线程
g++分段错误问题灵感来自这个线程
我在Ubuntu 16.04上执行了以下操作
sudo apt-get install build-essential software-properties-common -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update
sudo apt-get install gcc-snapshot -y
Run Code Online (Sandbox Code Playgroud)
在g++从什么5.4.0增加到5.4.1解决分段错误问题之后
$ g++ --version
g++ (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15243 次 |
| 最近记录: |