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