Summary: | sys-devel/llvm-3.0-r1: libLLVM-3.0.so has no soname | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Richard Yao (RETIRED) <ryao> |
Component: | [OLD] Development | Assignee: | Bernard Cafarelli <voyageur> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bsd+disabled, prefix |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
URL: | http://svnweb.mageia.org/packages/cauldron/llvm/current/SOURCES/llvm-soname.patch?view=markup | ||
See Also: | http://llvm.org/bugs/show_bug.cgi?id=12334 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 408963 | ||
Attachments: | Sets soname for Linux FreeBSD OpenBSD |
Description
Richard Yao (RETIRED)
2012-03-22 05:32:58 UTC
Where are the relevant soname symlink and the file that it points to installed? Maybe the problem is similar to the issue with binutils that's described in this commit: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=bb9d3b0b53bded18941f12b6e2445d680fb431bb (In reply to comment #1) > Where are the relevant soname symlink and the file that it points to > installed? Maybe the problem is similar to the issue with binutils that's > described in this commit: > > http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit; > h=bb9d3b0b53bded18941f12b6e2445d680fb431bb It is not a symlink: # ls -l /usr/lib/llvm/libLLVM-3.0.so -rwxr-xr-x 1 root root 17047640 Mar 10 01:17 /usr/lib/llvm/libLLVM-3.0.so please show scanelf --soname /usr/lib/llvm/libLLVM-3.0.so output (In reply to comment #3) > please show scanelf --soname /usr/lib/llvm/libLLVM-3.0.so output # scanelf --soname /usr/lib/llvm/libLLVM-3.0.so TYPE SONAME FILE ET_DYN /usr/lib/llvm/libLLVM-3.0.so right, the soname is missing, so can't blame Portage here (In reply to comment #5) > right, the soname is missing, so can't blame Portage here In that case, I will reassign this to the maintainer. I am leaving the portage team on the CC list because of the block on preserve-libs. Feel free to remove the CC if it is inappropriate. Yeah, I don't see anything for portage here. Mageia has a patch for this, only for Linux hosts. prefix and bsd, what would you need for ~x86-fbsd and ~ppc-macos? Upstream bug filled in the meantime (In reply to comment #8) > Mageia has a patch for this, only for Linux hosts. prefix and bsd, what > would you need for ~x86-fbsd and ~ppc-macos? > > Upstream bug filled in the meantime for ~x86-fbsd, the same as linux On all ELF platforms with GNU ld, that soname fix is necessary (don't know if they have appropriate guards for that). On MACH-O platforms, and install_name $(LIBDIR)/libllvm.$(MAJOR).dylib is necessary, but I don't know if something like $(LIBDIR) is available at that point. The install name needs full path. Here is the relevant Makefile: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-shlib/Makefile?view=markup Not sure if the Darwin parts are OK, but at least for ~x86-fbsd, I think I can safely move the -Wl,-soname line to the "ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD))". The other OS in the Makefile are Solaris, Darwin, and Cygwin/MingW I'll make a patch for llvm-3.0, if it works for ~x86-fbsd I will commit it and ask upstream to update the change (soname for Linux is already in, so -9999 ebuild should work) Created attachment 306741 [details, diff]
Sets soname for Linux FreeBSD OpenBSD
(In reply to comment #12) > Created attachment 306741 [details, diff] [details, diff] > Sets soname for Linux FreeBSD OpenBSD This patch results in the following in my Gentoo/FreeBSD 9 chroot: # scanelf --soname /usr/lib/llvm/libLLVM-3.0.so TYPE SONAME FILE ET_DYN libLLVM-3.0.so /usr/lib/llvm/libLLVM-3.0.so llvm-3.0-r2 is in tree with patch, thanks for testing! |