Summary: | sys-apps/hwloc: convert to multilib | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Christoph Junghans (RETIRED) <junghans> |
Component: | [OLD] Core system | Assignee: | Gentoo Cluster Team <cluster> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jlec, multilib+disabled |
Priority: | Normal | Keywords: | Inclusion, PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=538760 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 540030, 540034 | ||
Bug Blocks: | 510180, 519700 | ||
Attachments: |
patch against gx86
patch against gx86 build.log patch against gx86 patch against gx86 patch against gx86 patch against gx86 |
Description
Christoph Junghans (RETIRED)
2015-02-14 05:27:06 UTC
Looks fine, I think. And I think CUDA is actually multilib but would use update to use explicit USE flags. (In reply to Michał Górny from comment #1) > Looks fine, I think. And I think CUDA is actually multilib but would use > update to use explicit USE flags. dev-util/nvidia-cuda-toolkit isn't multilib yet, we can always add support for that later (CCing jlec). Only libcudart.so is multilib. Which libs does hwloc link to? (In reply to Justin Lecher from comment #3) > Only libcudart.so is multilib. Which libs does hwloc link to? @jlec: I currently don't have nvidia hardware available to test it, could you please have a look if we should use multilib_native_use_enable or use_enable cuda in myeconfargs of this patch. As dev-util/nvidia-cuda-toolkit doesn't have a abi nor multilib use flag dependencies should already be correct. (In reply to Christoph Junghans from comment #4) > (In reply to Justin Lecher from comment #3) > > Only libcudart.so is multilib. Which libs does hwloc link to? > @jlec: I currently don't have nvidia hardware available to test it, could > you please have a look if we should use multilib_native_use_enable or > use_enable cuda in myeconfargs of this patch. As > dev-util/nvidia-cuda-toolkit doesn't have a abi nor multilib use flag > dependencies should already be correct. It's only libcudart.so. So everything should be good for cuda. Created attachment 396724 [details, diff]
patch against gx86
Update version of the patch
@jlec, please test =hwloc-1.10.0-r2::science! Do you remember with which version dev-util/nvidia-cuda-toolkit became multilib?
Created attachment 396726 [details]
build.log
src/topology-linux.c -fPIC -DPIC -o .libs/topology-linux.o
/var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0/include/private/cpuid-x86.h: Assembler messages:
/var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0/include/private/cpuid-x86.h:40: Error: symbol `Lhwloc1' is already defined
Makefile:880: recipe for target 'topology-x86.lo' failed
make[1]: *** [topology-x86.lo] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0-abi_x86_32.x86/src'
Makefile:599: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
(In reply to Christoph Junghans from comment #6) > @jlec, please test =hwloc-1.10.0-r2::science! Do you remember with which > version dev-util/nvidia-cuda-toolkit became multilib? No clue, never looked into it but probably all version in tree are like that. (In reply to Justin Lecher from comment #7) > Created attachment 396726 [details] > build.log > > src/topology-linux.c -fPIC -DPIC -o .libs/topology-linux.o > /var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0/include/private/ > cpuid-x86.h: Assembler messages: > /var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0/include/private/ > cpuid-x86.h:40: Error: symbol `Lhwloc1' is already defined > Makefile:880: recipe for target 'topology-x86.lo' failed > make[1]: *** [topology-x86.lo] Error 1 > make[1]: Leaving directory > '/var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0-abi_x86_32.x86/ > src' > Makefile:599: recipe for target 'all-recursive' failed > make: *** [all-recursive] Error 1 Does hwloc-1.10.0-r1 from gx86 work? (In reply to Christoph Junghans from comment #9) > (In reply to Justin Lecher from comment #7) > > Created attachment 396726 [details] > > build.log > > > > src/topology-linux.c -fPIC -DPIC -o .libs/topology-linux.o > > /var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0/include/private/ > > cpuid-x86.h: Assembler messages: > > /var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0/include/private/ > > cpuid-x86.h:40: Error: symbol `Lhwloc1' is already defined > > Makefile:880: recipe for target 'topology-x86.lo' failed > > make[1]: *** [topology-x86.lo] Error 1 > > make[1]: Leaving directory > > '/var/tmp/portage/sys-apps/hwloc-1.10.0-r2/work/hwloc-1.10.0-abi_x86_32.x86/ > > src' > > Makefile:599: recipe for target 'all-recursive' failed > > make: *** [all-recursive] Error 1 > Does hwloc-1.10.0-r1 from gx86 work? yes. @jlec: -ftracer is the problem! (In reply to Christoph Junghans from comment #11) > @jlec: -ftracer is the problem! We could filter it, but it seems to be gone in 1.10.1. @jlec: please test =hwloc-1.10.1::science Created attachment 396754 [details, diff]
patch against gx86
Update patch, which includes version bump to 1.10.1
(In reply to Christoph Junghans from comment #12) > (In reply to Christoph Junghans from comment #11) > > @jlec: -ftracer is the problem! > We could filter it, but it seems to be gone in 1.10.1. > > @jlec: please test =hwloc-1.10.1::science append-ldflags -L/opt/cuda/$(get_libdir) needs to be either arch specific or just directly add both arch dirs Created attachment 396852 [details, diff] patch against gx86 (In reply to Justin Lecher from comment #14) > append-ldflags -L/opt/cuda/$(get_libdir) > needs to be either arch specific or just directly add both arch dirs Fixed. @mgorny: Is there a nice way that using append-ldflags and filter-ldflags? (In reply to Christoph Junghans from comment #15) > Created attachment 396852 [details, diff] [details, diff] > patch against gx86 > > (In reply to Justin Lecher from comment #14) > > append-ldflags -L/opt/cuda/$(get_libdir) > > needs to be either arch specific or just directly add both arch dirs > Fixed. > > @mgorny: Is there a nice way that using append-ldflags and filter-ldflags? This patch is broken since it doesn't localize the var before appending. IOW: local LDFLAGS=${LDFLAGS} append-ldflags ... though i'd just do: local LDFLAGS="${LDFLAGS} -L..." Created attachment 396876 [details, diff] patch against gx86 In reply to Michał Górny from comment #16) > This patch is broken since it doesn't localize the var before appending. Actually it was working, but your solution is a bit more elegant! Users had issues more than once when -L/usr/lib64 -L/usr/lib32 or alike was passed. Never were able to figure out what's really different about the systems where that happens but it happens. I needed to set a min version for the cuda toolkit, because the 32bit lib dir is called lib instead of lib32. But I added a symlink so it should be fine now. Created attachment 397022 [details, diff]
patch against gx86
Latest version incl jlec's changes.
+*hwloc-1.10.1 (20 Feb 2015) + + 20 Feb 2015; Christoph Junghans <ottxor@gentoo.org> +hwloc-1.10.1.ebuild: + version bump (bug #538760) and multilib support (bug #540036) + |