The prof_lib.o object file has both .strtab and .shstrtab sections.
It doesn't have a .hash section.

Probably the script should be resilient to things that don't have a hash 
section.

My assumption is based on this line:
>    elf_hash = elf.get_dynamic(elf_name)["hash"]


--chris


Rich Burridge wrote:
> 
> It seems it's my day for question of the pkg-discuss alias.
> 
> I think I need input from the pkg experts on this one.
> 
> I'm trying to publish the latest "sunstudioexpress" package
> to a local IPS repository on my machine. I'm using the
> following script:
> 
> #! /bin/ksh
> export ROOT=/export/home/richb/pkg/bugs/4316/gate/proto/root_i386
> export PYTHONPATH=${ROOT}/usr/lib/python2.4/vendor-packages
> export REPO=http://localhost:24316/
> export
> WOS_PKGS=/export/home/pkg-solaris/WOS_Packages/x/101/Solaris_11/Product/
> export
> NONWOS_PKGS=/net/paradise.sfbay/export/integrate_dock/nv/nv_osol0811/i386
> 
> (cd src/util/distro-import ;    \
>        make -e BUILDID=101 Studio.import
> ) > errs.cluster 2>&1 &
> 
> As it's running the solaris.py script, I get:
> 
>    ...
>    sunstudioexpress add file 0644 root sys
> opt/SunStudioExpress/prod/lib/amd64/prof_lib.map
>    sunstudioexpress add file 0644 root sys
> opt/SunStudioExpress/prod/lib/amd64/prof_lib.o
> Traceback (most recent call last):
>  File "./solaris.py", line 1145, in ?
>    publish_pkg(p)
>  File "./solaris.py", line 553, in publish_pkg
>    deps, u = process_dependencies(tmp, path)
>  File "./solaris.py", line 678, in process_dependencies
>    deps = [
> pkg.elf.ElfError: Request error: no string table
> *** Error code 1
> make: Fatal error: Command failed for target `Studio.import'
> 
> 
> The pkg.depotd process running on that port gives the following messages:
> 
> [29/Oct/2008:11:02:10] HTTP Traceback (most recent call last):
>  File "/usr/lib/python2.4/vendor-packages/cherrypy/_cprequest.py", line
> 606, in respond
>    cherrypy.response.body = self.handler()
>  File "/usr/lib/python2.4/vendor-packages/cherrypy/_cpdispatch.py", line
> 24, in __call__
>    return self.callable(*self.args, **self.kwargs)
>  File "/usr/lib/python2.4/vendor-packages/pkg/server/repository.py",
> line 524, in add_0
>    t.add_content(entry_type)
>  File "/usr/lib/python2.4/vendor-packages/pkg/server/transaction.py",
> line 280, in add_content
>    elf_hash = elf.get_dynamic(elf_name)["hash"]
> KeyError: 'hash'
> 
> [29/Oct/2008:11:02:10] HTTP
> Request Headers:
>  X-IPKG-SETATTR3: path=opt/SunStudioExpress/prod/lib/amd64/prof_lib.o
>  X-IPKG-SETATTR2: mode=0644
>  X-IPKG-SETATTR1: group=sys
>  X-IPKG-SETATTR0: owner=root
>  Content-Type: application/x-www-form-urlencoded
>  HOST: localhost:24316
>  Content-Length: 177296
>  USER-AGENT: pkg/25d00c5514ac+ (sunos i86pc; 5.11 snv_101; none)
>  CONNECTION: close
>  Remote-Addr: 127.0.0.1
>  ACCEPT-ENCODING: identity
> 
> What should I be looking for to find out why it doesn't like this file?
> 
> Thanks.
> 
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to