Bug 177257

Summary: failures upgrading eclipse 3.1.1-1jpp_1fc.FC4.12 packages
Product: [Fedora] Fedora Reporter: Herbert Carl Meyer <hcmeyer>
Component: eclipseAssignee: Igor Foox <ifoox>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: geek.poet, overholt
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-10-04 04:48:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
/usr/bin/rebuild-gcj-db none

Description Herbert Carl Meyer 2006-01-08 11:44:15 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051201 Fedora/1.5-1.1.fc4.nr Firefox/1.5

Description of problem:
rebuild-gcj-db steps fail. see pasted error messages later in report.

there are 3 gcj directories on my system,

/usr/lib/gcj-4.0.0
/usr/lib/gcj-4.0.1
/usr/lib/gcj-4.0.2

and the the first and last have subdirs:

/usr/lib/gcj-4.0.0/classmap.db.d
/usr/lib/gcj-4.0.2/classmap.db.d

/usr/lib/gcj-4.0.0/ contains classmap.db

/usr/lib/gcj-4.0.0/classmap.db.d is not empty, containing:

ant-1.6.2.db
eclipse-bugzilla.db
eclipse-changelog.db
eclipse-pydev.db
jakarta-commons-logging-1.0.4.db
mx4j-2.1.0.db

/usr/lib/gcj-4.0.2 does not contain any files, and /usr/lib/gcj-4.0.2/classmap.db.d is empty.

I suspect something in the gcj upgrades from 4.0.0 to 4.0.1 and 4.0.2 did not work properly, and the eclipse cannnot deal with the f'ed results.

I don't understand the classmap system at all, I think it is a kludge to translate between .jar and .so java implementations. Andrew ?

Version-Release number of selected component (if applicable):
eclipse 3.1.1-1jpp_1fc.FC4.12

How reproducible:
Didn't try

Steps to Reproduce:
1. run synaptic
2. uppgrade eclipse packages


Actual Results:  output from synaptic follows:

While installing package eclipse-ecj-3.1.1-1jpp_1fc.FC4.12:

/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

error: %post(eclipse-ecj-3.1.1-1jpp_1fc.FC4.12.i386) scriptlet failed, exit status 1

While installing package libswt3-gtk2-3.1.1-1jpp_1fc.FC4.12:

/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

error: %post(libswt3-gtk2-3.1.1-1jpp_1fc.FC4.12.i386) scriptlet failed, exit status 1

While installing package eclipse-rcp-3.1.1-1jpp_1fc.FC4.12:

/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

error: %post(eclipse-rcp-3.1.1-1jpp_1fc.FC4.12.i386) scriptlet failed, exit status 1

While installing package eclipse-platform-3.1.1-1jpp_1fc.FC4.12:

/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location


While installing package eclipse-jdt-3.1.1-1jpp_1fc.FC4.12:

/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

error: %postun(libswt3-gtk2-3.1.1-1jpp_1fc.FC4.4.i386) scriptlet failed, exit status 1
/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

error: %postun(eclipse-jdt-3.1.1-1jpp_1fc.FC4.4.i386) scriptlet failed, exit status 1
/usr/bin/rebuild-gcj-db: line 9: 1: 
rebuild-gcj-db:  Re-build the gcj classmap .db

  Usage: /usr/bin/rebuild-gcj-db LIBDIR
    LIBDIR - the target library location

error: %postun(eclipse-ecj-3.1.1-1jpp_1fc.FC4.4.i386) scriptlet failed, exit status 1
W: Some errors occurred while running transaction



Expected Results:  no errors in synaptic upgrade

Additional info:

I now have multiple versions of eclipse and support (swt, etc.) installed. I will try to remove both, and reinstall the new eclipse.

Comment 1 Andrew Overholt 2006-01-09 15:47:56 UTC
Something's wonky with your rebuild-gcj-db.  What version of
java-1.4.2-gcj-compat do you have?

Comment 2 Herbert Carl Meyer 2006-01-09 15:59:48 UTC
That's what I thought. I am using jpackage 0:1.4.2.0-40jpp_31rh.FC4.2. I may
have broken it crowbaring out an update using force, the post scriptlets were
not working properly. This may also explain a problem I am having with the
eclipse help system, it can't find the logger classes for tomcat.

Comment 3 Igor Foox 2006-01-09 16:23:12 UTC
Hi Herbert,

Could you please attach your /usr/bin/rebuild-gcj-db just to make sure nothing
is messed up there?


Also what version where you upgrading from? Did you already try to remove and
reinstall both eclipses? If so what was the result?


