OpenCSW question about package CSWmgar

Dagobert Michelsen dam at opencsw.org
Wed Aug 6 09:13:59 CEST 2014


Hi Roland,

Am 06.08.2014 um 00:34 schrieb Roland Soderstrom <Rolands at logicaltech.com.au>:
> Here is the output.
> My understanding of CSW is that it should be self-contained.
> Ie. Python will only look in CSW libs regardless of other settings. (maybe not LD_LIBRARY_PATH)
> Compiled with -R,

This is definitely true.

> 
> - Roland
> 
> 
> tadm01 % crle
> 
> Configuration file [version 4]: /var/ld/ld.config  
>  Platform:     32-bit MSB SPARC
>  Default Library Path (ELF):   /lib:/usr/lib:/usr/local/lib:/usr/local/rrdtool-1.2.19/lib:/opt/csw/lib
>  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)
> 
> Command line:
>  crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/lib:/usr/local/rrdtool-1.2.19/lib:/opt/csw/lib

You have tinkered with crle. I strongly suggest to never change linker setting with crle.

> tadm01 % env
> MANPATH=/usr/share/man:/usr/local/man:/usr/sfw/man:/usr/cluster/man
> SAL_USE_VCLPLUGIN=gen
> LC_MONETARY=en_AU.ISO8859-1
> USER_ACCESS_TREE=(ssh)rolands
> TERM=xterm
> SHELL=/usr/bin/bash
> SSH_CLIENT=192.168.30.103 42958 22
> LC_NUMERIC=en_AU.ISO8859-1
> OLDPWD=/home/rolands/opencsw/.buildsys/v2
> SSH_TTY=/dev/pts/3
> EDA_ARCHIVE_DIR=/opt/local/var/.archive
> HISTFILESIZE=10000
> USER=rolands
> LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/openwin/lib

You have set LD_LIBRARY_PATH, please do not set LD_LIBRARY_PATH.
Having /usr/lib in LD_LIBRARY_PATH results in pulling in the pygthon system library first.

