Bug#730095: ruby2.0: RbConfig::CONFIG['libdir'] does not point to the multiarch dir

2014-03-24 Thread Christian Hofstaedtler
Lisandro,

Thanks for writing the patch.

Cédric,

Thanks for trying it and working on it further!

Regarding ruby 1.9.1: I think it's safe to ignore 1.9.1; from what
I've seen, packages that use cmake to build ruby extensions
generally build only for one version, so if 1.9.1 would be broken
with a patched cmake, that would only be a temporary situation that
can be quickly remedied.

Thanks!
Christian

-- 
 ,''`.  Christian Hofstaedtler 
: :' :  Debian Developer
`. `'   7D1A CFFA D9E0 806C 9C4C  D392 5C13 D6DB 9305 2E03
  `-



signature.asc
Description: Digital signature


Bug#730095: ruby2.0: RbConfig::CONFIG['libdir'] does not point to the multiarch dir

2014-03-24 Thread Cédric Boutillier
Hi Lisandro,

On Sun, Mar 23, 2014 at 01:27:06PM -0300, Lisandro Damián Nicanor Pérez Meyer 
wrote:
> tag 730095 +patch
> thanks

> Note: I'm not the cmake maintainer but I'm just trying to get this solved.

> Ruby guys: is there any chance to apply the following patch to 
> /usr/share/cmake-2.8/Modules/FindRuby.cmake and see if you apps compile/work ?

I tested your patch with qtruby and ruby/ruby2.0 from experimental, giving
ruby2.0 as default Ruby interpreter.

It seems that there is a typo in the patch, because I get this error:

CMake Error: Error in cmake code at
/usr/share/cmake-2.8/Modules/FindRuby.cmake:101:
Parse error.  Expected "(", got newline with text "
".
CMake Error at CMakeLists.txt:5 (find_package):
  find_package Error reading CMake code from
  "/usr/share/cmake-2.8/Modules/FindRuby.cmake".

I replaced endif by endif(), and could go a bit further but not far.
I got this error:

CMake Error at 
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find Ruby (missing: RUBY_CONFIG_INCLUDE_DIR) (found version
  "2.0.0")
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 
(_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindRuby.cmake:242 
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:5 (find_package)

I tried earlier the patch provided in 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739826#17
(without yours). And it managed to build qtruby against ruby2.0.
It seems that it tries to solve a similar problem to this one.
Could you evaluate it?

About ruby1.9.1 and multiarch, I strongly believe that the plan is to
drop ruby1.9.1 as soon as possible, and that it will not be
multiarchified.

Cheers,

Cédric.


signature.asc
Description: Digital signature


Bug#730095: ruby2.0: RbConfig::CONFIG['libdir'] does not point to the multiarch dir

2014-03-23 Thread Lisandro Damián Nicanor Pérez Meyer
On Sunday 23 March 2014 13:27:06 Lisandro Damián Nicanor Pérez Meyer wrote:
> tag 730095 +patch
> thanks
> 
> Note: I'm not the cmake maintainer but I'm just trying to get this solved.
> 
> Ruby guys: is there any chance to apply the following patch to
> /usr/share/cmake-2.8/Modules/FindRuby.cmake and see if you apps compile/work
> ?

On a second thought, this will not work if ruby1.9 is multiarchified. Is it 
that the case?

I have another ideas to test, but it would be great if you can start testing 
this or can provide a simple testcase.

-- 
 AlfaScorpii: podés converncerla a tu vieja que le esconda
el diccionario a el_machi? Cada vez que aprende una palabra nueva
busca cualquier excusa para usarla
 e-squizo: leí mi primer diccionario a los 5 años
[...]
 e-squizo: como mi vieja no aprenda lo suficiente de
hacking no veo como haria para bajar el sitio de la real academia
  Visto en #grulic, irc.freenode.net

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.


Bug#730095: ruby2.0: RbConfig::CONFIG['libdir'] does not point to the multiarch dir

2013-11-21 Thread Antonio Terceiro
Control: reassign -1 cmake
Control: retitle -1 cmake: FindRuby cannot handle Ruby 2.0 library in multiarch 
path

Hello Sylvain, thanks for your bug report. Hello cmake maintainer(s).

On Thu, Nov 21, 2013 at 11:19:09AM +0100, Sylvain Joyeux wrote:
> Package: ruby2.0
> Version: 2.0.0.343-1
> Severity: normal
> 
> RbConfig::CONFIG['libdir'] reports /usr/lib/ instead of (on my amd64
> machine) the multiarch /usr/lib/x86_64-linux-gnu. AFAIK, libdir is
> meant to be the directory in which the ruby .so library is
> installed, so it is wrong.
>
> It breaks CMake's FindRuby macros

libdir points to the base directory for libraries. Before multiarch
support, the shared library was also in that directory, but it was
mostly a coincidence.

DISCLAIMER: I don't know much about CMake.

IMO:

- CMake's FindRuby macros should not need any help to search for a
  library in the standard compiler paths, be it the multiarch path
  (/usr/lib/$triplet) or the legacy path (/usr/lib).
- CMake has to be fixed to cope with this, and this is why I am
  reassigning this bug to cmake. I see 2 ways of doing it:

0) Using archlibdir (new on Ruby 2.0), and falling back to libdir on older Ruby 
versions:

$ ruby1.9.1  -e 'puts RbConfig::CONFIG["archlibdir"] || 
RbConfig::CONFIG["libdir"]'
/usr/lib
$ ruby2.0  -e 'puts RbConfig::CONFIG["archlibdir"] || 
RbConfig::CONFIG["libdir"]'
/usr/lib/x86_64-linux-gnu

1) Using pkg-config to detect the presence of Ruby and trusting the
compiler to find the shared library in the right path

$ pkg-config --libs --cflags ruby-1.9
-I/usr/include/ruby-1.9.1/x86_64-linux -I/usr/include/ruby-1.9.1  -lruby-1.9.1 
-lpthread -lrt -ldl -lcrypt -lm
$ pkg-config --libs --cflags ruby-2.0
-I/usr/include/x86_64-linux-gnu/ruby-2.0.0 -I/usr/include/ruby-2.0.0  
-lruby-2.0 -lpthread -lrt -ldl -lcrypt -lm

Please let me know if there is any further information I can provide on
the Ruby side.

-- 
Antonio Terceiro 


signature.asc
Description: Digital signature


Bug#730095: ruby2.0: RbConfig::CONFIG['libdir'] does not point to the multiarch dir

2013-11-21 Thread Sylvain Joyeux

Package: ruby2.0
Version: 2.0.0.343-1
Severity: normal

RbConfig::CONFIG['libdir'] reports /usr/lib/ instead of (on my amd64 
machine) the multiarch /usr/lib/x86_64-linux-gnu. AFAIK, libdir is meant 
to be the directory in which the ruby .so library is installed, so it is 
wrong.


It breaks CMake's FindRuby macros

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), 
(101, 'experimental')

Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.11-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages ruby2.0 depends on:
ii  libc6 2.17-96
ii  libruby2.02.0.0.343-1
ii  rubygems-integration  1.2

ruby2.0 recommends no packages.

ruby2.0 suggests no packages.

-- no debconf information


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org