Skip to content

Instantly share code, notes, and snippets.

@christophervigliotti
Last active October 21, 2022 16:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save christophervigliotti/514181c15b6e0d0f050b42cf814263cf to your computer and use it in GitHub Desktop.
Save christophervigliotti/514181c15b6e0d0f050b42cf814263cf to your computer and use it in GitHub Desktop.
Install Rails 7 on Ubuntu ARM

Rails 7 On Ubuntu ARM

Why?

Because I own an M1 Mac and want to learn Rails

First Pass

set password    
  mysecretpassword
install Parallels Tools 
restart
commands...
  sudo apt install gnupg2
  gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
  \curl -sSL https://get.rvm.io | bash -s stable
  rvm
    command 'rvm' not found blarg!
      the fix (via https://superuser.com/questions/376669/why-am-i-getting-rvm-command-not-found-on-ubuntu )
        echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc
        and after that:
          source ~/.bashrc
        and test with:
          type rvm | head -1
        you should get: rvm is a function
more commands...
  rvm pkg install openssl
    wait a while
  \curl -sSL https://get.rvm.io | bash -s -- --ignore-dotfiles
  echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
  rvm reload
  rvm install 2.7.6 --with-openssl-dir=$HOME/.rvm/usr  
    wait a while
error!
  Error running '__rvm_make install',
  please read /home/parallels/.rvm/log/1666368489_ruby-2.7.6/install.log
  There has been an error while running make install. Halting the installation.

Log File

[2022-10-21 12:10:47] __rvm_make
__rvm_make () 
{ 
    \make "$@" || return $?
}
current path: /home/parallels/.rvm/src/ruby-2.7.6
PATH=/home/parallels/.rvm/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/parallels/.rvm/bin
command(2): __rvm_make install
++ make install
./revision.h unchanged
generating aarch64-linux-fake.rb
aarch64-linux-fake.rb updated
	BASERUBY = echo executable host ruby is required.  use --with-baseruby option.; false
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -g -O2 -fPIC 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/12.1.0
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby.so.2.7  -fstack-protector-strong  
	SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm 
	LANG = C.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Copyright (C) 2021 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.

generating enc.mk
making srcs under enc
make[1]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
generating transdb.h
transdb.h unchanged
generating makefiles ext/configure-ext.mk
ext/configure-ext.mk updated
make[1]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[1]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
generating makefile exts.mk
exts.mk updated
make[1]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/ripper'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/ripper'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/syslog'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/syslog'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/io/console'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/io/console'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/digest'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/digest'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/digest/sha2'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/digest/sha2'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/pty'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/pty'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/psych'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/psych'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/monitor'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/monitor'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/coverage'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/coverage'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/socket'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/socket'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/date'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/date'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/pathname'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/pathname'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/fiddle'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/fiddle'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/json'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/json'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/rubyvm'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/rubyvm'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/bigdecimal'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/bigdecimal'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/nkf'
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6/ext/nkf'
make[2]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
./revision.h unchanged
make[2]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[1]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[1]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
*** Following extensions are not compiled:
dbm:
	Could not be configured. It will not be installed.
	Check ext/dbm/mkmf.log for more details.
openssl:
	Could not be configured. It will not be installed.
	Check ext/openssl/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
make[1]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
making enc
make[1]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[1]: Nothing to be done for 'enc'.
make[1]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
making trans
make[1]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[1]: Nothing to be done for './enc/trans'.
make[1]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
making encs
make[1]: Entering directory '/home/parallels/.rvm/src/ruby-2.7.6'
make[1]: Nothing to be done for 'encs'.
make[1]: Leaving directory '/home/parallels/.rvm/src/ruby-2.7.6'
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -r./aarch64-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc" --exclude=doc
installing binary commands:         /home/parallels/.rvm/rubies/ruby-2.7.6/bin
installing base libraries:          /home/parallels/.rvm/rubies/ruby-2.7.6/lib
installing arch files:              /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/aarch64-linux
installing pkgconfig data:          /home/parallels/.rvm/rubies/ruby-2.7.6/lib/pkgconfig
installing extension objects:       /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/aarch64-linux
installing extension objects:       /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/site_ruby/2.7.0/aarch64-linux
installing extension objects:       /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/vendor_ruby/2.7.0/aarch64-linux
installing extension headers:       /home/parallels/.rvm/rubies/ruby-2.7.6/include/ruby-2.7.0/aarch64-linux
installing extension scripts:       /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0
installing extension scripts:       /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/site_ruby/2.7.0
installing extension scripts:       /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/vendor_ruby/2.7.0
installing extension headers:       /home/parallels/.rvm/rubies/ruby-2.7.6/include/ruby-2.7.0/ruby
installing command scripts:         /home/parallels/.rvm/rubies/ruby-2.7.6/bin
installing library scripts:         /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0
installing common headers:          /home/parallels/.rvm/rubies/ruby-2.7.6/include/ruby-2.7.0
installing manpages:                /home/parallels/.rvm/rubies/ruby-2.7.6/share/man (man1, man5)
installing default gems from lib:   /home/parallels/.rvm/rubies/ruby-2.7.6/lib/ruby/gems/2.7.0 (build_info, cache, doc, extensions, gems, specifications)
                                    benchmark 0.1.0
/home/parallels/.rvm/src/ruby-2.7.6/lib/rubygems/core_ext/kernel_require.rb:83:in `require': cannot load such file -- openssl (LoadError)
	from /home/parallels/.rvm/src/ruby-2.7.6/lib/rubygems/core_ext/kernel_require.rb:83:in `require'
	from /home/parallels/.rvm/src/ruby-2.7.6/lib/rubygems/specification.rb:2430:in `to_ruby'
	from ./tool/rbinstall.rb:846:in `block (2 levels) in install_default_gem'
	from ./tool/rbinstall.rb:279:in `open_for_install'
	from ./tool/rbinstall.rb:845:in `block in install_default_gem'
	from ./tool/rbinstall.rb:835:in `each'
	from ./tool/rbinstall.rb:835:in `install_default_gem'
	from ./tool/rbinstall.rb:799:in `block in <main>'
	from ./tool/rbinstall.rb:950:in `block in <main>'
	from ./tool/rbinstall.rb:947:in `each'
	from ./tool/rbinstall.rb:947:in `<main>'
make: *** [uncommon.mk:380: do-install-nodoc] Error 1
++ return 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment