IBM Support

AIX Open Source: Troubleshooting rpm_share: 0645-007 whichfs() errors

Troubleshooting


Problem

The following errors occur during installation of a package:
# rpm -ivh hexedit-1.4.2-1.aix6.1.ppc.rpm --force
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:hexedit-1.4.2-1                  ################################# [100%]
rpm_share: 0645-007 ATTENTION: whichfs() returned an unexpected result.
rpm_share: 0645-007 ATTENTION: get_rpm_inst_root_list() returned an unexpected result.
rpm_share: 0645-007 ATTENTION: update_inst_root() returned an unexpected result.

Cause

 The error indicates that the RPM installer cannot determine the owning filesystem of a file, which was referenced by the package.

 

Diagnosing The Problem

1) Enable RPM script debugging to get more detail about the file.
# script /tmp/rpm.debug (begin script logging)
# export RPM_SHARE_DEBUG=true
# rpm -ivh hexedit-1.4.2-1.aix6.1.ppc.rpm --force
# exit (exit the script logging)
2) Examine /tmp/rpm.debug to determine which file was checked by libinst_whichfs, prior to the 0645-007 error. 
+ [[ -z /etc/rc.d/rc2.d/Kvncserver ]]
+ [[ 1 -gt 0 ]]
+ /usr/lib/instl/libinst_whichfs /etc/rc.d/rc2.d/Kvncserver
+ eval pmerror "whichfs()"; return 1
+ pmerror whichfs()
+ perror 26 whichfs()
+ ISERROR=1
+ print_msg 26 whichfs()
+ 1>& 2
+ [  -ne 1 ]
rpm_share: 0645-007 ATTENTION: whichfs() returned an unexpected result.
+ ISERROR=0
+ return 0
+ return 0
+ return 1
FS=
+ eval pmerror "get_rpm_inst_root_list()"; return 1
+ pmerror get_rpm_inst_root_list()
+ perror 26 get_rpm_inst_root_list()
+ ISERROR=1
+ print_msg 26 get_rpm_inst_root_list()
+ 1>& 2
+ [  -ne 1 ]
rpm_share: 0645-007 ATTENTION: get_rpm_inst_root_list() returned an unexpected result.
+ ISERROR=0
+ return 0
+ return 0
+ return 1
+ eval pmerror "update_inst_root()"; return 1
+ pmerror update_inst_root()
+ perror 26 update_inst_root()
+ ISERROR=1
+ print_msg 26 update_inst_root()
+ 1>& 2
+ [  -ne 1 ]
rpm_share: 0645-007 ATTENTION: update_inst_root() returned an unexpected result.
+ ISERROR=0
+ return 0
+ return 0
+ return 1
+ FAIL
+ cleanup

 
3) Determine the cause for the error. Common reasons are missing files or links.
# ls -l /etc/rc.d/rc2.d/Kvncserver
     /etc/rc.d/rc2.d/Kvncserver -> ../init.d/vncserver
# ls -L /etc/rc.d/rc2.d/Kvncserver
../init.d/vncserver: A file or directory in the path name does not exist.
Determine what provides this file:
# lslpp -w /etc/rc.d/init.d/vncserver
No data was returned, so this file is not from an installp image
# rpm -q --whatprovides /etc/rc.d/init.d/vncserver
tightvnc-server-1.3.10-2.ppc

Now, check the integrity:
# rpm -V tightvnc-server-1.3.10-2.ppc
  missing   c /etc/rc.d/init.d/vncserver

Resolving The Problem

Resolve the missing files or symbolic links by reinstalling or restoring the file sets or packages.

SUPPORT

A) For all questions or issues with AIX Toolbox for Linux Application ("AIX Toolbox") packages, support is provided through the AIX Open Source Community Discussion forum: 

Cases opened to address AIX Toolbox problems are canceled and users are referred to the Open Source Forum.
If you experience technical issues accessing the AIX Open Source community or forum, refer to the footer of the IBM Community forum page.
There is email, and "Contact Us" information for community support

B) If there is a problem with installing rpm.rte, or executing the rpm binary file, open an AIX Case (See the following C section) for assistance.

Examples of rpm.rte issues supported through AIX Support:
- Errors updating or migrating the rpm.rte file set
- Commands from the rpm.rte file set core dump, or have runtime errors.

Example of an rpm.rte rpm loading issue:

# rpm -qa
    exec(): 0509-036 Cannot load program /usr/opt/freeware/bin/rpm because of the following errors:
    0509-150 Dependent module libnss3.so could not be loaded.
    0509-022 Cannot load module libnss3.so.
    0509-026 System error: A file or directory in the path name does not exist.

 
This example would be handled through an IBM AIX Support case, and the support team would help resolve the missing modules.
To learn what is provided and supported by the rpm.rte file set:

# lslpp -f rpm.rte

C) Opening an AIX Support Case

If more assistance is required due to issues with rpm.rte file set (see preceding B section), use the following step-by-step instructions to contact IBM to open a case for software with an active and valid support contract.  

1.  Document (or collect screen captures of) all symptoms, errors, and messages related to your issue.

2.  Capture any logs or data relevant to the situation.

3.  Contact IBM to open a case:

   -For electronic support, see the IBM Support Community:
     https://www.ibm.com/mysupport
   -If you require telephone support, see the web page:
      https://www.ibm.com/planetwide/

[{"Type":"MASTER","Line of Business":{"code":"LOB08","label":"Cognitive Systems"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG10","label":"AIX"},"ARM Category":[{"code":"a8m0z000000cw3dAAA","label":"AIX OSS:AIX Toolbox for Linux"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
21 June 2021

UID

ibm16465773