I am running xen (2.6.16-xen3_86.1_rhel4.1) on top of a stock CentOS-4.4 installation. I have not added any additional virtual machines however.
When trying to install (as root) acrobat reader 7 for Linux from the adobe rpm (AdobeReader_enu.i386 7.0.8-1) I get the following errors:
error: %pre(AdobeReader_enu-7.0.8-1.i386) scriptlet failed, exit status 255 error: install: %pre scriptlet failed (2), skipping AdobeReader_enu-7.0.8-1
This occurs whether I use yum or rpm directly to effect installation and whether or not setenforce is 0 or 1 for SELinux.
I have looked for similar errors on google but none of the remedies that I have found there seem to work (turning selinux off, using rpm --replacepackages --replacefiles options).
Does anyone here have any ideas that they care to share regarding what is likely the problem or how to fix it?
Sincerely,
-- James B. Byrne mailto:ByrneJB@Harte-Lyne.ca Harte & Lyne Limited http://www.harte-lyne.ca 9 Brockley Drive vox: +1 905 561 1241 Hamilton, Ontario fax: +1 905 561 0757 Canada L8E 3C3
When trying to install (as root) acrobat reader 7 for Linux from the adobe rpm (AdobeReader_enu.i386 7.0.8-1) I get the following errors:
error: %pre(AdobeReader_enu-7.0.8-1.i386) scriptlet failed, exit status 255 error: install: %pre scriptlet failed (2), skipping AdobeReader_enu-7.0.8-1
I really don't trust most rpms from vendors of this sort.
I have looked for similar errors on google but none of the remedies that I have found there seem to work (turning selinux off, using rpm --replacepackages --replacefiles options).
Does anyone here have any ideas that they care to share regarding what is likely the problem or how to fix it?
rpm -qp --scripts Adobe_rpm_name_here.rpm
This will query the package and should produce output telling you what pre and post scripts it's trying to run. From there we can debug further.
On Wed, November 8, 20:47:33 UTC 2006, Jim Perrin wrote:
rpm -qp --scripts Adobe_rpm_name_here.rpm
This will query the package and should produce output telling you what pre and post scripts it's trying to run. From there we can debug further.
This is the output:
# rpm -qp --scripts AdobeReader_enu-7.0.8-1.i386.rpm preinstall program: /bin/sh postinstall scriptlet (using /bin/sh):
UpdateOldGnomeFile() { awk ' BEGIN { state = 0; }
/^application/pdf$/ { state = 1; print $0; next; }
/^[^ \t].*/ { state = 0; print $0; next; }
/^[ \t][ \t]*default_application_id=/ && (state == 1) { print gensub(/(^[ \t][ \t]*default_application_id=).*$/, "\1acroread", "g"); next; }
/.*/ { print $0 }' "$1" > /tmp/acroread.tmp 2>/dev/null
if [ $? -eq 0 ]; then mv -f /tmp/acroread.tmp "$1" 2>/dev/null || rm -f /tmp/acroread.tmp 2>/dev/null fi }
ReadKDEConfigFile() { awk ' BEGIN { state = 0; MaxPreference = 0; MaxIndex = 0; }
/^[ \t]*[([^ ]*)[ \t]*-[ \t]*([0-9][0-9]*)[ \t]*][ \t]*$/ { app_type = gensub(/^[ \t]*[([^ ]*)[ \t]*-[ \t]*([0-9][0-9]*)[ \t]*][ \t]*$/, "\1", "g"); if ( app_type == "application/pdf" ) { state = 1; app_index = gensub(/[(.*)[ \t]*-[ \t]*([0-9][0-9]*)]$/, "\2", "g"); if ( MaxIndex < app_index ) MaxIndex = app_index; } else state = 0; }
/^[ \t]*Preference[ \t]*=[ \t]*[0-9][0-9]*[ \t]*$/ { if (state == 1) { app_pref = gensub(/^[ \t]*Preference=[ \t]*([0-9][0-9]*)[ \t]*$/, "\1", "g"); if ( MaxPreference < app_pref ) MaxPreference = app_pref; } } /.*/ { print $0 }
END { printf("\n[application/pdf - %d]\nAllowAsDefault=true\nApplication=AdobeReader.desktop\nGenericServiceType=Application\nPreference=%d\nServiceType=application/pdf\n", MaxIndex + 1, MaxPreference + 1);}' "$1" > /tmp/acroread.tmp 2>/dev/null
if [ $? -eq 0 ]; then mv -f /tmp/acroread.tmp "$1" 2>/dev/null || rm -f /tmp/acroread.tmp 2>/dev/null fi }
UpdateIcon() { if [ -n "$1" -a -n "$2" ]; then rm -f "$2" 2>/dev/null ln -s "$1" "$2" 2>/dev/null fi }
# $1 => Directory where Adobe Acrobat is installed
UpdateDefaultIcons() { InstallDir="$1"
if [ -z "$InstallDir" ]; then exit 1 fi
for IconSize in 16x16 20x20 24x24 32x32 36x36 48x48 64x64 96x96 128x128 192x192; do for gnomeDir in "$GNOME_BASE_DIR/share/icons/Bluecurve/$IconSize/mimetypes" "$GNOME_BASE_DIR/share/icons/hicolor/$IconSize/apps" "$GNOME_BASE_DIR/share/icons/gnome/$IconSize/mimetypes" ; do if [ -d "$gnomeDir" ]; then UpdateIcon "$InstallDir/Resource/Icons/$IconSize/AdobeReader.png" "$gnomeDir/gnome-mime-application-pdf.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.fdf.png" "$gnomeDir/gnome-mime-application-vnd.fdf.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.pdx.png" "$gnomeDir/gnome-mime-application-vnd.adobe.pdx.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xdp+xml.png" "$gnomeDir/gnome-mime-application-vnd.adobe.xdp+xml.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xfdf.png" "$gnomeDir/gnome-mime-application-vnd.adobe.xfdf.png" 2>/dev/null fi done
for kdeDir in "$KDE_BASE_DIR/share/icons/Bluecurve/$IconSize/mimetypes" "$KDE_BASE_DIR/share/icons/default.kde/$IconSize/mimetypes" "$KDE_BASE_DIR/share/icons/hicolor/$IconSize/apps" ; do if [ -d "$kdeDir" ]; then UpdateIcon "$InstallDir/Resource/Icons/$IconSize/AdobeReader.png" "$kdeDir/pdf.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.fdf.png" "$kdeDir/vnd.fdf.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.pdx.png" "$kdeDir/vnd.adobe.pdx.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xdp+xml.png" "$kdeDir/vnd.adobe.xdp+xml.png" 2>/dev/null UpdateIcon "$InstallDir/Resource/Icons/$IconSize/vnd.adobe.xfdf.png" "$kdeDir/vnd.adobe.xfdf.png" 2>/dev/null fi done done }
UpdateConfigurationFiles() { GNOME_CONFIG_FILE="$GNOME_BASE_DIR/share/applications/defaults.list" GNOME_OLD_CONFIG_FILE="$GNOME_BASE_DIR/share/mime-info/gnome-vfs.keys" KDE_CONFIG_FILE="$KDE_BASE_DIR/share/config/profilerc"
if [ -f "$GNOME_CONFIG_FILE" ]; then ( grep -v "^application/pdf=." < "$GNOME_CONFIG_FILE" ; echo 'application/pdf=AdobeReader.desktop' ) > /tmp/acroread.tmp 2>/dev/null mv -f /tmp/acroread.tmp "$GNOME_CONFIG_FILE" 2>/dev/null || rm -f /tmp/acroread.tmp 2>/dev/null else if [ -f "$GNOME_OLD_CONFIG_FILE" ]; then UpdateOldGnomeFile "$GNOME_OLD_CONFIG_FILE" fi fi
if [ -f "$KDE_CONFIG_FILE" ]; then ReadKDEConfigFile "$KDE_CONFIG_FILE" fi
rm -f /tmp/acroread.tmp 2>/dev/null }
##SOFT LINK #remove any leftover
if ( echo foo > /usr/bin/AcroWriteTest ) 2> /dev/null ; then rm -f /usr/bin/AcroWriteTest
rm -f /usr/bin/acroread 2> /dev/null
##install link if [ -n "$RPM_INSTALL_PREFIX" ]; then ln -s "$RPM_INSTALL_PREFIX"/bin/acroread /usr/bin/acroread else ln -s /usr/local/Adobe/Acrobat7.0/bin/acroread /usr/bin/acroread fi
else echo " " fi
# # Check a given file in given path # check_file_in_named_path() { if [ -x "$2/$1" ] ; then return 1 fi
return 0 }
# # Check a given file in $PATH # check_file_in_path() { OLD_IFS=$IFS IFS=":"
if [ -n "$PATH" ] ; then for i in $PATH; do if [ -d "$i" ] ; then check_file_in_named_path "$1" "$i" if [ $? -eq 1 ]; then IFS=$OLD_IFS echo "$i/$1" return 1 fi fi done fi
IFS=$OLD_IFS return 0 }
#Make Soft Links To gnome-speech libraries MakeLibGnomeSpeechLinks() { InstallDir="$1/Reader"
TESTSPEECHEXEC=`check_file_in_path "test-speech"` if [ $? -ne 0 ] then check_file_in_path "ldd" >/dev/null if [ $? -ne 0 ] then check_file_in_path "sed" >/dev/null if [ $? -ne 0 ] then rm -f "$InstallDir"/intellinux/lib/libORBit-2.so 2>/dev/null rm -f "$InstallDir"/intellinux/lib/libbonobo-2.so 2>/dev/null rm -f "$InstallDir"/intellinux/lib/libbonobo-activation.so 2>/dev/null rm -f "$InstallDir"/intellinux/lib/libgnomespeech.so 2>/dev/null
TrimCmd="sed -e 's/^[ \t]*([^ \t])(.*)([^ \t])[ \t]*$/\1\2\3/g'" LIB_ORBit2="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i libORBit-2.* | cut -d '>' -f2 | cut -d '(' -f 1 | sh -c "$TrimCmd" `" LIB_BONOBO="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i bonobo-2.* | cut -d '>' -f2 | cut -d '(' -f 1 | sh -c "$TrimCmd" `" LIB_BONOBOACTIVATION="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i bonobo-activation.* | cut -d '>' -f2 | cut -d '(' -f 1 | sh -c "$TrimCmd" `" LIB_GNOMESPEECH="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i libgnomespeech.* | cut -d '>' -f2 | cut -d '(' -f 1 | sh -c "$TrimCmd" `" if [ -f "$LIB_ORBit2" -a -f "$LIB_BONOBO" -a -f "$LIB_BONOBOACTIVATION" -a -f "$LIB_GNOMESPEECH" ] then ln -s "$LIB_ORBit2" "$InstallDir/intellinux/lib/libORBit-2.so" ln -s "$LIB_BONOBO" "$InstallDir/intellinux/lib/libbonobo-2.so" ln -s "$LIB_BONOBOACTIVATION" "$InstallDir/intellinux/lib/libbonobo-activation.so" ln -s "$LIB_GNOMESPEECH" "$InstallDir/intellinux/lib/libgnomespeech.so" fi fi fi fi }
if [ `uname -s` = "Linux" ] ; then
InstallDir="$RPM_INSTALL_PREFIX"/Reader
if [ ! -e /usr/lib/libldap.so ] then rm -f "$InstallDir"/intellinux/lib/libldap.so 2>/dev/null
LIB_LDAP=`ls -tr /usr/lib/libldap.so* 2>/dev/null | tail -n 1`
if [ "$LIB_LDAP" = "" ] then LIB_LDAP=`ls -tr /usr/lib/libldap* 2>/dev/null | grep -v libldap_r | grep -v libldapcpp | grep '.so' | tail -n 1` fi
if [ "$LIB_LDAP" != "" ] then ln -s $LIB_LDAP "$InstallDir"/intellinux/lib/libldap.so fi fi
if [ ! -e /usr/lib/liblber.so ] then rm -f "$InstallDir"/intellinux/lib/liblber.so 2>/dev/null
LIB_LBER=`ls -tr /usr/lib/liblber.so* 2>/dev/null | tail -n 1`
if [ "$LIB_LBER" = "" ] then LIB_LBER=`ls -tr /usr/lib/liblber* 2>/dev/null | grep -v liblber_r | grep '.so' | tail -n 1` fi
if [ "$LIB_LBER" != "" ] then ln -s $LIB_LBER "$InstallDir"/intellinux/lib/liblber.so fi fi
#Make Soft Links To gnome-speech libraries MakeLibGnomeSpeechLinks "$RPM_INSTALL_PREFIX" fi
check_file_in_path kde-config >/dev/null
if [ $? -ne 0 ]; then KDE_BASE_DIR="`kde-config --prefix`" elif [ -x /opt/kde3/bin/kde-config ]; then KDE_BASE_DIR="/opt/kde3" elif [ -x /opt/kde/bin/kde-config ]; then KDE_BASE_DIR="/opt/kde" else KDE_BASE_DIR="/usr" fi
GNOME_BASE_DIR=`check_file_in_path gnome-open`
if [ $? -ne 0 ]; then GNOME_BASE_DIR=`dirname "$GNOME_BASE_DIR"` GNOME_BASE_DIR=`dirname "$GNOME_BASE_DIR"` elif [ -x /opt/gnome/bin/gnome-open ]; then GNOME_BASE_DIR="/opt/gnome" else GNOME_BASE_DIR="/usr" fi
if [ "$GNOME_BASE_DIR" != "/usr" ]; then UpdateIcon /usr/share/applications/AdobeReader.desktop "$GNOME_BASE_DIR/share/applications/AdobeReader.desktop" fi
if [ "$KDE_BASE_DIR" != "/usr" ]; then UpdateIcon /usr/share/applnk/Applications/AdobeReader.desktop "$KDE_BASE_DIR/share/applnk/Applications/AdobeReader.desktop" fi
UpdateIcon /usr/share/applnk/Applications/AdobeReader.desktop "$KDE_BASE_DIR/share/applications/kde/AdobeReader.desktop"
UpdateDefaultIcons "$RPM_INSTALL_PREFIX" UpdateConfigurationFiles
if [ -d "$GNOME_BASE_DIR/share/mime/packages" ]; then UpdateIcon "$RPM_INSTALL_PREFIX/Resource/Support/AdobeReader.xml" "$GNOME_BASE_DIR/share/mime/packages/AdobeReader.xml" fi
if [ -d "$KDE_BASE_DIR/share/mimelnk/application" ]; then UpdateIcon "$RPM_INSTALL_PREFIX/Resource/Support/vnd.fdf.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.fdf.desktop" UpdateIcon "$RPM_INSTALL_PREFIX/Resource/Support/vnd.adobe.pdx.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.adobe.pdx.desktop" UpdateIcon "$RPM_INSTALL_PREFIX/Resource/Support/vnd.adobe.xdp+xml.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.adobe.xdp+xml.desktop" UpdateIcon "$RPM_INSTALL_PREFIX/Resource/Support/vnd.adobe.xfdf.desktop" "$KDE_BASE_DIR/share/mimelnk/application/vnd.adobe.xfdf.desktop" fi
if [ `which update-mime-database 2>/dev/null` ]; then update-mime-database "$GNOME_BASE_DIR/share/mime" >/dev/null 2>&1 fi
if [ `which update-desktop-database 2>/dev/null` ]; then update-desktop-database >/dev/null 2>&1 fi
exit 0 preuninstall program: /bin/sh postuninstall scriptlet (using /bin/sh):
if [ -d "$RPM_INSTALL_PREFIX" -o -d `dirname "$RPM_INSTALL_PREFIX" 2> /dev/null` ]; then
CAN_BASE_DIR_BE_DELETED="YES" OLD_IFS="$IFS" IFS=" "
for i in `find "$RPM_INSTALL_PREFIX" -type f 2> /dev/null `; do if [ -n "$i" ]; then CAN_BASE_DIR_BE_DELETED="NO"
fi done
IFS="$OLD_IFS"
##Remove the Acrobat7.0 directory BASENAME_RPM_INSTALL=`basename "$RPM_INSTALL_PREFIX" 2> /dev/null` DIRNAME_RPM_INSTALL=`dirname "$RPM_INSTALL_PREFIX" 2> /dev/null`
if [ "$BASENAME_RPM_INSTALL" = "Acrobat7.0" -a "$DIRNAME_RPM_INSTALL" = "/usr/local/Adobe" -a $CAN_BASE_DIR_BE_DELETED = "YES" ]; then #Try removing Acrobat 7 directory rm -rf "$RPM_INSTALL_PREFIX" 2> /dev/null #Try removing Adobe directory as well if [ $? -eq 0 ]; then
if [ -z `find "$DIRNAME_RPM_INSTALL" -type f 2> /dev/null` ]; then rm -rf "$DIRNAME_RPM_INSTALL" 2> /dev/null else CAN_BASE_DIR_BE_DELETED="NO"
fi
else CAN_BASE_DIR_BE_DELETED="NO"
fi
fi fi
GNOME_BASE_DIR=`which gnome-open 2>/dev/null`
if [ $? -eq 0 ]; then GNOME_BASE_DIR=`dirname "$GNOME_BASE_DIR"` GNOME_BASE_DIR=`dirname "$GNOME_BASE_DIR"` elif [ -x /opt/gnome/bin/gnome-open ]; then GNOME_BASE_DIR="/opt/gnome" else GNOME_BASE_DIR="/usr" fi
if [ `which update-mime-database 2>/dev/null` ]; then update-mime-database "$GNOME_BASE_DIR/share/mime" >/dev/null 2>&1 fi
if [ `which update-desktop-database 2>/dev/null` ]; then update-desktop-database 2>/dev/null fi
exit
This is the output:
# rpm -qp --scripts AdobeReader_enu-7.0.8-1.i386.rpm preinstall program: /bin/sh postinstall scriptlet (using /bin/sh):
SNIP
Holy CRAP that's an unholy beast.
get dag's nosrc.rpm from here ->http://dag.wieers.com/packages/acroread/ for the current version, then download the appropriate file listed as the source in the spec from here -> http://dag.wieers.com/packages/acroread/acroread.spec
and build your own rpm. It'll be far nicer than that monstrosity you grabbed from adobe.
1. yum install rpm-build 2. mkdir ~/build 3. cp -af /usr/src/redhat/* ~/build/ 4. echo "%_topdir %(echo $HOME/build)" >> ~/.rpmmacros 5. Drop the source file (tar.gz) in ~/build/SOURCES/ 6. rpmbuild --rebuild acroread-7.0.8-1.rf.nosrc.rpm (the package you got from dag) 7. sudo rpm -Uvh ~/build/RPMS/i386/*.rpm 8. PROFIT