User Tools

Site Tools


location:schwerin:hackfest:2012-12:rails

Quellen

Ausgangspunkt

DiskStation> cd /tmp
DiskStation> wget http://wizjos.endofinternet.net/synology/archief/syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh
DiskStation> sh syno-mvkw-bootstrap_1.2-7_arm-ds111.xsh
DiskStation> ipkg install rubygems libstdc++
DiskStation> ln -s /opt/bin/install /usr/bin/install

Fehler

# when deploying with capistrano or running bundle --deployment
# bundler will install the rails depedency unf
DiskStation> gem install unf_ext
  Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

		/opt/bin/ruby extconf.rb 
checking for main() in -lstdc++... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
	--with-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/opt/bin/ruby
	--with-stdc++lib
	--without-stdc++lib
/opt/lib/ruby/1.9.1/mkmf.rb:362:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
	from /opt/lib/ruby/1.9.1/mkmf.rb:415:in `try_link0'
	from /opt/lib/ruby/1.9.1/mkmf.rb:419:in `try_link'
	from /opt/lib/ruby/1.9.1/mkmf.rb:527:in `try_func'
	from /opt/lib/ruby/1.9.1/mkmf.rb:723:in `block in have_library'
	from /opt/lib/ruby/1.9.1/mkmf.rb:668:in `block in checking_for'
	from /opt/lib/ruby/1.9.1/mkmf.rb:274:in `block (2 levels) in postpone'
	from /opt/lib/ruby/1.9.1/mkmf.rb:248:in `open'
	from /opt/lib/ruby/1.9.1/mkmf.rb:274:in `block in postpone'
	from /opt/lib/ruby/1.9.1/mkmf.rb:248:in `open'
	from /opt/lib/ruby/1.9.1/mkmf.rb:270:in `postpone'
	from /opt/lib/ruby/1.9.1/mkmf.rb:667:in `checking_for'
	from /opt/lib/ruby/1.9.1/mkmf.rb:718:in `have_library'
	from extconf.rb:2:in `<main>'


Gem files will remain installed in /opt/home/ronald/apps/moviedb/releases/20121130225601/vendor/bundle/ruby/1.9.1/gems/unf_ext-0.0.5 for inspection.
Results logged to /opt/home/ronald/apps/moviedb/releases/20121130225601/vendor/bundle/ruby/1.9.1/gems/unf_ext-0.0.5/ext/unf_ext/gem_make.out
An error occurred while installing unf_ext (0.0.5), and Bundler cannot continue.
Make sure that `gem install unf_ext -v '0.0.5'` succeeds before bundling.
DiskStation> find / -name "libstdc++*" 2> /dev/null
/opt/lib/libstdc++.la
/opt/lib/libstdc++.so
/opt/lib/libstdc++.so.6
/opt/lib/ipkg/info/libstdc++.control
/opt/lib/ipkg/info/libstdc++.list
/opt/lib/libstdc++.so.6.0.9
/lib/libstdc++.so.6
/volume1/@optware/lib/libstdc++.la
/volume1/@optware/lib/libstdc++.so
/volume1/@optware/lib/libstdc++.so.6
/volume1/@optware/lib/ipkg/info/libstdc++.control
/volume1/@optware/lib/ipkg/info/libstdc++.list
/volume1/@optware/lib/libstdc++.so.6.0.9

Experimente

DiskStation> ipkg install optware-devel libstdc++ gconv-modules glib gnutls libc-dev libcurl libgcrypt libsigc++ libstdc++ libtool make
DiskStation> mkdir -p /home/slug/optware/cs08q1armel/toolchain
DiskStation> ln -s /opt /home/slug/optware/cs08q1armel/toolchain/arm-2008q1
DiskStation> ruby -rrbconfig -ryaml -e "puts RbConfig::CONFIG.to_yaml" | grep lib	
DiskStation> mkdir -p /home/slug/optware/cs08q1armel/staging
DiskStation> ln -s /opt /home/slug/optware/cs08q1armel/staging/opt
=> Hilft alles nichts

DiskStation> d=/tmp/ruby-install
DiskStation> mkdir $d; cd $d
# http://www.ruby-lang.org/en/downloads/
DiskStation> wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
DiskStation> tar xfz ruby-1.9.3-p327.tar.gz 
DiskStation> ./configure --prefix=/opt && make && make install
=> yaml psych error

Lösungsansätze

Lösung

Grundidee:
remove
DiskStation> ipkg remove rubygems ruby
fix libpthread

DiskStation> mkdir /opt/arm-none-linux-gnueabi/lib_disabled

DiskStation> mv /opt/arm-none-linux-gnueabi/lib/libpthread* /opt/arm-none-linux-gnueabi/lib_disabled
DiskStation> cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/
DiskStation> cd /opt/arm-none-linux-gnueabi/lib/
DiskStation> ln -s libpthread.so.0 libpthread.so
DiskStation> ln -s libpthread.so.0 libpthread-2.5.so
Install Ruby using ruby-ruild

⇒ läuft. Nächste Baustellen libxml2-dev, libxslt-dev, sqlite3-dev, …

location/schwerin/hackfest/2012-12/rails.txt · Last modified: 2012/12/02 20:16 by 92.224.139.124