This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug java/60261] [4.9 Regression] Weird java install with --enable-version-specific-runtime-libs
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 18 Feb 2014 12:50:54 +0000
- Subject: [Bug java/60261] [4.9 Regression] Weird java install with --enable-version-specific-runtime-libs
- Auto-submitted: auto-generated
- References: <bug-60261-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60261
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #4)
> Hmm, it seems to me that
>
> # Determine where the standard .db file and GNU Classpath JNI
> # libraries are found.
> gcjsubdir=gcj-$gcjversion-$libgcj_soversion
> multi_os_directory=`$CC -print-multi-os-directory`
> case $multi_os_directory in
> .)
> dbexecdir='$(toolexeclibdir)/'$gcjsubdir # Avoid /.
> ;;
> *)
> dbexecdir='$(toolexeclibdir)/'$multi_os_directory/$gcjsubdir
> ;;
> esac
>
> is simply "duplicate", toolexeclibdir is already properly containing the
> multilib. Thus,
>
> Index: libjava/configure.ac
> ===================================================================
> --- libjava/configure.ac (revision 207837)
> +++ libjava/configure.ac (working copy)
> @@ -1596,15 +1596,7 @@ AC_DEFINE_UNQUOTED(GCJVERSION, "$GCJVERS
> # Determine where the standard .db file and GNU Classpath JNI
> # libraries are found.
> gcjsubdir=gcj-$gcjversion-$libgcj_soversion
> -multi_os_directory=`$CC -print-multi-os-directory`
> -case $multi_os_directory in
> - .)
> - dbexecdir='$(toolexeclibdir)/'$gcjsubdir # Avoid /.
> - ;;
> - *)
> - dbexecdir='$(toolexeclibdir)/'$multi_os_directory/$gcjsubdir
> - ;;
> -esac
> +dbexecdir='$(toolexeclibdir)/'$gcjsubdir
> AC_SUBST(dbexecdir)
> AC_SUBST(gcjsubdir)
>
> for dbexecdir? But that makes it not version-specific again - it lacks
> the GCC version suffix?
That makes classmap.db libjvm.la and libjvm.so move to
/usr/lib64/gcc/x86_64-suse-linux/4.9/gcj-4.9-15
which is sensible. I'm left with
/usr/lib64/gcc/x86_64-suse-linux/
4.9 gcj-4.9-15 logging.properties security
and
/usr/lib64/gcc/x86_64-suse-linux/gcj-4.9-15/
libjavamath.la libjavamath.so
For security/logging we have inside classpath/resource/Makefile.am
logging_DATA = java/util/logging/logging.properties
loggingdir = $(toolexeclibdir)
security_DATA = java/security/classpath.security
securitydir = $(toolexeclibdir)/security
so the same issue as with libjavamath - it's missing gcc_version suffix,
so it seems that $(gcc_version) is not defined when building libjava/classpath.