Hi Peter, Am 16.03.2014 um 19:41 schrieb Peter FELECAN: > Dagobert Michelsen <[email protected]> writes: >> Am 15.03.2014 um 19:47 schrieb Peter FELECAN <[email protected]>: >>> 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.
This looks wrong regarding the checks. IMHO when a dependency is given (regardless if it is 32 and/or 64 bit) the package should be specified and no surplus dependency should be thrown. However, I could think of a useful test that the linked libraries between files of the same name in different ISA subdirs are the same or must be overridden if not. Wrong linkages are a problem when doing 32/64. @Maciej, @Yann: What do you think? > The build logs are available on the build farm in the ~pfelecan/logs as > guile-surplus and guile-missing. Best regards -- Dago
