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).
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.
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 ...
Created attachment 104885 [details] alternative -pie patch I've attached an alternative -pie patch here - can you try this with your changes for JavaHL?
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').
Created attachment 104888 [details] .spec diff to add JavaHL compilation (not including make check-javahl)
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.
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').
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.
OK, filed bug #135049. A big thanks for both your much appreciated efforts and a great product line !
Updated patch included in the 1.1.1-1.1 update.