ERRORS: rpm.spec

Jeffrey Johnson n3npq at me.com
Tue Jan 10 18:03:25 CET 2017


> On Jan 10, 2017, at 11:44 AM, Elan Ruusamäe <glen at pld-linux.org> wrote:
> 
> On 10.01.2017 18:38, Jeffrey Johnson wrote:
>>> On Jan 10, 2017, at 11:35 AM, Elan Ruusamäe <glen at pld-linux.org> wrote:
>>> 
>>> On 10.01.2017 18:28, Jeffrey Johnson wrote:
>>>> Add —without-java to configure will disable no matter what the default is.
>>> ./rpmio/Makefile.am compiles rpmjni.cc with no conditions. at least 5.4.15
>>> 
>> The configure option —without-java is known to work in CVS and in rpm-5.4.17.
> 
> same error as with 5.4.15, rpmjni.cc is compiled unconditionally (checked sources),
> rpm-5.4.17/rpmio/Makefile.am line 201
> 

Yes rpmjni.cc is compiled unconditionally so that wrapper symbols are constant in libraries
identical to every other rpmXY wrapping.

Meanwhile — if WITH_JNI_EMBED is undefined — you end up with an empty pool allocation
(empty == the JVM is not instantiated, bean shell isn’t loaded, any/all calls return error).

> so if you try with gcc6 you should be getting same error.
> 

Currently with CVS
	$ rpm -q gcc
	gcc-6.3.1-1.fc26.x86_64
and (AFAIR) gcc6 was used on rpm-5.4.17 (see 5.4.17 INSTALLATION for tools used).

Adding
	#undef WITH_JNIEMBED
at top of rpmio/rpmjni.cc SHOULD disable JVM no matter what.

The other way to eliminate is to remove the pool deallocations in rpmio/rpmio.c rpmioClean()
by commenting out
    RPMIOPOOL_INTERP_FREE(js)
    RPMIOPOOL_INTERP_FREE(jni)
	
to address your reported failures
	skipping rpmjni.cc <http://rpmjni.cc/> from makefile of course yields linking error:
	./.libs/librpmio.so: undefined reference to `_rpmjniI'
	./.libs/librpmio.so: undefined reference to `_rpmjniPool'
	collect2: error: ld returned 1 exit status
as those are just artifacts used to clean up allocations of the empty rpmjni wrapper.

>> 
>> Meanwhile:
>> 	What is the issue here?
>> 	Do you want embedded java or wish java cleanly disabled?
> 
> i wished to rebuild rpm with tiny patch, but gcc errors in totally unrelated file due gcc 6 on builders.
> 
> https://github.com/pld-linux/rpm/commit/e9576b98b1c166be5e164c20df8d8659bb0431be
> 
> there shouldn't be any sniff of java/jvm in rpm binary in pld.
> 

So you don’t want RPM+JAVA.

73 de Jeff


More information about the pld-devel-en mailing list