Constellation / iv

ECMAScript Lexer / Parser / Interpreter / VM / method JIT written in C++
BSD 2-Clause "Simplified" License
415 stars 32 forks source link

iv build failed #97

Closed t-ashula closed 9 years ago

t-ashula commented 10 years ago

i'm trying to build lv5 on my laptop which runs fedora 20. but build instaraction failed.

here is what i get

$ git clone https://github.com/Constellation/iv iv2
$ cd iv2
$ cmake -H. -Brelease -DCMAKE_BUILD_TYPE=Release
$ make -C release VERBOSE=1
...
Linking CXX executable lv5
cd /home/office/src/iv2/release/iv/lv5 && /usr/bin/cmake -E cmake_link_script CMakeFiles/lv5.dir/link.txt --verbose=1
/usr/bin/c++    -std=c++11 -fno-operator-names  -O3    CMakeFiles/lv5.dir/main.cc.o  -o lv5  -L/home/office/src/iv2/iv/lv5/third_party/netlib_dtoa  -L/home/office/src/iv2/iv/lv5/third_party/v8_dtoa  -L/home/office/src/iv2/iv/lv5/third_party/gc  -L/usr/local/lib -rdynamic liblv5.a -lm -lpthread libbackward.a -ldw -lbfd -Wl,-rpath,/home/office/src/iv2/iv/lv5/third_party/netlib_dtoa:/home/office/src/iv2/iv/lv5/third_party/v8_dtoa:/home/office/src/iv2/iv/lv5/third_party/gc:/usr/local/lib
/usr/bin/ld: liblv5.a(os_dep.c.o): undefined reference to symbol '_end'
/usr/bin/ld: note: '_end' is defined in DSO /lib64/libbz2.so.1 so try adding it to the linker command line
/lib64/libbz2.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[3]: *** [iv/lv5/lv5] Error 1
make[3]: Leaving directory `/home/office/src/iv2/release'
make[2]: *** [iv/lv5/CMakeFiles/lv5.dir/all] Error 2
make[2]: Leaving directory `/home/office/src/iv2/release'
make[1]: *** [iv/lv5/CMakeFiles/lv5.dir/rule] Error 2
make[1]: Leaving directory `/home/office/src/iv2/release'
make: *** [lv5] Error 2
make: Leaving directory `/home/office/src/iv2/release'
Constellation commented 10 years ago

Thank you for your report. iv is tested on Ubuntu 12.04, 14.04 and OSX. We can see it on Travis-CI. So, I've now set up Fedora20 VM, so I'll fix this :)

Constellation commented 10 years ago

I've committed one commit and in my environment, now lv5 can be built! Yay. So please try it. If you still fail, let me know! Here's my environment. I set up Fedora 20 to VM, installed cmake, git, gcc, gcc-c++, subversion, and built lv5.

[X / _ / X]$ uname -a                                                                                                  master ~/dev/iv
Linux localhost.localdomain 3.14.8-200.fc20.x86_64 #1 SMP Mon Jun 16 21:57:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[X / _ / X]$ cat /etc/issue                                                                                            master ~/dev/iv
Fedora release 20 (Heisenbug)
Kernel \r on an \m (\l)

[X / _ / X]$ gcc --version                                                                                             master ~/dev/iv
gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
Copyright (C) 2013 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.
t-ashula commented 10 years ago

hi, thanks for work. i've updated to 42fe8024e6cafd6f47a7c1b151b5f30b69b9d61e. but same error occurred.

however, i also confirmed no error on clean environment like you've made. so i will try find out which rpm package affect this issue.

t-ashula commented 10 years ago

after some test, elfutils-devel.x86_64 affect this issue.

Constellation commented 10 years ago

Thank you. I'll investigate this.

Constellation commented 10 years ago

In the meantime, I stopped building & linking backward-cpp, it solves this :)