Bug 28312 - peer libraries are installed into gcjversionedlibdir, not into nativeexeclib
Summary: peer libraries are installed into gcjversionedlibdir, not into nativeexeclib
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libgcj (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: ---
Assignee: Thomas Fitzsimmons
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-08 13:59 UTC by Debian GCC Maintainers
Modified: 2006-08-16 09:56 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-07-08 17:37:54


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Debian GCC Maintainers 2006-07-08 13:59:29 UTC
trunk 20060707,

peer libraries are installed into gcjversionedlibdir, not into nativeexeclib, leading to installation into two different directories, if --with-native-libdir is  used to pass something different than gcjversionedlibdir,

the libgjsmalsa library is correctly installed.

  Matthias
Comment 1 Richard Biener 2006-07-08 17:37:53 UTC
Confirmed.  (And things keep changing...)
Comment 2 fitzsim@gcc.gnu.org 2006-07-31 16:34:37 UTC
Subject: Bug 28312

Author: fitzsim
Date: Mon Jul 31 16:34:28 2006
New Revision: 115839

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115839
Log:
2006-07-31  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/28312
	* classpath/native/jni/midi-alsa/Makefile.am
	(libgjsmalsa_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/midi-alsa/Makefile.in: Regenerate.
	* classpath/native/jni/midi-dssi/Makefile.am
	(libgjsmdssi_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/midi-dssi/Makefile.in: Regenerate.
	* classpath/native/jni/qt-peer/Makefile.am: Remove GCJ LOCAL
	sections.
	(libqtpeer_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/qt-peer/Makefile.in: Regenerate.
	* classpath/native/jni/gtk-peer/Makefile.am
	(libgtkpeer_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/gtk-peer/Makefile.in: Regenerate.
	* classpath/native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add
	-avoid-version.
	* classpath/native/jawt/Makefile.in: Regenerate.
	* Makefile.am (libjvm_la_LDFLAGS): Add -avoid-version.
	* Makefile.in: Regenerate.


Modified:
    trunk/libjava/ChangeLog
    trunk/libjava/Makefile.am
    trunk/libjava/Makefile.in
    trunk/libjava/classpath/native/jawt/Makefile.am
    trunk/libjava/classpath/native/jawt/Makefile.in
    trunk/libjava/classpath/native/jni/gtk-peer/Makefile.am
    trunk/libjava/classpath/native/jni/gtk-peer/Makefile.in
    trunk/libjava/classpath/native/jni/midi-alsa/Makefile.am
    trunk/libjava/classpath/native/jni/midi-alsa/Makefile.in
    trunk/libjava/classpath/native/jni/midi-dssi/Makefile.am
    trunk/libjava/classpath/native/jni/midi-dssi/Makefile.in
    trunk/libjava/classpath/native/jni/qt-peer/Makefile.am
    trunk/libjava/classpath/native/jni/qt-peer/Makefile.in

Comment 3 Tom Tromey 2006-08-07 16:38:59 UTC
Is this fixed by that commit?
Comment 4 Thomas Fitzsimmons 2006-08-14 17:23:45 UTC
Yes, closing.
Comment 5 Debian GCC Maintainers 2006-08-14 17:54:51 UTC
not fixed. still installed into gcjversionedlibdir, not into nativeexeclib.
only libjvm is installed into nativeexeclib (today's HEAD, including mjw's 0.92 merge). Will recheck with the next build.

  Matthias
Comment 6 Thomas Fitzsimmons 2006-08-15 15:01:46 UTC
What are you trying to do, exactly?  This is the intended behaviour, that libgcj's configure overrides classpath's configure by injecting --with-native-libdir.  Here is the configure fragment:

# Determine where the standard .db file and GNU Classpath JNI
# libraries are found.
multi_os_directory=`$CC -print-multi-os-directory`
case $multi_os_directory in
  .)
   dbexecdir='$(libdir)/gcj-$(gcc_version)' # Avoid /.
   ac_configure_args="$ac_configure_args --with-native-libdir=\$\(libdir\)/gcj-`cat $srcdir/../gcc/BASE-VER`"
   ;;
  *)
   dbexecdir='$(libdir)/'$multi_os_directory'/gcj-$(gcc_version)'
   ac_configure_args="$ac_configure_args --with-native-libdir=\$\(libdir\)/$multi_os_directory/gcj-`cat $srcdir/../gcc/BASE-VER`"
   ;;
esac
AC_SUBST(dbexecdir)
Comment 7 Debian GCC Maintainers 2006-08-16 09:56:43 UTC
ok, I had another thinko on my side (using [] in a sed pattern in configure.ac to set the private directory).

I'm installing into /usr/lib/gcj-4.2, to avoid changing directories across subminor version upgrades.

  Matthias