> ENV=/home/rolands/.bashrc
> PAGER=more
> USER_ACCESS=ssh
> MAIL=/var/mail//rolands
> PATH=/opt/csw/bin:/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/local/bin:/usr/local/sbin
> LC_MESSAGES=C
> LC_COLLATE=en_AU.ISO8859-1
> PWD=/home/rolands/opencsw/.buildsys/v2/lib/web
> EDITOR=/opt/csw/bin/vim
> TZ=Australia/Victoria
> PS1=tadm01 % 
> SHLVL=1
> HOME=/home/rolands
> CFLAGS=-O2
> USER_REAL=rolands
> PYTHONPATH=/home/rolands/opencsw/.buildsys/v2
> LOGNAME=rolands
> SSH_CONNECTION=192.168.130.103 42958 192.168.130.5 22
> LC_CTYPE=en_AU.ISO8859-1
> USER_TRAIL=rolands
> CC=CC
> DISPLAY=localhost:12.0
> LC_TIME=en_AU.ISO8859-1
> _=/usr/bin/env
> tadm01 % ldd -v /opt/csw/bin/python
> 
>   find object=libpython2.6.so.1.0; required by /opt/csw/bin/python2.6
>        libpython2.6.so.1.0 =>   /usr/lib/libpython2.6.so.1.0
> 
>   find object=libsocket.so.1; required by /opt/csw/bin/python2.6
>        libsocket.so.1 =>        /usr/lib/libsocket.so.1
> 
>   find object=libnsl.so.1; required by /opt/csw/bin/python2.6
>        libnsl.so.1 =>   /usr/lib/libnsl.so.1
>   find version=libnsl.so.1
>        libnsl.so.1 (SUNW_1.9.1) =>      /usr/lib/libnsl.so.1
> 
>   find object=librt.so.1; required by /opt/csw/bin/python2.6
>        librt.so.1 =>    /usr/lib/librt.so.1
> 
>   find object=libdl.so.1; required by /opt/csw/bin/python2.6
>        libdl.so.1 =>    /usr/lib/libdl.so.1
> 
>   find object=libm.so.2; required by /opt/csw/bin/python2.6
>        libm.so.2 =>     /usr/lib/libm.so.2
> 
>   find object=libc.so.1; required by /opt/csw/bin/python2.6
>        libc.so.1 =>     /usr/lib/libc.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.22.2) =>       /usr/lib/libc.so.1
> 
>   find object=libresolv.so.2; required by /usr/lib/libpython2.6.so.1.0
>        libresolv.so.2 =>        /usr/lib/libresolv.so.2
> 
>   find object=libsocket.so.1; required by /usr/lib/libpython2.6.so.1.0
> 
>   find object=libnsl.so.1; required by /usr/lib/libpython2.6.so.1.0
> 
>   find object=librt.so.1; required by /usr/lib/libpython2.6.so.1.0
>   find version=librt.so.1
>        librt.so.1 (SUNW_1.2) =>         /usr/lib/librt.so.1
> 
>   find object=libdl.so.1; required by /usr/lib/libpython2.6.so.1.0
>   find version=libdl.so.1
>        libdl.so.1 (SISCD_2.3) =>        /usr/lib/libdl.so.1
> 
>   find object=libm.so.2; required by /usr/lib/libpython2.6.so.1.0
>   find version=libm.so.2
>        libm.so.2 (SUNW_1.2) =>  /usr/lib/libm.so.2
> 
>   find object=libnsl.so.1; required by /usr/lib/libsocket.so.1
>   find version=libnsl.so.1
>        libnsl.so.1 (SUNW_1.7) =>        /usr/lib/libnsl.so.1
>        libnsl.so.1 (SUNWprivate_1.1) =>         /usr/lib/libnsl.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libsocket.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.19) =>         /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libmp.so.2; required by /usr/lib/libnsl.so.1
>        libmp.so.2 =>    /usr/lib/libmp.so.2
>   find version=libmp.so.2
>        libmp.so.2 (SUNW_1.1) =>         /usr/lib/libmp.so.2
>        libmp.so.2 (SUNWprivate_1.1) =>  /usr/lib/libmp.so.2
> 
>   find object=libmd.so.1; required by /usr/lib/libnsl.so.1
>        libmd.so.1 =>    /usr/lib/libmd.so.1
> 
>   find object=libscf.so.1; required by /usr/lib/libnsl.so.1
>        libscf.so.1 =>   /usr/lib/libscf.so.1
>   find version=libscf.so.1
>        libscf.so.1 (SUNW_1.1) =>        /usr/lib/libscf.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libnsl.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.22.2) =>       /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libaio.so.1; required by /usr/lib/librt.so.1
>        libaio.so.1 =>   /usr/lib/libaio.so.1
>   find version=libaio.so.1
>        libaio.so.1 (SUNWprivate_1.1) =>         /usr/lib/libaio.so.1
> 
>   find object=libmd.so.1; required by /usr/lib/librt.so.1
> 
>   find object=libc.so.1; required by /usr/lib/librt.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.21) =>         /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libm.so.2
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.1) =>  /usr/lib/libc.so.1
> 
>   find object=libsocket.so.1; required by /usr/lib/libresolv.so.2
>   find version=libsocket.so.1
>        libsocket.so.1 (SUNW_1.4) =>     /usr/lib/libsocket.so.1
>        libsocket.so.1 (SUNWprivate_1.1) =>      /usr/lib/libsocket.so.1
> 
>   find object=libnsl.so.1; required by /usr/lib/libresolv.so.2
>   find version=libnsl.so.1
>        libnsl.so.1 (SUNW_1.9.1) =>      /usr/lib/libnsl.so.1
>        libnsl.so.1 (SUNWprivate_1.4) =>         /usr/lib/libnsl.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libresolv.so.2
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.22) =>         /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libmp.so.2
>   find version=libc.so.1
>        libc.so.1 (SYSVABI_1.3) =>       /usr/lib/libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libmd.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_0.9) =>  /usr/lib/libc.so.1
> 
>   find object=libdoor.so.1; required by /usr/lib/libscf.so.1
>        libdoor.so.1 =>  /usr/lib/libdoor.so.1
>   find version=libdoor.so.1
>        libdoor.so.1 (SUNWprivate_1.1) =>        /usr/lib/libdoor.so.1
> 
>   find object=libuutil.so.1; required by /usr/lib/libscf.so.1
>        libuutil.so.1 =>         /usr/lib/libuutil.so.1
>   find version=libuutil.so.1
>        libuutil.so.1 (SUNWprivate_1.1) =>       /usr/lib/libuutil.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libscf.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.21) =>         /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libgen.so.1; required by /usr/lib/libscf.so.1
>        libgen.so.1 =>   /usr/lib/libgen.so.1
>   find version=libgen.so.1
>        libgen.so.1 (SUNW_1.1) =>        /usr/lib/libgen.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libaio.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.22) =>         /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libdoor.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.22.1) =>       /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libuutil.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.19) =>         /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libgen.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.1) =>  /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   object=/usr/lib/libnsl.so.1; filter for libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/libnsl.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.22.2) =>       /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   object=/usr/lib/librt.so.1; filter for libc.so.1
> 
>   find object=libc.so.1; required by /usr/lib/librt.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_1.21) =>         /usr/lib/libc.so.1
>        libc.so.1 (SUNWprivate_1.1) =>   /usr/lib/libc.so.1
> 
>   object=/usr/lib/libdl.so.1; filter for /usr/lib/ld.so.1
> 
>   object=/usr/lib/libm.so.2; filter for $ORIGIN/libm/$HWCAP
> 
>   find object=/lib/libm/libm_hwcap1.so.2; required by /usr/lib/libm.so.2
> 
>   find object=/lib/libm/sparcv9; required by /usr/lib/libm.so.2
> 
>   object=/usr/lib/libc.so.1; filter for /usr/lib/ld.so.1
> 
>   object=/usr/lib/libc.so.1; filter for libm.so.2
> 
>   find object=libm.so.2; required by /usr/lib/libc.so.1
> 
>   object=/usr/lib/libc.so.1; filter for /platform/$PLATFORM/lib/libc_psr.so.1
> 
>   find object=/platform/SUNW,Sun-Fire-V245/lib/libc_psr.so.1; required by /usr/lib/libc.so.1
>        /platform/SUNW,Sun-Fire-V245/lib/libc_psr.so.1
> 
>   object=/usr/lib/libresolv.so.2; filter for libnsl.so.1
> 
>   find object=libnsl.so.1; required by /usr/lib/libresolv.so.2
>   find version=libnsl.so.1
>        libnsl.so.1 (SUNW_1.9.1) =>      /usr/lib/libnsl.so.1
>        libnsl.so.1 (SUNWprivate_1.4) =>         /usr/lib/libnsl.so.1
> 
>   object=/usr/lib/libmd.so.1; filter for /platform/$PLATFORM/lib/libmd_psr.so.1
> 
>   find object=/platform/SUNW,Sun-Fire-V245/lib/libmd_psr.so.1; required by /usr/lib/libmd.so.1
>        /platform/SUNW,Sun-Fire-V245/lib/libmd_psr.so.1
> 
>   find object=libc.so.1; required by /platform/SUNW,Sun-Fire-V245/lib/libmd_psr.so.1
>   find version=libc.so.1
>        libc.so.1 (SUNW_0.9) =>  /usr/lib/libc.so.1
> tadm01 % dump -Lv /opt/csw/bin/python
> -bash: dump: command not found
> tadm01 % /usr/ccs/bin/dump -Lv /opt/csw/bin/python
> 
> /opt/csw/bin/python:
> 
>  **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag         Value
> [1]     POSFLAG_1       LAZYLOAD
> [2]     NEEDED          libpython2.6.so.1.0
> [3]     POSFLAG_1       LAZYLOAD
> [4]     NEEDED          libsocket.so.1
> [5]     POSFLAG_1       LAZYLOAD
> [6]     NEEDED          libnsl.so.1
> [7]     POSFLAG_1       LAZYLOAD
> [8]     NEEDED          librt.so.1
> [9]     POSFLAG_1       LAZYLOAD
> [10]    NEEDED          libdl.so.1
> [11]    POSFLAG_1       LAZYLOAD
> [12]    NEEDED          libm.so.2
> [13]    NEEDED          libc.so.1
> [14]    INIT            0x1088c
> [15]    FINI            0x1089c
> [16]    RUNPATH         /opt/csw/bdb47/lib:/opt/csw/lib
> [17]    RPATH           /opt/csw/bdb47/lib:/opt/csw/lib