Comment 4 Herbert Carl Meyer 2006-01-13 13:41:13 UTC
Created attachment 123161 [details]
/usr/bin/rebuild-gcj-db

requested /usr/bin/rebuild-gcj-db from my system attached. 

I am getting out the crowbar again, starting by removing the packages synaptic
tells me are broken,

eclipse-bugzilla	1:0.1.0_fc-16
eclipse-cdt		1:3.0.0_fc-1.FC4
eclipse-changelog	1:2.0.1_fc-21
eclipse-jdt		1:3.1.1-1jpp_1fc.FC4.4
eclipse-pydev		1:0.9.3_fc-7

synaptic can't remove them, the post scriptlets won't run. Error messages are
basically the same as original post, rebuild-gcj-db doesn't run. I will run rpm
by hand with --nopost to force the remove.

I may end up completely tearing out java, and re-installing. I will try to
upgrade to the 06 version of sun java 1.5, if jpackage will get off the dime
and release an upgrade to the sun nosrc package. The sun upgrade has been out
for a month now.

Carl

Comment 5 Andrew Overholt 2006-01-13 15:22:46 UTC
Yeah, your rebuild-gcj-db is messed up.  I don't know how.  You can copy the
rebuild-gcj-db that I have posted below into yours and hopefully that'll fix up
all the %post{,un} sections.  This is on my updated FC4 system:

[andrew@localhost ~]$ rpm -q java-1.4.2-gcj-compat
java-1.4.2-gcj-compat-1.4.2.0-40jpp_31rh.FC4.2
[andrew@localhost ~]$ rpm -qV java-1.4.2-gcj-compat
..?......   /etc/java/security/security.d/1000-gnu.java.security.provider.Gnu
[andrew@localhost ~]$ md5sum /usr/bin/rebuild-gcj-db
0151e861d78c9e23229a2bfd0a9243d5  /usr/bin/rebuild-gcj-db
[andrew@localhost ~]$ cat !$
cat /usr/bin/rebuild-gcj-db
#!/bin/bash
# rebuild-gcj-db

if [ $# != 0 ]; then
    # we allow the old LIBDIR argument to stop existing rpms from choking.
    if [ $# != 1 -o $1 != /usr/lib ]; then
        cat 1>&2 <<EOF
rebuild-gcj-db: re-build the gcj classmap database

usage: $0
EOF
        exit 1
    fi
fi

dbLocation=`/usr/bin/gcj-dbtool -p /usr/lib`
dirname $dbLocation | xargs mkdir -p
/usr/bin/gcj-dbtool -n $dbLocation 64
locations="$dbLocation.d /usr/lib/gcj"
oldlocation=/usr/lib/gcj-4.0.0/classmap.db.d
if [ $dbLocation.d != $oldlocation -a -d $oldlocation ]; then
    locations="$locations $oldlocation"
fi
find $locations -name '*.db' -print0 | \
    xargs -0 /usr/bin/gcj-dbtool -m $dbLocation $dbLocation

Comment 6 Herbert Carl Meyer 2006-01-15 15:34:22 UTC
Thank you Andrew, rebuild-gcj-db now works. Yesterday, I removed eclipse
sucessfully. However, when I reinstalled eclipse, the tomcat5 that it pulled in
reported errors:

While installing package tomcat5-5.5.9-1jpp:

/usr/bin/build-jar-repository: error: Could not find jdtcore Java extension for
this JVM
/usr/bin/build-jar-repository: error: Could not find jdtCompilerAdapter Java
extension for this JVM
/usr/bin/build-jar-repository: error: Some specified jars were not found for
this jvm
/usr/bin/build-jar-repository: error: Could not find jdtcore Java extension for
this JVM
/usr/bin/build-jar-repository: error: Could not find jdtCompilerAdapter Java
extension for this JVM
/usr/bin/build-jar-repository: error: Some specified jars were not found for
this jvm

I think this tomcat rpm doesn't understand Java 1.5. Maybe Gary B. has something
to offer.

Eclipse starts, but the help system still doesn't work. See bug #174258.

Thanks, Carl

Comment 7 Andrew Overholt 2006-02-03 16:08:14 UTC
(In reply to comment #6)
> While installing package tomcat5-5.5.9-1jpp:

This is coming from the JPackage repository.  There are known issues with
interoperability between the Fedora packages and the JPackage packages. 
Fedora's packages are basically a fork of the JPackage ones and there is some
version skew in some places.  I believe this is one of them.

Comment 8 Ben Konrath 2006-10-04 04:48:53 UTC
This bug is filed against FC4 which is no longer supported. Please re-test with
FC5 or FC6 and reopen the bug if the problem still exists. Thanks.