Bug 134786 - fedora patch prevents correct libsvnjavahl compilation
Summary: fedora patch prevents correct libsvnjavahl compilation
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: subversion
Version: 3
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Joe Orton
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-10-06 10:05 UTC by Didier
Modified: 2007-11-30 22:10 UTC (History)
0 users

Fixed In Version: 1.1.1-1.1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-11-15 16:24:16 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Diff between invalid and valid build-outputs.mk (3.22 KB, text/plain)
2004-10-06 10:09 UTC, Didier
no flags Details
alternative -pie patch (2.85 KB, patch)
2004-10-07 11:34 UTC, Joe Orton
no flags Details | Diff
.spec diff to add JavaHL compilation (not including make check-javahl) (538 bytes, text/plain)
2004-10-07 12:37 UTC, Didier
no flags Details

Description Didier 2004-10-06 10:05:34 UTC
Description of problem:
Fedora adds some patches to the subversion build process, rendering
correct javahl compilation impossible without additional
post-configure patches.

Version-Release number of selected component (if applicable):
1.1.0-5

How reproducible:
Always

Steps to Reproduce:
1. install subversion-1.1.0-5.src
2. modify .spec file to include java-hl
3. compile
  
Actual results:
The compiled libsvnjavahl-1.so.0.0.0 contains unresolved symbols. This
yields the subclipse component within the Eclipse environment unusable.

Expected results:
libsvnjavahl-1.so.0.0.0 should compile correctly.

Additional info:
Both Eclipse and IBM Java are part of RHEL ; as soon as subversion is
included in RHEL, this will be a major hurdle for subversion inclusion
in Eclipse.
See bug #116202 (which applies to Fedora/GCJ instead of RHEL/IBMJava).

My diagnose :
- One of the fedora patches (.pie and/or .rpath) modifies
build/generator/gen_base.py ;
- As a result, during the %build, all $(LINK)'s are replaced with
$(LINK_LIB) in build-outputs.mk ;
- Unfortunately, $(LINK_JAVAHL_CXX) is also replaced ; 
- Due to that replacement, 'libsvnjavahl' is linked without -lstdc++,
resulting in unresolved symbols.

FWIW, (being an absolute dilettant in build processes), I would
suggest to change the gen_base.py patch to let it differentiate
between the generic $(LINK) and other, more specific link command
variables such as $(LINK_JAVAHL_CXX).

Comment 1 Didier 2004-10-06 10:10:00 UTC
Created attachment 104831 [details]
Diff between invalid and valid build-outputs.mk

This shows the difference between the valid and invalid build-outputs.mk ; as
build-outputs.mk seems to be created *after* the %prep% in the %build%, I would
not know how to validly include this patch in the .spec.

As such, I guess the .pie and .rpath patches should be modified to cope with
non- $(LINK) linker commands.

Comment 2 Didier 2004-10-07 11:17:58 UTC
For the record : it speaks for itself that the .spec file was modified
to properly cope for javahl compilation :
...
%configure ... --with-junit=/usr/share/java/junit.jar --enable-javahl
...
make javahl
...

Comment 3 Joe Orton 2004-10-07 11:34:49 UTC
Created attachment 104885 [details]
alternative -pie patch

I've attached an alternative -pie patch here - can you try this with your
changes for JavaHL?

Comment 4 Didier 2004-10-07 12:35:28 UTC
New -pie patch works perfectly ; thank you for the very swift solution.

Would it not prove beneficial to modify the .spec to include an
additional subversion-javahl rpm ?
In that case, an extra dependency to the junit rpm would be nice, as
this would allow for the JavaHL tests to be compiled (and tested, by
means of 'make check-javahl').


Comment 5 Didier 2004-10-07 12:37:14 UTC
Created attachment 104888 [details]
.spec diff to add JavaHL compilation (not including make check-javahl)

Comment 6 Joe Orton 2004-10-07 12:38:35 UTC
We don't ship a JDK -- does this compile/build with GCJ out of the
box? It needs suitable BuildRequires, and it needs to be in a
subpackage too I expect.

Comment 7 Didier 2004-10-07 13:24:55 UTC
RHEL is shipping with a JDK ; I'm using
java-1.4.2-ibm-1.4.2.0-1jpp_8rh.i386.rpm from lacd (Update 3).

As RHEL4 will be based on FC3, and FC2/FC3 is shipped with subversion,
I suppose RHEL will eventually have it, too.

A subpackage would be very nice, though.


(not wanting to look like a spelling buff, but nevertheless one very
minor nitpick : second line in the .pie patch should probably be
'built' instead of 'build').


Comment 8 Joe Orton 2004-10-07 16:10:21 UTC
Well, this is a Fedora bug :)  Does Eclipse's Subversion support rely
on this, then?

If you wish have this support in RHEL4, please file an RFE against
RHEL4 and it will be considered for inclusion, giving the
justification on why it's needed.

I spotted the typo too, thanks.

Comment 9 Didier 2004-10-08 09:52:07 UTC
OK, filed bug #135049.

A big thanks for both your much appreciated efforts and a great
product line !


Comment 10 Joe Orton 2004-11-15 16:24:16 UTC
Updated patch included in the 1.1.1-1.1 update.


Note You need to log in before you can comment on or make changes to this bug.