#9 CMake JAVA_LIB_INSTALL_DIR wrong on F16 x86_64 and later
Closed: Fixed None by admiyo. Opened 6 years ago by admiyo.

This used to be /usr/lib/java but is now /usr/lib64/java when building 64 bit on 64. For 32 on 32 or 32 on 64 the value should remain /usr/lib/java


Work around is to use -DJAVA_LIB_INSTALL_DIR=/usr/lib64/java when building by hand, but the compose scripts don't know to do that yet.

Replying to [comment:1 admiyo]:

Work around is to use -DJAVA_LIB_INSTALL_DIR=/usr/lib64/java when building by hand, but the compose scripts don't know to do that yet.

This should already be fixed.

Actually, this logic is contained in the individual spec files, not the compose scripts. That being said, the compose scripts invoke the spec files, but the spec files have already been changed to override this behavior based upon the value of the "%{_jnidir}" variable in the 'jpackage-utils' package per 'Bugzilla Bug #665576 - "build-classpath swt" fails on 64bit' and in the corresponding PKI bug 'Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . .').

For example, the following 'cmake' invocation can be found in the "pki-core.spec" file:

%cmake -DVAR_INSTALL_DIR:PATH=/var -DBUILD_PKI_CORE:BOOL=ON -DJAVA_LIB_INSTALL_DIR=%{_jnidir} ..

This allows the trunk to continue building on Fedora 14 and Fedora 15 (whose 'jpackage-utils' package contains the old definition of the "%{_jnidir}" macro) as well as Fedora 16 and later.

As I am the only one building by hand,and this trips me up every time, I think it is safe to say it is going to mess up outside developers when they try to build, too. We need to embed that %{_jnidir} logic inside the CMake system

Filed https://bugzilla.redhat.com/show_bug.cgi?id=785020:

  • Bugzilla Bug #785020 - RFE: Embed "%{_jnidir}" logic inside the CMake system . . .

Metadata Update from @admiyo:
- Issue assigned to mharmsen
- Issue set to the milestone: m3

2 years ago

Login to comment on this ticket.

Metadata