pcp
[Top] [All Lists]

PCP for OpenSolaris (really OpenIndiana)

To: PCP <pcp@xxxxxxxxxxx>
Subject: PCP for OpenSolaris (really OpenIndiana)
From: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date: Mon, 22 Aug 2016 16:29:35 +1000
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
I am trying to revive my OpenIndiana VM in the QA Farm and I'm confused.  I'd 
really appreciate help from someone who cares about PCP and knows about 
building and packaging software for OpenIndiana ... are you out there, someone?

Specifically, as of oi 2016.04 (and the apparent gcc toolchain switch for the 
kernel) on a x86_64 CPU, I seem to have the following matrix of object formats 
to pick from ...

{ suncc, gcc } x { i386, x86_64 }

and it seems that all spots in the matrix are occupied with stuff I might care 
about ...

kenj@vm13:~/src/pcp/qa$ find /usr/bin /usr/gnu -name grep | xargs file
/usr/bin/grep:  ELF 32-bit LSB executable 80386 Version 1, dynamically linked, 
not stripped, no debugging information available
/usr/gnu/bin/grep:      ELF 32-bit LSB executable 80386 Version 1, dynamically 
linked, not stripped
/usr/gnu/bin/amd64/grep:        ELF 64-bit LSB executable AMD64 Version 1, 
dynamically linked, not stripped, no debugging information available

kenj@vm13:~/src/pcp/qa$ find /usr/bin /usr/gnu -name ps | xargs file
/usr/bin/amd64/ps:      ELF 64-bit LSB executable AMD64 Version 1, dynamically 
linked, not stripped, no debugging information available
/usr/bin/i86/ps:        ELF 32-bit LSB executable 80386 Version 1, dynamically 
linked, not stripped, no debugging information available
/usr/bin/ps:    ELF 32-bit LSB executable 80386 Version 1, dynamically linked, 
not stripped, no debugging information available

and for extra credit there are 4 versions of ld(1) ...

kenj@vm13:~/src/pcp/qa$ find /usr/bin /usr/gnu -name ld -type f | xargs file
/usr/bin/amd64/ld:      ELF 64-bit LSB executable AMD64 Version 1, dynamically 
linked, not stripped, no debugging information available
/usr/bin/ld:    ELF 32-bit LSB executable 80386 Version 1, dynamically linked, 
not stripped, no debugging information available
/usr/gnu/i386-pc-solaris2.11/bin/ld:    ELF 32-bit LSB executable 80386 Version 
1, dynamically linked, not stripped
/usr/gnu/bin/ld:        ELF 32-bit LSB executable 80386 Version 1, dynamically 
linked, not stripped

(I know the /usr/bin/gnu stuff _really_ means it is GNU-based source, rather 
than Solaris-based source, but I'll bet all the binaries here were built with 
gcc).

And uname reports ...

kenj@vm13:~/src/pcp/qa$ uname -a
SunOS vm13 5.11 illumos-f83b46b i86pc i386 i86pc Solaris

but the kernel is demonstrably 64-bit

kenj@vm13:~/src/pcp/qa$ sudo pminfo -L hinv.ncpu
pmdasolaris: /dev/ksyms is not a 32-bit kernel namelist
hinv.ncpu

So what are we supposed to build for PCP ... 

1. 64-bit pmdasolaris is needed for 64-bit kernels, but 32-bit pmdasolaris is 
needed for 32-bit kernels
2. and since pmdasolaris is used as a DSO, the same applies to pmcd
3. and all the other PMDAs that are built as DSOs
4. and dbpmda
5. and that means most of the PCP libraries also

Do we need 32-bit _and_ 64-bit libraries and commands in a single build, or 
different 32-bit and 64-bit packages for 32-bit or 64-bit platforms?

<Prev in Thread] Current Thread [Next in Thread>
  • PCP for OpenSolaris (really OpenIndiana), Ken McDonell <=