You are not logged in.

#1 2009-03-21 11:20:28

w1rele55
Member
Registered: 2007-06-23
Posts: 17

HOW to build ruby 1.8.6 package (p287) ???

Currently distro offers latest ruby version ruby-1.8.7_p72-3
Some my projects is not compatible with v1.8.7  so I need v1.8.6.

I have tried to build custom package ( just modify official PKGBUILD file from extra/ruby ABS)

But it has issue with openssl:

compiling openssl
make[1]: Entering directory `/home/wireless/aur/extra/ruby/src/ruby-1.8.6-p287/ext/openssl'
gcc -I. -I../.. -I../../. -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64 -fPIC -march=i686 -mtune=generic -O2 -pipe  -fPIC  -c ossl_x509name.c
In file included from ossl.h:197,
                 from ossl_x509name.c:11:
openssl_missing.h:123: error: conflicting types for 'BN_rand_range'
/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include-fixed/openssl/bn.h:420: error: previous declaration of 'BN_rand_range' was here
openssl_missing.h:124: error: conflicting types for 'BN_pseudo_rand_range'
/usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include-fixed/openssl/bn.h:421: error: previous declaration of 'BN_pseudo_rand_range' was here
ossl_x509name.c: In function 'ossl_x509name_initialize':
ossl_x509name.c:135: warning: passing argument 2 of 'd2i_X509_NAME' from incompatible pointer type
make[1]: *** [ossl_x509name.o] Error 1
make[1]: Leaving directory `/home/wireless/aur/extra/ruby/src/ruby-1.8.6-p287/ext/openssl'
make: *** [all] Error 1
==> ERROR: Build Failed.
    Aborting...

Damn...

HOW TO BUILD IT?

Offline

#2 2009-03-21 11:41:48

w1rele55
Member
Registered: 2007-06-23
Posts: 17

Re: HOW to build ruby 1.8.6 package (p287) ???

==> Leaving fakeroot environment.
==> Finished making: ruby 1.8.6_p287-1 i686 (Sat Mar 21 13:40:10 EET 2009)

SOLVED with such PKGBUILD:

# $Id: PKGBUILD 26958 2009-02-14 23:32:24Z jgc $
# Maintainer: dorphell <dorphell@archlinux.org>
# Contributors: John Proctor <jproctor@prium.net>
#               Jeramy Rutley <jrutley@gmail.com>
pkgname=ruby
pkgver=1.8.6_p287
_pkgver=1.8.6-p287
pkgrel=1
pkgdesc="An object-oriented language for quick and easy programming"
arch=(i686 x86_64)
license=('custom')
url="http://www.ruby-lang.org/en/"
depends=('gdbm>=1.8.3' 'db>=4.7.25' 'openssl>=0.9.8j' 'zlib>=1.2.3.3' 'readline>=5.2.013')
makedepends=('tk>=8.5')
source=(ftp://ftp.ruby-lang.org/pub/ruby/1.8/${pkgname}-${_pkgver}.tar.bz2) 
options=('!emptydirs' 'force')
md5sums=('80b5f3db12531d36e6c81fac6d05dda9')

build() {
  cd "${srcdir}/${pkgname}-${_pkgver}"
  ./configure --prefix=/usr --enable-shared --enable-pthread || return 1

  # Fix for conflict with openssl
  sed -i'' -e "123,124s/.*//" ext/openssl/openssl_missing.h

  make || return 1
  make DESTDIR="${pkgdir}" install || return 1
  #generate the ri docs
  make -j1 DESTDIR="${pkgdir}" install-doc || return 1
  install -d "${pkgdir}/usr/share/licenses/${pkgname}"
  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}

Thx anyone smile

Offline

Board footer

Powered by FluxBB