← Back to team overview

openjdk team mailing list archive

[Bug 1518741] [NEW] A pkg-config file is need for OpenJDK distributions

 

Public bug reported:

When developing using JNI ( either to start a JVM or to develop native
support files for classes ), you need to compile and link against
<jni.h> and libjvm.so.

The normal way for developers to do this on Linux systems is to use pkg-
config to get the required paths for --cflags and --libs and avoid
hardwiring paths into make and other build files.

However OpenJDK does not supply a pkg-config file, which is a shame as
it's a very simple file to add to the package.

I would make three observations in this regards :

1. In practical terms libraries should be the normal search path for
Linux libraries, so that they can be found by linkers ( ld ) without
complex configurations.  Having the Java libraries in a completely
separate location is not ideal.   However, failing the uatomatic
installation of a symbolic link in e.g. /usr/lib to the Java runtime
libraries, having them accessible via a standard mechanism like pkg-
config would be some help.

2.  While a pkg-config would be a big help, without libraries being
installed on standard paths people distributing non-Java applications
that wish to start their own JVM have problems ensuring the application
will launch without knowledge of where on the system the Java runtime
libraries are.  A symbolic link or similar to the Java libs would be
useful in it's own right

3. Any symbolic links should probably be made against /usr/lib/jvm
/default-path and not the canonical path to the files proper.  This
allows more flexibility.

Thanks,

  Stephen Geary

** Affects: openjdk-7 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-7 in Ubuntu.
https://bugs.launchpad.net/bugs/1518741

Title:
  A pkg-config file is need for OpenJDK distributions

Status in openjdk-7 package in Ubuntu:
  New

Bug description:
  When developing using JNI ( either to start a JVM or to develop native
  support files for classes ), you need to compile and link against
  <jni.h> and libjvm.so.

  The normal way for developers to do this on Linux systems is to use
  pkg-config to get the required paths for --cflags and --libs and avoid
  hardwiring paths into make and other build files.

  However OpenJDK does not supply a pkg-config file, which is a shame as
  it's a very simple file to add to the package.

  I would make three observations in this regards :

  1. In practical terms libraries should be the normal search path for
  Linux libraries, so that they can be found by linkers ( ld ) without
  complex configurations.  Having the Java libraries in a completely
  separate location is not ideal.   However, failing the uatomatic
  installation of a symbolic link in e.g. /usr/lib to the Java runtime
  libraries, having them accessible via a standard mechanism like pkg-
  config would be some help.

  2.  While a pkg-config would be a big help, without libraries being
  installed on standard paths people distributing non-Java applications
  that wish to start their own JVM have problems ensuring the
  application will launch without knowledge of where on the system the
  Java runtime libraries are.  A symbolic link or similar to the Java
  libs would be useful in it's own right

  3. Any symbolic links should probably be made against /usr/lib/jvm
  /default-path and not the canonical path to the files proper.  This
  allows more flexibility.

  Thanks,

    Stephen Geary

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1518741/+subscriptions


Follow ups