Bug 134786 - fedora patch prevents correct libsvnjavahl compilation
fedora patch prevents correct libsvnjavahl compilation
Product: Fedora
Classification: Fedora
Component: subversion (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Joe Orton
Depends On:
  Show dependency treegraph
Reported: 2004-10-06 06:05 EDT by Didier
Modified: 2007-11-30 17:10 EST (History)
0 users

See Also:
Fixed In Version: 1.1.1-1.1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2004-11-15 11:24:16 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

  None (edit)
Description Didier 2004-10-06 06:05:34 EDT
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):

How reproducible:

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 06:10:00 EDT
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 07:17:58 EDT
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 07:34:49 EDT
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 08:35:28 EDT
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 08:37:14 EDT
Created attachment 104888 [details]
.spec diff to add JavaHL compilation (not including make check-javahl)
Comment 6 Joe Orton 2004-10-07 08:38:35 EDT
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 09:24:55 EDT
RHEL is shipping with a JDK ; I'm using
java-1.4.2-ibm- 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 12:10:21 EDT
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 05:52:07 EDT
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 11:24:16 EST
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.