Bug #7874
closedmultiarch support enhancements
Description
Hi, I am one the maintainers of Ruby in Debian, thanks a lot for adding multiarch support.
While preparing packages for Ruby 2.0, I found two issues:
-
On a x86_64 Debian system with Linux kernel, Ruby will say that the architecture is "x86_64-linux", but the standard architecture name for such a system, as used in multiarch-enabled packages, is "x86_64-linux-gnu". In order to not break other systems, I suggest adding a --with-multiarchname argument to ./configure so that the Debian package can pass in the appropriate architecture name during ./configure stage.
-
the pkg-config data also has to be installed inside multiarch paths.
I am attaching patches for both issues.
Files
Updated by terceiro (Antonio Terceiro) almost 12 years ago
Hi,
there is also another problem: when --enabled-shared is used, the shared libraries are not installed in the multiarch path. I am working on a patch for that.
Updated by vo.x (Vit Ondruch) almost 12 years ago
Ad 1) You can use --host=x86_64-linux-gnu if I am not mistaken.
Ad 2) It seems to duplicate #7867
Updated by terceiro (Antonio Terceiro) almost 12 years ago
- File 0002-Install-libraries-and-pkg-config-data-into-multiarch.patch 0002-Install-libraries-and-pkg-config-data-into-multiarch.patch added
Attaching a patch that fixes the path for installing both the libraries and the pkg-config data. It supersedes 0002-Install-pkgconfig-data-to-architecture-specific-path.patch attached before.
Updated by ko1 (Koichi Sasada) almost 12 years ago
- Category set to build
- Assignee set to nobu (Nobuyoshi Nakada)
Updated by mame (Yusuke Endoh) almost 12 years ago
Hello Antoino,
Doesn't Vit's comment help you?
And please attach the patch for "another issue" into the ticket #7867.
Thanks!
--
Yusuke Endoh mame@tsg.ne.jp
Updated by terceiro (Antonio Terceiro) almost 12 years ago
mame (Yusuke Endoh) wrote:
Hello Antoino,
Doesn't Vit's comment help you?
I tried --host= but it does not have any effect on the paths used in the installation. In this case we really need to use the standard architecture name for $arch.
And please attach the patch for "another issue" into the ticket #7867.
Fair enough - just did it. But note that such patch fixes #7867 and stuff I am reporting here (i.e. the install path for libraries (.so, .a) into multiarch paths.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
The arch name is taken from --target option, not --host.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
As for the second patch, I guess it would be:
AC_SUBST(ENABLE_MULTIARCH, ${multiarch:-no})
Note the colon.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
Sorry, I's confused a little last night.
multiarch is set to an empty string or unset, so terceiro's substitution is correct.
Updated by mame (Yusuke Endoh) almost 12 years ago
- Status changed from Open to Assigned
Sorry, I don't understand the situation.
Nobu, do you think that we should import terceiro's patches?
--
Yusuke Endoh mame@tsg.ne.jp
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r39333.
Antonio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
configure.in: adjust libdirname
- configure.in (libdirname): adjust library path name which libruby
files will be installed. [Bug #7874] - tool/rbinstall.rb (libdir): ditto.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
- Status changed from Closed to Open
- % Done changed from 100 to 50
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
- Status changed from Open to Closed
- % Done changed from 50 to 100
This issue was solved with changeset r39334.
Antonio, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
configure.in: target_os suffix
- configure.in (target_os): do not strip -gnu suffix on Linux if
--target is given explicitly. [Bug #7874]
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
I think r39334 fixes a longstanding bug, which ignores explicitly specified option, not only guessed name.
Updated by terceiro (Antonio Terceiro) almost 12 years ago
thanks!
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
Others are libdir concerned patches, and I think they are not stable enough to backport yet.
Updated by terceiro (Antonio Terceiro) almost 12 years ago
Hi,
With the current state in trunk it does not build anymore:
$ autoreconf && ./configure --target=x86_64-linux-gnu --enable-multiarch
[...]
configure: creating ./config.status
config.status: creating Makefile
config.status: creating ruby-2.0.pc
Variable 'archlibdir' not defined in './ruby.tmp.pc'