RPATH is correctly set in the binary.

> [18]    HASH            0x10144
> [19]    STRTAB          0x10374
> [20]    STRSZ           0x35a
> [21]    SYMTAB          0x10204
> [22]    SYMENT          0x10
> [23]    CHECKSUM        0x15f
> [24]    VERNEED         0x106d0
> [25]    VERNEEDNUM      0x2
> [26]    PLTSZ           0x30
> [27]    PLTREL          0x7
> [28]    JMPREL          0x10750
> [29]    RELA            0x10750
> [30]    RELASZ          0x30
> [31]    RELAENT         0xc
> [32]    SYMINFO         0x100e8
> [33]    SYMINSZ         0x5c
> [34]    SYMINENT        0x4
> [35]    DEBUG           0
> [36]    FLAGS           0
> [37]    FLAGS_1         [ DIRECT ]
> [38]    SUNW_STRPAD     0x200
> [39]    SUNW_LDMACH     EM_SPARC
> [40]    PLTGOT          0x208ac
> tadm01 % pkginfo -x CSWpython
> CSWpython  python - A high-level scripting language, 2.6 series
>           (sparc) 2.6.9,REV=2013.10.31
> tadm01 %


Best regards

  — Dago

-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2418 bytes
Desc: not available
URL: <http://lists.opencsw.org/pipermail/users/attachments/20140806/5cf53303/attachment-0001.p7s>


More information about the users mailing list