ISA specific dependencies

Peter FELECAN pfelecan at opencsw.org
Sun Mar 16 19:41:56 CET 2014


Dagobert Michelsen <dam at opencsw.org> writes:

> Hi Peter,
>
> Am 15.03.2014 um 19:47 schrieb Peter FELECAN <pfelecan at opencsw.org>:
>> I'm struggling to provide a multi ISA guile which will enable a 64 bit
>> libopts build.
>> 
>> The issue that I encounter is that the runtime dependencies for 32 and
>> 64 bit ISAs are different.
>> 
>> I looked for directions in our build documentation and in the current
>> recipes and I didn't found a solution.
>> 
>> There is the possibility to write:
>> 
>> RUNTIME_DEP_PKGS_CSWlibguile2-0-22_sparc	+=	CSWlibltdl7
>> 
>> But how can I write a more specific one for sparcv9 or amd64?
>
> This would be only relevant if you split 32/64 between packages which is
> quite uncommon. You can always write things like
>   RUNTIME_DEP_PKGS_<pkg>-32 += CSWfoo
>   RUNTIME_DEP_PKGS_<pkg> += $(RUNTIME_DEP_PKGS_<pkg>-$(MEMORYMODEL))
> but I would advise against it.

The issue is that when the 64 bit component are built the dependencies
are declared as missing, I add them and when the 32 bit component are
built, the same dependencies are declared in surplus! The immediate
correction would be to declare these dependencies as missing and as
surplus ? But that is not what I whish.

Here is the flip-flop from the build log:

When building without the dependencies:

	 * Dependency issues of CSWguile:
	 * CSWlibintl8 is needed by CSWguile, because:
	 *  - opt/csw/bin/sparcv9/guile needs the libintl.so.8 soname
	 *  - opt/csw/bin/sparcv9/guile needs the libintl.so.8 soname
	 *  - opt/csw/bin/guile needs the libintl.so.8 soname
	 * RUNTIME_DEP_PKGS_CSWguile += CSWlibintl8
	 * Dependency issues of CSWlibguilereadline-v18-18:
	 * CSWlibffi5 is needed by CSWlibguilereadline-v18-18, because:
	 *  - opt/csw/lib/libguilereadline-v-18.so.18.0.0 needs the libffi.so.5 soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libffi.so.5 soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libffi.so.5 soname
	 * RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibffi5
	 * CSWlibgc1 is needed by CSWlibguilereadline-v18-18, because:
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the libgc.so.1
	   soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the libgc.so.1
	   soname
	 *  - opt/csw/lib/libguilereadline-v-18.so.18.0.0 needs the libgc.so.1 soname
	 * RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgc1
	 * CSWlibgmp10 is needed by CSWlibguilereadline-v18-18, because:
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libgmp.so.10 soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libgmp.so.10 soname
	 *  - opt/csw/lib/libguilereadline-v-18.so.18.0.0 needs the libgmp.so.10
	   soname
	 * RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgmp10
	 * CSWlibltdl7 is needed by CSWlibguilereadline-v18-18, because:
	 *  - opt/csw/lib/libguilereadline-v-18.so.18.0.0 needs the libltdl.so.7
	   soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libltdl.so.7 soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libltdl.so.7 soname
	 * RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibltdl7
	 * CSWlibncurses5 is needed by CSWlibguilereadline-v18-18, because:
	 *  - opt/csw/lib/libguilereadline-v-18.so.18.0.0 needs the libncurses.so.5
	   soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libncurses.so.5 soname
	 *  - opt/csw/lib/sparcv9/libguilereadline-v-18.so.18.0.0 needs the
	   libncurses.so.5 soname
	 * RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibncurses5
	 * Dependency issues of CSWguilelib12:
	 * If you don't know of any reasons to include these dependencies, you might
	   remove them:
	 * ? CSWlibguile2-0-22
	 * ? CSWlibguilereadline-v18-18
	
	# Checkpkg suggests adding the following lines to the GAR recipe:
	# This is a summary; see above for details.
	RUNTIME_DEP_PKGS_CSWguile += CSWlibintl8
	RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibltdl7
	RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibffi5
	RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibncurses5
	RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgmp10
	RUNTIME_DEP_PKGS_CSWlibguilereadline-v18-18 += CSWlibgc1
	If any of the reported errors were false positives, you can override them
	pasting the lines below to the GAR recipe.
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += missing-dependency|CSWlibltdl7
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += missing-dependency|CSWlibffi5
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += missing-dependency|CSWlibncurses5
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += missing-dependency|CSWlibgmp10
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += missing-dependency|CSWlibgc1
	CHECKPKG_OVERRIDES_CSWguile += missing-dependency|CSWlibintl8

When building with the dependencies:

	 * Dependency issues of CSWlibguilereadline-v18-18:
	 * If you don't know of any reasons to include these dependencies, you might
	   remove them:
	 * ? CSWlibffi5
	 * ? CSWlibgc1
	 * ? CSWlibgmp10
	 * ? CSWlibltdl7
	 * ? CSWlibncurses5
	 * Dependency issues of CSWguile:
	 * If you don't know of any reasons to include these dependencies, you might
	   remove them:
	 * ? CSWlibintl8
	 * Dependency issues of CSWguilelib12:
	 * If you don't know of any reasons to include these dependencies, you might
	   remove them:
	 * ? CSWlibguile2-0-22
	 * ? CSWlibguilereadline-v18-18
	If any of the reported errors were false positives, you can override them
	pasting the lines below to the GAR recipe.
	CHECKPKG_OVERRIDES_CSWguile += surplus-dependency|CSWlibintl8
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += surplus-dependency|CSWlibgc1
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += surplus-dependency|CSWlibltdl7
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += surplus-dependency|CSWlibffi5
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += surplus-dependency|CSWlibncurses5
	CHECKPKG_OVERRIDES_CSWlibguilereadline-v18-18 += surplus-dependency|CSWlibgmp10

Something is rotten and frankly I don't wish to add overrides as it
falsifies the dependencies.

The build logs are available on the build farm in the ~pfelecan/logs as
guile-surplus and guile-missing.
-- 
Peter


More information about the maintainers mailing list