Comments (15)
Additional questions:
- It seems
llvm
from Homebrew needs to be installed, is the system one not enough? - Is
llvm
only needed at build time or also at runtime?
I would be unfortunate to need it at runtime because it's not installed by default in GitHub Actions and it takes ~1min35s to install via Homebrew.
BTW, https://book.rubinius.com/manuscript/getting_rubinius.html mentions llvm38
but that formula no longer exists.
from rubinius.
A third try, also SEGV:
RBC core/time.rb
The Rubinius process is aborting with signal: SIGSEGV
--- begin system info ---
node: info: Mac-1297.local Darwin Kernel Version 19.2.0: Sat Nov 9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64
--- end system info ---
--- begin rubinius info ---
process: info: runner rbx 59020 4.13 10.0 2020-01-20 806f3be4 9.0.0 JIT disabled
--- end rubinius info ---
--- begin system backtrace ---
0 rbx 0x0000000109096cf9 _ZN8rubiniusL20abandon_ship_handlerEiP9__siginfoPv + 249
1 libsystem_platform.dylib 0x00007fff6ecb042d _sigtramp + 29
2 ??? 0x00007fc796287750 0x0 + 140495194453840
3 rbx 0x0000000109011a8e _ZN8rubiniusL2asINS_9ByteArrayEEEPT_PNS_6ObjectE + 32
4 rbx 0x0000000109011799 _ZN8rubinius12instructions12string_buildEPNS_5StateEPNS_9CallFrameEl + 146
5 rbx 0x00000001090116dd _ZN8rubinius11interpreter12string_buildEPNS_5StateEPNS_9CallFrameEPKl + 33
6 rbx 0x0000000109008ac0 _ZN8rubinius11Interpreter7executeEPNS_5StateEPNS_11MachineCodeE + 64
https://github.com/eregon/ruby-install-builder/runs/408706695
from rubinius.
@eregon I fixed a bunch of stuff for memory headers and memory handles, I'll tag a release soon.
For LLVM, it's only a build-time dependency, but I'm only going to support the latest release (currently 9.0). If that isn't available, the build just won't have any LLVM-dependent features. I'll take me some time to clean up all the obsolete LLVM cruft, so thanks for pointing that out.
from rubinius.
@eregon please try 4.14.
from rubinius.
4.14 still segfaults:
https://github.com/eregon/ruby-install-builder/runs/410673147
RBC core/file.rb
The Rubinius process is aborting with signal: SIGSEGV
--- begin system info ---
node: info: Mac-1461.local Darwin Kernel Version 19.2.0: Sat Nov 9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64
--- end system info ---
--- begin rubinius info ---
process: info: runner rbx 59094 4.14 10.0 2020-01-26 02f6c527 9.0.0 JIT disabled
--- end rubinius info ---
--- begin system backtrace ---
0 rbx 0x000000010bdc9859 _ZN8rubiniusL20abandon_ship_handlerEiP9__siginfoPv + 249
1 libsystem_platform.dylib 0x00007fff642d442d _sigtramp + 29
2 ??? 0x000070000901ee10 0x0 + 123145453432336
3 rbx 0x000000010bd794fe _ZN8rubinius6memory8MainHeap14collect_finishEPNS_5StateE + 46
4 rbx 0x000000010bd7cc55 _ZN8rubinius6memory12MemoryTracer10trace_heapEPNS_5StateE + 1525
5 rbx 0x000000010bd769d1 _ZNSt3__110__function6__funcIZN8rubinius6memory9Collector7collectEPNS2_5StateEE3$_2NS_9allocatorIS7_EEFvvEEclEv + 113
6 rbx 0x000000010bd7558f _ZN8rubinius6memory9Collector19stop_for_collectionEPNS_5StateENSt3__18functionIFvvEEE + 367
7 rbx 0x000000010bd75653 _ZN8rubinius6memory9Collector7collectEPNS_5StateE + 99
8 rbx 0x000000010bd759fd _ZN8rubinius6memory9Collector6Worker3runEPNS_5StateE + 269
9 rbx 0x000000010bd6fb91 _ZN8rubinius13MachineThread3runEPv + 161
10 libsystem_pthread.dylib 0x00007fff642dfe65 _pthread_start + 148
11 libsystem_pthread.dylib 0x00007fff642db83b thread_start + 15
--- end system backtrace ---
--- begin Ruby backtraces ---
--- Thread 1 backtrace ---
Integer#to_s in core/integer.rb:1498 (+38)
__block__ in rubinius/code/compiler/compiled_file.rb:316 (+52)
...
from rubinius.
This time it seems a SEGV from the GC.
from rubinius.
@eregon hm, I fixed something there, too. I'm in the middle of a pretty big reorg of some internal data structures. I've switched CI to Travis, which is building. I'll ping you when I tag the next release.
from rubinius.
I got a lucky build that succeeded: https://github.com/eregon/ruby-builder/runs/421811427
I didn't change anything since the last build though, so it just seems luck to not get the segfault.
from rubinius.
OTOH it still segfaults at runtime for bundle install
:
https://github.com/eregon/use-ruby-action/runs/421838829
Also on Ubuntu 16.04:
https://github.com/eregon/use-ruby-action/runs/421838746
from rubinius.
@eregon you must use the version of Bundler that is installed by Rubinius.
You may have better success with 4.15.
from rubinius.
Where is the bundle
executable? It's not in install_prefix/bin/bundle
like in other Ruby, so that's why the logic ends up installing Bundler (https://github.com/eregon/ruby-builder/runs/421811427).
I guess in install_prefix/gems/bin/bundle
?
MRI 2.6+ ships a bin/bundle
so it would be nice to match that.
from rubinius.
Rubinius 4.15 fails to compile on Ubuntu 16.04:
https://github.com/eregon/ruby-builder/runs/421971027
2: CXX machine/memory.cpp
machine/memory.cpp:195:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
^
machine/memory.cpp:206:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
^
machine/memory.cpp:216:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
^
machine/memory.cpp:230:29: error: unused variable 'vm' [-Werror,-Wunused-variable]
if(rubinius::ThreadState* vm = rubinius::ThreadState::current()) {
^
3: CXX machine/memory/code_manager.cpp
from rubinius.
It still segfaults with 4.14 on Ubuntu 16.04 with the bundled bundler:
https://github.com/eregon/ruby-builder/runs/422071201
from rubinius.
@eregon not supporting anything older than 18.04. Bundler is pre-installed, so you'll need to point to it with your script. If you're curious https://github.com/rubygems/bundler/issues/6274.
from rubinius.
@eregon please close this issue if 18.04 is working with pre-installed Bundler.
from rubinius.
Related Issues (20)
- Workaround for Rubinius on Travis HOT 4
- Rubinius fails to compile with openssl 1.1.1 HOT 4
- Rubinius does not install gems binary in $PREFIX/bin and so bundle and pry are not available HOT 7
- SSL cert on rubinius.com is expired HOT 1
- Rubinius hangs when setting a key of a `Concurrent::Map` HOT 3
- Rubinius fails to build on Ubuntu 18.04 in GitHub Actions HOT 6
- Rubinius 4.12 failed to build on OS X Catalina HOT 4
- rubyc vs rubinius-x HOT 1
- Rubinius 5.0 fails to compile with clang 9.0.1 on Fedora
- How can i get a machine code using rubinius?
- llvm-config tbd file system argument mac
- about the sourcecode HOT 1
- Error on installing rbx-2 with rvm on wsl ubuntu 20.04 HOT 1
- error: implicit declaration of function 'rb_sys_fail_str' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
- Improvements to C code that can improvement robustness
- undefined method `to_sexp' on an instance of String. (NoMethodError)
- HTTPS certificate expired for https://rubinius.com HOT 5
- (non-issue) rubinius cache file rubinius-codedb-cache.bz2 is not a tape archive
- Error 'gettid' is missing exception specification 'throw()' when compiling
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rubinius.