-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
building Nebula code can't make #978
Comments
Thanks for your feedback. Do you have the core files for GCC? If have, please use |
Sorry for the embarassment and delayed reply. This issue seems due to the incompatibility of instruction set, between the machine you are building on and the one the compiler was built. Would you mind checking the instruction set of your host? You could run |
@dutor |
@xieceinhe |
@xieceinhe
But since I hardly can reproduce this problem, so I cannot figure out the specific involved instruction set. The notorious illegal instruction set problem might be caused by many reasons. Such as, the compiler executable utilizes unsupported instructions, the miss-match between compiler and assembler. To locate in which stage the issue occurs, could you please try to add To find out whether the compiler executable itself uses illegal instructions, you better turn the coredump on, via Thanks in advance. |
Another way, could you please try compiling and run this snippet? $ cat > test.cpp
#include <thread>
int main() { return 0; }
$ /opt/nebula/gcc/bin/g++ -v test.cpp |
@dutor I tryed the sencond way Using built-in specs. |
@xieceinhe
|
sudo apt-get install gdb Thread 2.1 "cc1plus" received signal SIGILL, Illegal instruction. |
From the assembly dumps, I finally figure out the root cause. Bravo! The root cause is the improper compilation of the GMP library, which is used by the GCC compiler. By default, GMP produces libraries optimized for the host processor, using We will revolve this issue by rebuilding the compiler. |
@xieceinhe Could you update the code and retry again? Thanks so much!
|
cd build && cmake .. |
$ cmake .. |
@xieceinhe Thanks for your reply! Now that you have built successfully, I close the issue. |
<!-- Thanks for your contribution! In order to review PR more efficiently, please add information according to the template. --> ## What type of PR is this? - [x] bug - [ ] feature - [ ] enhancement ## What problem(s) does this PR solve? #### Issue(s) number: close vesoft-inc/nebula-ent#957 #### Description: Before: it will check whether there is a root account,when meta is restarted After: it will check whether there is an account with the GOD role, when the meta is restarted ## How do you solve it? ## Special notes for your reviewer, ex. impact of this fix, design document, etc: ## Checklist: Tests: - [ ] Unit test(positive and negative cases) - [ ] Function test - [ ] Performance test - [ ] N/A Affects: - [ ] Documentation affected (Please add the label if documentation needs to be modified.) - [ ] Incompatibility (If it breaks the compatibility, please describe it and add the label.) - [ ] If it's needed to cherry-pick (If cherry-pick to some branches is required, please label the destination version(s).) - [ ] Performance impacted: Consumes more CPU/Memory ## Release notes: Please confirm whether to be reflected in release notes and how to describe: > ex. Fixed the bug ..... Migrated from vesoft-inc#4330 Co-authored-by: jimingquan <mingquan.ji@vesoft.com>
Describe the bug(must be provided)
I was building Nebula code. when Step4: build. bash> make
I get an bug like this:
Scanning dependencies of target base_obj_gch
[ 0%] Generating Base.h.gch
In file included from /opt/nebula/gcc/include/c++/8.2.0/chrono:40,
from /opt/nebula/gcc/include/c++/8.2.0/thread:38,
from /home/zkzy/nebula/nebula/src/common/base/Base.h:15:
/opt/nebula/gcc/include/c++/8.2.0/limits:1599:7: internal compiler error: Illegal instruction
min() _GLIBCXX_USE_NOEXCEPT { return FLT_MIN; }
^~~
0xb48c5f crash_signal
../.././gcc/toplev.c:325
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See https://gcc.gnu.org/bugs/ for instructions.
src/common/base/CMakeFiles/base_obj_gch.dir/build.make:60: recipe for target 'src/common/base/Base.h.gch' failed
make[2]: *** [src/common/base/Base.h.gch] Error 1
CMakeFiles/Makefile2:297: recipe for target 'src/common/base/CMakeFiles/base_obj_gch.dir/all' failed
make[1]: *** [src/common/base/CMakeFiles/base_obj_gch.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2
Your Environments(must be provided)
uname -a
g++ --version
orclang++ --version
lscpu
Linux ai01 4.15.0-64-generic [Code] Support cpplint #73-Ubuntu SMP Thu Sep 12 13:16:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Model name: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
Stepping: 7
CPU MHz: 2390.744
CPU max MHz: 2800.0000
CPU min MHz: 1200.0000
BogoMIPS: 3990.29
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31
How To Reproduce(must be provided)
This bug step is:
bash> git clone https://github.com/vesoft-inc/nebula.git
bash> cd nebula && ./build_dep.sh C
bash> cd nebula && ./build_dep.sh U
bash> source ~/.bashrc
bash> mkdir build && cd build
bash> cmake ..
bash> make
Expected behavior
Compile successfully
Additional context
before is just all.
The text was updated successfully, but these errors were encountered: