From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11959 invoked by alias); 13 May 2007 04:41:44 -0000 Received: (qmail 11716 invoked by uid 48); 13 May 2007 04:41:26 -0000 Date: Sun, 13 May 2007 04:41:00 -0000 Subject: [Bug libgcj/31910] New: Trouble with libtool and libjava/classpath/native/jni/gtk-peer/Makefile X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rob1weld at aol dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-05/txt/msg00935.txt.bz2 $/cygdrive/c/gcc-4_2-branch-build/gcc/xgcc -v Using built-in specs. Target: i686-pc-cygwin Configured with: /cygdrive/C/makecygwin/gcc-4_2-branch/configure --verbose --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --with-tune=athlon-xp --prefix=/usr --enable-objc-gc --enable-concept-checks --disable-multilib --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/4.2 --enable-libstdcxx-debug --enable-static --enable-shared --enable-initfini-array --enable-__cxa_atexit --enable-threads=posix --enable-version-specific-runtime-libs --enable-libssp --enable-libmudflap --enable-libgomp --disable-werror --enable-nls --without-included-gettext --enable-decimal-float --with-long-double-128 --enable-debug --enable-java-gc=boehm --with-x --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --enable-java-awt=gtk,xlib --enable-gtk-cairo --enable-qt-peer --enable-xmlj --enable-gconf-peer --enable-tool-wrappers --enable-portable-native-sync --enable-libgcj-multifile --enable-libgcj --with-stabs --enable-hash-synchronization --enable-gc-debug --enable-interpreter --with-system-zlib --enable-libada --with-tls --enable-win32-registry --with-cpu=athlon-xp --with-arch=athlon-xp --disable-checking Thread model: posix gcc version 4.2.0 20070508 (prerelease) $pkg-config --modversion gtk+-2.0 2.10.11 I do NOT have this problem with the i686-pc-linux-gnu target, only on the Cygwin platform. There is a problem with "libtool" (the one that gcc-4_2-branch SVN creates, NOT the one that is downloaded and installed from cygwin.com). The specific "libtool" script is at: /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libjava/classpath/libtool GCC's Makefile's create various "libtool"s (different contents and lengths) in many directories (but each seem to have this same problem). These "libtool"s create "impgen.c" with a ZERO byte length. Since I have a working impgen.exe (for cygwin) and even a working impgen.c (which I can copy over the ZERO byte length version and then compile that), I am able to work through this problem. To double-check what the problem was, I ran "make" on my Linux platform but used the "-f" command to specify the Makefile on on my WinXP partition (to use the created "Cygwin Makefile). I don't imagine everyone (reading this) can do that (run a Makefile from a Windows directory on Linux) so I'll stick with the Cygwin commands. For those that _do_ have their WinXP drive "c:\" mounted in Linux as "/mnt/windows/" and their build directory is called "gcc-4_2-branch-build" you can type this (in your Linux shell, not your Cygwin shell): make -f /mnt/windows/gcc-4_2-branch-build/i686-pc-cygwin/libjava/classpath/native/jni/gtk-peer/Makefile libgtkpeer.la In cygwin type (something similar) to this to get to the directory in question: cd /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libjava/classpath/native/jni/gtk-peer Now you can type "make libgtkpeer.la" to see the problems. The first problem is that libtool complains that there are no "--tag"'s in the Makefile. I am not very familiar with libtool but I added "--tag=CC" to each libtool command in the Makefile and that worked. Fortunately all the files are "C" and there is no "C++" (or other languages), a "$(variable)" instead of hardcoding "--tag=CC" may be a more correct fix. make -i -k libgtkpeer.la /bin/sh ../../../libtool --mode=link --tag=CC /cygdrive/c/gcc-4_2-branch-build/./gcc/xgcc -B/cygdrive/c/gcc-4_2-branch-build/./gcc/ -B/usr/i686-pc-cygwin/bin/ -B/usr/i686-pc-cygwin/lib/ -isystem /usr/i686-pc-cygwin/include -isystem /usr/i686-pc-cygwin/sys-include -pedantic -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long -DXTHREADS -DXUSE_MTSAFE_API -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/X11R6/include -O2 -g -O2 -module -version-info 0:0:0 -no-undefined -L/gtk/2.0/bin/ -L/usr/X11R6/lib -lgtk-x11-2.0 -lgthread-2.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -latk-1.0 -lpangoxft-1.0 -lXft -lfreetype -lz -lXrender -lXext -lfontconfig -lpangox-1.0 -lX11 -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -lfreetype -lz -lpangoft2-1.0 -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -lSM -lICE -L/usr/X11R6/lib -lXrender -lXrandr -lX11 -lXtst -o libgtkpeer.la -rpath /usr/lib/gcj-4.2.0 -avoid-version gnu_java_awt_peer_gtk_CairoSurface.lo gnu_java_awt_peer_gtk_CairoGraphics2D.lo gnu_java_awt_peer_gtk_ComponentGraphics.lo gnu_java_awt_peer_gtk_ComponentGraphicsCopy.lo gnu_java_awt_peer_gtk_FreetypeGlyphVector.lo gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.lo gnu_java_awt_peer_gtk_GdkFontPeer.lo gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.lo gnu_java_awt_peer_gtk_GdkPixbufDecoder.lo gnu_java_awt_peer_gtk_GdkRobotPeer.lo gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.lo gnu_java_awt_peer_gtk_GtkButtonPeer.lo gnu_java_awt_peer_gtk_GtkCanvasPeer.lo gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.lo gnu_java_awt_peer_gtk_GtkCheckboxPeer.lo gnu_java_awt_peer_gtk_GtkChoicePeer.lo gnu_java_awt_peer_gtk_GtkClipboard.lo gnu_java_awt_peer_gtk_GtkComponentPeer.lo gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.lo gnu_java_awt_peer_gtk_GtkFileDialogPeer.lo gnu_java_awt_peer_gtk_GtkFramePeer.lo gnu_java_awt_peer_gtk_GtkGenericPeer.lo gnu_java_awt_peer_gtk_GtkImage.lo gnu_java_awt_peer_gtk_GtkLabelPeer.lo gnu_java_awt_peer_gtk_GtkListPeer.lo gnu_java_awt_peer_gtk_GtkMenuBarPeer.lo gnu_java_awt_peer_gtk_GtkMenuComponentPeer.lo gnu_java_awt_peer_gtk_GtkMenuItemPeer.lo gnu_java_awt_peer_gtk_GtkMenuPeer.lo gnu_java_awt_peer_gtk_GtkPanelPeer.lo gnu_java_awt_peer_gtk_GtkPopupMenuPeer.lo gnu_java_awt_peer_gtk_GtkScrollbarPeer.lo gnu_java_awt_peer_gtk_GtkScrollPanePeer.lo gnu_java_awt_peer_gtk_GtkSelection.lo gnu_java_awt_peer_gtk_GtkTextAreaPeer.lo gnu_java_awt_peer_gtk_GtkTextFieldPeer.lo gnu_java_awt_peer_gtk_GtkToolkit.lo gnu_java_awt_peer_gtk_GtkWindowPeer.lo gnu_java_awt_peer_gtk_GtkVolatileImage.lo GtkDragSourceContextPeer.lo gthread-jni.lo gtk_jawt.lo ../../../native/jni/classpath/native_state.lo ../../../native/jni/classpath/jcl.lo extracting exported symbol list from `cyggtk-x11-2.0-0.dll' test -f .libs/impgen.c || \ sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //; p; }" -e d < ../../../libtool > .libs/impgen.c test -f .libs/impgen.exe || (cd .libs && \ /cygdrive/c/gcc-4_2-branch-build/./gcc/xgcc -B/cygdrive/c/gcc-4_2-branch-build/./gcc/ -B/usr/i686-pc-cygwin/bin/ -B/usr/i686-pc-cygwin/lib/ -isystem /usr/i686-pc-cygwin/include -isystem /usr/i686-pc-cygwin/sys-include -o impgen impgen.c ; fi) ../../../libtool: eval: line 2680: syntax error near unexpected token `fi' ../../../libtool: eval: line 2680: ` test -f .libs/impgen.exe || (cd .libs && \ /cygdrive/c/gcc-4_2-branch-build/./gcc/xgcc -B/cygdrive/c/gcc-4_2-branch-build/./gcc/ -B/usr/i686-pc-cygwin/bin/ -B/usr/i686-pc-cygwin/lib/ -isystem /usr/i686-pc-cygwin/include -isystem /usr/i686-pc-cygwin/sys-include -o impgen impgen.c ; fi)' make: [libgtkpeer.la] Error 1 (ignored) Even using "-i -k" doesn't get us past this problem - to see what we could type by hand. The second problem (not gcc-4_2-branch's fault) is that the file _might_ not be called "cyggtk-x11-2.0-0.dll" if you use a package from somewhere other than Cygwin.com's setup.exe -- which you _MUST_ do since gcc-4_2-branch _requires_ gtk to be version 2.8 (or newer) and the Cygwin.com website doesn't have that a version that current (only version 2.6). That second problem is simply fixed by renaming the files on your drive and double-checking your ".pc" files. The section of libtool where the problem shown above occurs is here: # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else $show "extracting exported symbol list from \`$soname'" IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? # This is line 2680 done IFS="$save_ifs" fi So I used the above "make" command on my Linux system to run the "Makefile" on my WinXP system and looked at what was on the screen. After changing the ".so"'s to ".dll.a" and fixing some paths I came up with this: $/cygdrive/c/gcc-4_2-branch-build/gcc/xgcc -B/cygdrive/c/gcc-4_2-branch-build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include -shared gnu_java_awt_peer_gtk_CairoSurface.o gnu_java_awt_peer_gtk_CairoGraphics2D.o gnu_java_awt_peer_gtk_ComponentGraphics.o gnu_java_awt_peer_gtk_ComponentGraphicsCopy.o gnu_java_awt_peer_gtk_FreetypeGlyphVector.o gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.o gnu_java_awt_peer_gtk_GdkFontPeer.o gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.o gnu_java_awt_peer_gtk_GdkPixbufDecoder.o gnu_java_awt_peer_gtk_GdkRobotPeer.o gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.o gnu_java_awt_peer_gtk_GtkButtonPeer.o gnu_java_awt_peer_gtk_GtkCanvasPeer.o gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o gnu_java_awt_peer_gtk_GtkCheckboxPeer.o gnu_java_awt_peer_gtk_GtkChoicePeer.o gnu_java_awt_peer_gtk_GtkClipboard.o gnu_java_awt_peer_gtk_GtkComponentPeer.o gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.o gnu_java_awt_peer_gtk_GtkFileDialogPeer.o gnu_java_awt_peer_gtk_GtkFramePeer.o gnu_java_awt_peer_gtk_GtkGenericPeer.o gnu_java_awt_peer_gtk_GtkImage.o gnu_java_awt_peer_gtk_GtkLabelPeer.o gnu_java_awt_peer_gtk_GtkListPeer.o gnu_java_awt_peer_gtk_GtkMenuBarPeer.o gnu_java_awt_peer_gtk_GtkMenuComponentPeer.o gnu_java_awt_peer_gtk_GtkMenuItemPeer.o gnu_java_awt_peer_gtk_GtkMenuPeer.o gnu_java_awt_peer_gtk_GtkPanelPeer.o gnu_java_awt_peer_gtk_GtkPopupMenuPeer.o gnu_java_awt_peer_gtk_GtkScrollbarPeer.o gnu_java_awt_peer_gtk_GtkScrollPanePeer.o gnu_java_awt_peer_gtk_GtkSelection.o gnu_java_awt_peer_gtk_GtkTextAreaPeer.o gnu_java_awt_peer_gtk_GtkTextFieldPeer.o gnu_java_awt_peer_gtk_GtkToolkit.o gnu_java_awt_peer_gtk_GtkWindowPeer.o gnu_java_awt_peer_gtk_GtkVolatileImage.o GtkDragSourceContextPeer.o gthread-jni.o gtk_jawt.o ../../../native/jni/classpath/native_state.o ../../../native/jni/classpath/jcl.o -L/gtk/2.0/bin/ -L/usr/X11R6/lib /usr/lib/libgtk-x11-2.0.dll.a -L/usr/lib /usr/lib/libgthread-2.0.dll.a /usr/lib/libgdk-x11-2.0.dll.a /usr/lib/libgdk_pixbuf-2.0.dll.a /usr/lib/libatk-1.0.dll.a /usr/lib/libpangoxft-1.0.dll.a -lXft -lz -lXrender -lXext -lfontconfig /usr/lib/libpangox-1.0.dll.a -lX11 -lm -lintl -liconv -lz /usr/lib/libpangoft2-1.0.dll.a -lfontconfig /usr/lib/libfreetype.dll.a -lz /usr/lib/libpango-1.0.dll.a -lm /usr/lib/libgobject-2.0.dll.a /usr/lib/libgmodule-2.0.dll.a /usr/lib/libglib-2.0.dll.a -lintl -liconv -lSM -lICE -lXrender -lXrandr -lX11 -lXtst -Wl,-soname -Wl,libgtkpeer.dll.a -o .libs/libgtkpeer.dll.a Info: resolving _gdk_display by linking to __imp__gdk_display (auto-import) gnu_java_awt_peer_gtk_CairoSurface.o: In function `Java_gnu_java_awt_peer_gtk_CairoSurface_nativeNewCairoContext': /cygdrive/C/makecygwin/gcc-4_2-branch/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c:256: undefined reference to `_cairo_create' gnu_java_awt_peer_gtk_CairoSurface.o: In function `Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface': /cygdrive/C/makecygwin/gcc-4_2-branch/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c:200: undefined reference to `_cairo_matrix_init_identity' /cygdrive/C/makecygwin/gcc-4_2-branch/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c:201: undefined reference to `_cairo_matrix_init' /cygdrive/C/makecygwin/gcc-4_2-branch/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c:206: undefined reference to `_cairo_pattern_create_for_surface' /cygdrive/C/makecygwin/gcc-4_2-branch/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c:207: undefined reference to `_cairo_pattern_set_matrix' ...(many more errors) The problem was that the command was missing "-lcairo", so I added that. Since it works on Linux it _might_ be that I need to re-check my ".pc" files to see _if_ they need "cairo" tossed in there somewhere _OR_ it _might_ be the "Makefile"'s fault that it needs "-lcairo" (on the Cygwin platform). Here is a working command: $/cygdrive/c/gcc-4_2-branch-build/gcc/xgcc -B/cygdrive/c/gcc-4_2-branch-build/gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include -shared gnu_java_awt_peer_gtk_CairoSurface.o gnu_java_awt_peer_gtk_CairoGraphics2D.o gnu_java_awt_peer_gtk_ComponentGraphics.o gnu_java_awt_peer_gtk_ComponentGraphicsCopy.o gnu_java_awt_peer_gtk_FreetypeGlyphVector.o gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.o gnu_java_awt_peer_gtk_GdkFontPeer.o gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.o gnu_java_awt_peer_gtk_GdkPixbufDecoder.o gnu_java_awt_peer_gtk_GdkRobotPeer.o gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.o gnu_java_awt_peer_gtk_GtkButtonPeer.o gnu_java_awt_peer_gtk_GtkCanvasPeer.o gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o gnu_java_awt_peer_gtk_GtkCheckboxPeer.o gnu_java_awt_peer_gtk_GtkChoicePeer.o gnu_java_awt_peer_gtk_GtkClipboard.o gnu_java_awt_peer_gtk_GtkComponentPeer.o gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.o gnu_java_awt_peer_gtk_GtkFileDialogPeer.o gnu_java_awt_peer_gtk_GtkFramePeer.o gnu_java_awt_peer_gtk_GtkGenericPeer.o gnu_java_awt_peer_gtk_GtkImage.o gnu_java_awt_peer_gtk_GtkLabelPeer.o gnu_java_awt_peer_gtk_GtkListPeer.o gnu_java_awt_peer_gtk_GtkMenuBarPeer.o gnu_java_awt_peer_gtk_GtkMenuComponentPeer.o gnu_java_awt_peer_gtk_GtkMenuItemPeer.o gnu_java_awt_peer_gtk_GtkMenuPeer.o gnu_java_awt_peer_gtk_GtkPanelPeer.o gnu_java_awt_peer_gtk_GtkPopupMenuPeer.o gnu_java_awt_peer_gtk_GtkScrollbarPeer.o gnu_java_awt_peer_gtk_GtkScrollPanePeer.o gnu_java_awt_peer_gtk_GtkSelection.o gnu_java_awt_peer_gtk_GtkTextAreaPeer.o gnu_java_awt_peer_gtk_GtkTextFieldPeer.o gnu_java_awt_peer_gtk_GtkToolkit.o gnu_java_awt_peer_gtk_GtkWindowPeer.o gnu_java_awt_peer_gtk_GtkVolatileImage.o GtkDragSourceContextPeer.o gthread-jni.o gtk_jawt.o ../../../native/jni/classpath/native_state.o ../../../native/jni/classpath/jcl.o -L/gtk/2.0/bin/ -L/usr/X11R6/lib /usr/lib/libgtk-x11-2.0.dll.a -L/usr/lib /usr/lib/libgthread-2.0.dll.a /usr/lib/libgdk-x11-2.0.dll.a /usr/lib/libgdk_pixbuf-2.0.dll.a /usr/lib/libatk-1.0.dll.a /usr/lib/libpangoxft-1.0.dll.a -lXft -lz -lXrender -lXext -lfontconfig /usr/lib/libpangox-1.0.dll.a -lX11 -lm -lintl -liconv -lz /usr/lib/libpangoft2-1.0.dll.a -lfontconfig /usr/lib/libfreetype.dll.a -lz /usr/lib/libpango-1.0.dll.a -lm /usr/lib/libgobject-2.0.dll.a /usr/lib/libgmodule-2.0.dll.a /usr/lib/libglib-2.0.dll.a -lintl -liconv -lSM -lICE -lXrender -lXrandr -lX11 -lXtst -lcairo -Wl,-soname -Wl,libgtkpeer.dll.a -o .libs/libgtkpeer.dll.a Typing that produces _only_ an "information message" (no errors or warnings!), which is normal: Info: resolving _gdk_display by linking to __imp__gdk_display (auto-import) $ls -l /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libjava/classpath/native/jni/gtk-peer/.libs/libgtkpeer.dll.a -rwxr-xr-x 1 HP_Administrator None 1340108 May 12 19:31 libgtkpeer.dll.a So all the messing around worked, the file is created and correct. I can go on to make in the next directory. :^( --- The specific bug complaint is that the Makefile creates "libtool"'s which have a broken pipe and produce ZERO byte length impgen.c files. These (obviously) can not be compiled and cause an error for xgcc when it tries to compile them. That breaks the make. Simply copying a 'known good' impgen.c (or .exe), and "touch"ing it doesn't work since the Makefile insists on re-creating the impgen.c file (it's not checking the timestamp). Running the commands by hand is annoying but provides working libraries (".dll.a") and other files (".dll-def") that the Makefile needs to "see" in each directory so it can continue on to the next step. The gcc-4_2-branch "./configure"s and subsequent "Makefile"s are not creating a "libtool" that works well enough with the broken Makefile - so it is hard to know where to begin fixing. It would be great if (on the cygwin platform) we could avoid the "impgen"ing steps (Linux does not do it, it simply uses ".so" files). On Cygwin we could use ".dll" files instead of ".dll.a" files since GCC (and even xgcc) knows to pass them to the linker. We may not need the ".dll-def" files that impgen creates either. Someone came up with this scheme of doing things this way (and I can see it working) but it needs some maintenance. I imagine the ".a" files are needed with the export lists (the ".dll-def" files) so something, somewhere, can know what functions are available without having to use a seperate list for each gtk version. For some reason this scheme is NOT used on the i686-pc-linux-gnu target. I do have every language compiled and "make -i check" tested on the i686-pc-linux-gnu target and it is working reasonably well (very few errors). It had been some months since I upgraded my gtk (and since gcc-4_2-branch wants > 2.8) I decided to upgrade cygwin to the newest gtk 2.10.11 - and thus need to 'impgen it' again. Without this working better it is tough to get Java working on WinXP. Since the method used on the Cygwin target is very different from the method used on the Linux target it is tough to convert one way of doing things to the other way (and makes maintaining it tough - this is why it works on Linux and not on cygwin). It _could_ work on both platforms better and would be easier to maintain if we homogenized the make scheme to adopt one way of doing it and chose between ".so", ".dll" or ".a" based on whether we where building "static" or "shared" (and if testing if shared libraries were suffixed with ".so" or ".dll"). The GCC make scheme does NOT have this complexity in other areas, this bi-polar scheme is making me bi-polar :) -- Summary: Trouble with libtool and libjava/classpath/native/jni/gtk-peer/Makefile Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rob1weld at aol dot com GCC build triplet: i686-pc-cygwin GCC host triplet: i686-pc-cygwin GCC target triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31910