Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 540036 - sys-apps/hwloc: convert to multilib
Summary: sys-apps/hwloc: convert to multilib
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Cluster Team
URL:
Whiteboard:
Keywords: Inclusion, PATCH
Depends on: 540030 540034
Blocks: 510180 519700
  Show dependency tree
 
Reported: 2015-02-14 05:27 UTC by Christoph Junghans
Modified: 2015-02-20 15:27 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch against gx86 (hwloc-1.10.0-r1.ebuild.patch,1.90 KB, patch)
2015-02-14 05:27 UTC, Christoph Junghans
Details | Diff
patch against gx86 (hwloc-1.10.0-r2.ebuild.patch,1.98 KB, patch)
2015-02-17 15:42 UTC, Christoph Junghans
Details | Diff
build.log (build.log,70.87 KB, text/x-log)
2015-02-17 16:00 UTC, Justin Lecher (RETIRED)
Details
patch against gx86 (hwloc-1.10.0-r2.ebuild.patch2,1.98 KB, patch)
2015-02-17 21:24 UTC, Christoph Junghans
Details | Diff
patch against gx86 (hwloc-1.10.0-r2.ebuild.patch3,2.32 KB, patch)
2015-02-18 19:01 UTC, Christoph Junghans
Details | Diff
patch against gx86 (hwloc-1.10.0-r2.ebuild.patch3,2.26 KB, patch)
2015-02-18 20:39 UTC, Christoph Junghans
Details | Diff
patch against gx86 (hwloc-1.10.0-r1.ebuild.patch,2.31 KB, patch)
2015-02-20 02:46 UTC, Christoph Junghans
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Junghans gentoo-dev 2015-02-14 05:27:06 UTC
Created attachment 396422 [details, diff]
patch against gx86

sys-apps/hwloc is a dependency of sys-cluster/openmpi (bug #519700)

Changes:
- conversion through autotools-multilib
- multilib dependency with versions for all deps
- cuda, gl, opencl only make sense on the native abi
- dropped redundant src_install
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-02-14 08:01:17 UTC
Looks fine, I think. And I think CUDA is actually multilib but would use update to use explicit USE flags.
Comment 2 Christoph Junghans gentoo-dev 2015-02-14 15:02:54 UTC
(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).
Comment 3 Justin Lecher (RETIRED) gentoo-dev 2015-02-14 15:06:21 UTC
Only libcudart.so is multilib. Which libs does hwloc link to?
Comment 4 Christoph Junghans gentoo-dev 2015-02-15 16:13:42 UTC
(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.
Comment 5 Justin Lecher (RETIRED) gentoo-dev 2015-02-17 12:11:32 UTC
(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.
Comment 6 Christoph Junghans gentoo-dev 2015-02-17 15:42:45 UTC
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?
Comment 7 Justin Lecher (RETIRED) gentoo-dev 2015-02-17 16:00:10 UTC
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
Comment 8 Justin Lecher (RETIRED) gentoo-dev 2015-02-17 16:00:47 UTC
(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.
Comment 9 Christoph Junghans gentoo-dev 2015-02-17 16:16:51 UTC
(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?
Comment 10 Justin Lecher (RETIRED) gentoo-dev 2015-02-17 19:29:07 UTC
(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.
Comment 11 Christoph Junghans gentoo-dev 2015-02-17 21:03:19 UTC
@jlec: -ftracer is the problem!
Comment 12 Christoph Junghans gentoo-dev 2015-02-17 21:22:17 UTC
(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
Comment 13 Christoph Junghans gentoo-dev 2015-02-17 21:24:42 UTC
Created attachment 396754 [details, diff]
patch against gx86

Update patch, which includes version bump to 1.10.1
Comment 14 Justin Lecher (RETIRED) gentoo-dev 2015-02-18 08:10:20 UTC
(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
Comment 15 Christoph Junghans gentoo-dev 2015-02-18 19:01:59 UTC
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?
Comment 16 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-02-18 19:28:32 UTC
(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..."
Comment 17 Christoph Junghans gentoo-dev 2015-02-18 20:39:46 UTC
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!
Comment 18 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-02-18 21:40:12 UTC
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.
Comment 19 Justin Lecher (RETIRED) gentoo-dev 2015-02-19 07:25:39 UTC
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.
Comment 20 Christoph Junghans gentoo-dev 2015-02-20 02:46:05 UTC
Created attachment 397022 [details, diff]
patch against gx86

Latest version incl jlec's changes.
Comment 21 Christoph Junghans gentoo-dev 2015-02-20 15:27:07 UTC
+*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)
+