RVM
  1. RVM
  2. RVM-942

GNU Classpath does not build on x86-64_linux under Debian Squeeze anymore

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: hg tip
    • Fix Version/s: 3.1.4
    • Component/s: Infrastructure: Build
    • Labels:
      None
    • Environment:
      Linux version 2.6.32-5-amd64 (Debian 2.6.32-35squeeze2) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Fri Sep 9 20:23:16 UTC 2011
    • Number of attachments :
      0

      Description

      This problem affects the current Mercurial tip, but was introduced in revision f47765eca54f.

      Despite cp.libdirs being set to --libdir=/usr/lib32 --x-libraries=/usr/lib32 and despite package ia32-libs-gtk <http://packages.debian.org/squeeze/amd64/ia32-libs-gtk/filelist> being installed

      > ls /usr/lib32/libgtk-x11-2.0*
      /usr/lib32/libgtk-x11-2.0.so.0
      /usr/lib32/libgtk-x11-2.0.so.0.2000.1

      the build fails with the following error message:

      [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libgtk-x11-2.0.so when searching for -lgtk-x11-2.0
      [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libgtk-x11-2.0.a when searching for -lgtk-x11-2.0
      [exec] /usr/bin/ld: skipping incompatible /usr/lib/libgtk-x11-2.0.so when searching for -lgtk-x11-2.0
      [exec] /usr/bin/ld: skipping incompatible /usr/lib/libgtk-x11-2.0.a when searching for -lgtk-x11-2.0
      [exec] /usr/bin/ld: cannot find -lgtk-x11-2.0
      [exec] collect2: ld returned 1 exit status

        Activity

        Hide
        Andreas Sewe added a comment -

        This is related to RVM-432, only that now (as of revision f47765eca54) it actually fails the build.

        Show
        Andreas Sewe added a comment - This is related to RVM-432 , only that now (as of revision f47765eca54) it actually fails the build.
        Hide
        dafeng added a comment -

        export CFLAGS='-m32'
        export CXXFLAGS='-m32'
        export LDFLAGS='-m32'
        =====
        http://askubuntu.com/questions/85978/building-a-32-bit-app-in-64-bit-ubuntu
        =====
        also I've removed all *.la files from /usr/lib related with classpath compilation.

        Show
        dafeng added a comment - export CFLAGS='-m32' export CXXFLAGS='-m32' export LDFLAGS='-m32' ===== http://askubuntu.com/questions/85978/building-a-32-bit-app-in-64-bit-ubuntu ===== also I've removed all *.la files from /usr/lib related with classpath compilation.
        Hide
        Andreas Sewe added a comment -

        Thanks, Da Feng. Unfortunately, your suggestion doesn't help on my system:

             [exec] /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 -shared  .libs/gnu_java_awt_peer_gtk_CairoSurface.o .libs/gnu_java_awt_peer_gtk_CairoGraphics2D.o .libs/gnu_java_awt_peer_gtk_ComponentGraphics.o .libs/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.o .libs/gnu_java_awt_peer_gtk_FreetypeGlyphVector.o .libs/gnu_java_awt_peer_gtk_GdkFontPeer.o .libs/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.o .libs/gnu_java_awt_peer_gtk_GdkPixbufDecoder.o .libs/gnu_java_awt_peer_gtk_GdkRobotPeer.o .libs/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.o .libs/gnu_java_awt_peer_gtk_GtkButtonPeer.o .libs/gnu_java_awt_peer_gtk_GtkCanvasPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxPeer.o .libs/gnu_java_awt_peer_gtk_GtkChoicePeer.o .libs/gnu_java_awt_peer_gtk_GtkClipboard.o .libs/gnu_java_awt_peer_gtk_GtkComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkFileDialogPeer.o .libs/gnu_java_awt_peer_gtk_GtkFramePeer.o .libs/gnu_java_awt_peer_gtk_GtkGenericPeer.o .libs/gnu_java_awt_peer_gtk_GtkImage.o .libs/gnu_java_awt_peer_gtk_GtkLabelPeer.o .libs/gnu_java_awt_peer_gtk_GtkListPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuBarPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkPanelPeer.o .libs/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollbarPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollPanePeer.o .libs/gnu_java_awt_peer_gtk_GtkSelection.o .libs/gnu_java_awt_peer_gtk_GtkTextAreaPeer.o .libs/gnu_java_awt_peer_gtk_GtkTextFieldPeer.o .libs/gnu_java_awt_peer_gtk_GtkToolkit.o .libs/gnu_java_awt_peer_gtk_GtkWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkVolatileImage.o .libs/GtkDragSourceContextPeer.o .libs/gtk_jawt.o .libs/gtkpeer.o ../../../native/jni/classpath/.libs/jcl.o  -Wl,--rpath -Wl,/usr/lib32 -Wl,--rpath -Wl,/usr/lib32 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lcairo -lgio-2.0 -lgdk_pixbuf-2.0 -lm -lpangoft2-1.0 -lpango-1.0 /usr/lib32/libfreetype.so -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lSM -lICE -L/usr/lib32 -lXrender -lXrandr  -m32 -pthread -pthread -m32 -pthread -pthread -m32 -Wl,-soname -Wl,libgtkpeer.so -o .libs/libgtkpeer.so
             [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libgdk-x11-2.0.so when searching for -lgdk-x11-2.0
             [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libgdk-x11-2.0.a when searching for -lgdk-x11-2.0
             [exec] /usr/bin/ld: skipping incompatible /usr/lib/libgdk-x11-2.0.so when searching for -lgdk-x11-2.0
             [exec] /usr/bin/ld: skipping incompatible /usr/lib/libgdk-x11-2.0.a when searching for -lgdk-x11-2.0
             [exec] /usr/bin/ld: cannot find -lgdk-x11-2.0
             [exec] collect2: ld returned 1 exit status
        

        Are you on Debian or Ubuntu (since you referred to askubuntu.com)? While Ubuntu is Debian-based, it doesn't mean that the two share their bugs

        Show
        Andreas Sewe added a comment - Thanks, Da Feng. Unfortunately, your suggestion doesn't help on my system: [exec] /usr/bin/gcc -w -pipe -ggdb3 -O -fPIC -m32 -shared .libs/gnu_java_awt_peer_gtk_CairoSurface.o .libs/gnu_java_awt_peer_gtk_CairoGraphics2D.o .libs/gnu_java_awt_peer_gtk_ComponentGraphics.o .libs/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.o .libs/gnu_java_awt_peer_gtk_FreetypeGlyphVector.o .libs/gnu_java_awt_peer_gtk_GdkFontPeer.o .libs/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.o .libs/gnu_java_awt_peer_gtk_GdkPixbufDecoder.o .libs/gnu_java_awt_peer_gtk_GdkRobotPeer.o .libs/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.o .libs/gnu_java_awt_peer_gtk_GtkButtonPeer.o .libs/gnu_java_awt_peer_gtk_GtkCanvasPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxPeer.o .libs/gnu_java_awt_peer_gtk_GtkChoicePeer.o .libs/gnu_java_awt_peer_gtk_GtkClipboard.o .libs/gnu_java_awt_peer_gtk_GtkComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkFileDialogPeer.o .libs/gnu_java_awt_peer_gtk_GtkFramePeer.o .libs/gnu_java_awt_peer_gtk_GtkGenericPeer.o .libs/gnu_java_awt_peer_gtk_GtkImage.o .libs/gnu_java_awt_peer_gtk_GtkLabelPeer.o .libs/gnu_java_awt_peer_gtk_GtkListPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuBarPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkPanelPeer.o .libs/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollbarPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollPanePeer.o .libs/gnu_java_awt_peer_gtk_GtkSelection.o .libs/gnu_java_awt_peer_gtk_GtkTextAreaPeer.o .libs/gnu_java_awt_peer_gtk_GtkTextFieldPeer.o .libs/gnu_java_awt_peer_gtk_GtkToolkit.o .libs/gnu_java_awt_peer_gtk_GtkWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkVolatileImage.o .libs/GtkDragSourceContextPeer.o .libs/gtk_jawt.o .libs/gtkpeer.o ../../../native/jni/classpath/.libs/jcl.o -Wl,--rpath -Wl,/usr/lib32 -Wl,--rpath -Wl,/usr/lib32 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lcairo -lgio-2.0 -lgdk_pixbuf-2.0 -lm -lpangoft2-1.0 -lpango-1.0 /usr/lib32/libfreetype.so -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lSM -lICE -L/usr/lib32 -lXrender -lXrandr -m32 -pthread -pthread -m32 -pthread -pthread -m32 -Wl,-soname -Wl,libgtkpeer.so -o .libs/libgtkpeer.so [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libgdk-x11-2.0.so when searching for -lgdk-x11-2.0 [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libgdk-x11-2.0.a when searching for -lgdk-x11-2.0 [exec] /usr/bin/ld: skipping incompatible /usr/lib/libgdk-x11-2.0.so when searching for -lgdk-x11-2.0 [exec] /usr/bin/ld: skipping incompatible /usr/lib/libgdk-x11-2.0.a when searching for -lgdk-x11-2.0 [exec] /usr/bin/ld: cannot find -lgdk-x11-2.0 [exec] collect2: ld returned 1 exit status Are you on Debian or Ubuntu (since you referred to askubuntu.com)? While Ubuntu is Debian-based, it doesn't mean that the two share their bugs
        Hide
        dafeng added a comment - - edited

        I ran then following command under directory:classpath/native/jni/gtk-peer/ and append -Wl,-verbose to the command.
        I created several symlinks for the missing .so files. Except libglib-2.0.so is located under /lib32, all other missing files like libpangocairo-1.0.so are located under /usr/lib32. Then all compiles successfully.

        =====
        /usr/bin/gcc -shared .libs/gnu_java_awt_peer_gtk_CairoSurface.o .libs/gnu_java_awt_peer_gtk_CairoGraphics2D.o .libs/gnu_java_awt_peer_gtk_ComponentGraphics.o .libs/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.o .libs/gnu_java_awt_peer_gtk_FreetypeGlyphVector.o .libs/gnu_java_awt_peer_gtk_GdkFontPeer.o .libs/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.o .libs/gnu_java_awt_peer_gtk_GdkPixbufDecoder.o .libs/gnu_java_awt_peer_gtk_GdkRobotPeer.o .libs/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.o .libs/gnu_java_awt_peer_gtk_GtkButtonPeer.o .libs/gnu_java_awt_peer_gtk_GtkCanvasPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxPeer.o .libs/gnu_java_awt_peer_gtk_GtkChoicePeer.o .libs/gnu_java_awt_peer_gtk_GtkClipboard.o .libs/gnu_java_awt_peer_gtk_GtkComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkFileDialogPeer.o .libs/gnu_java_awt_peer_gtk_GtkFramePeer.o .libs/gnu_java_awt_peer_gtk_GtkGenericPeer.o .libs/gnu_java_awt_peer_gtk_GtkImage.o .libs/gnu_java_awt_peer_gtk_GtkLabelPeer.o .libs/gnu_java_awt_peer_gtk_GtkListPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuBarPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkPanelPeer.o .libs/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollbarPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollPanePeer.o .libs/gnu_java_awt_peer_gtk_GtkSelection.o .libs/gnu_java_awt_peer_gtk_GtkTextAreaPeer.o .libs/gnu_java_awt_peer_gtk_GtkTextFieldPeer.o .libs/gnu_java_awt_peer_gtk_GtkToolkit.o .libs/gnu_java_awt_peer_gtk_GtkWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkVolatileImage.o .libs/GtkDragSourceContextPeer.o .libs/gtk_jawt.o .libs/gtkpeer.o ../../../native/jni/classpath/.libs/jcl.o -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lcairo -lgio-2.0 -lgdk_pixbuf-2.0 -lm -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -L/usr/lib32 -pthread -pthread -m32 -pthread -pthread -m32 -Wl,-soname -Wl,libgtkpeer.so -o .libs/libgtkpeer.so

        Show
        dafeng added a comment - - edited I ran then following command under directory:classpath/native/jni/gtk-peer/ and append -Wl,-verbose to the command. I created several symlinks for the missing .so files. Except libglib-2.0.so is located under /lib32, all other missing files like libpangocairo-1.0.so are located under /usr/lib32. Then all compiles successfully. ===== /usr/bin/gcc -shared .libs/gnu_java_awt_peer_gtk_CairoSurface.o .libs/gnu_java_awt_peer_gtk_CairoGraphics2D.o .libs/gnu_java_awt_peer_gtk_ComponentGraphics.o .libs/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.o .libs/gnu_java_awt_peer_gtk_FreetypeGlyphVector.o .libs/gnu_java_awt_peer_gtk_GdkFontPeer.o .libs/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.o .libs/gnu_java_awt_peer_gtk_GdkPixbufDecoder.o .libs/gnu_java_awt_peer_gtk_GdkRobotPeer.o .libs/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.o .libs/gnu_java_awt_peer_gtk_GtkButtonPeer.o .libs/gnu_java_awt_peer_gtk_GtkCanvasPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkCheckboxPeer.o .libs/gnu_java_awt_peer_gtk_GtkChoicePeer.o .libs/gnu_java_awt_peer_gtk_GtkClipboard.o .libs/gnu_java_awt_peer_gtk_GtkComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkFileDialogPeer.o .libs/gnu_java_awt_peer_gtk_GtkFramePeer.o .libs/gnu_java_awt_peer_gtk_GtkGenericPeer.o .libs/gnu_java_awt_peer_gtk_GtkImage.o .libs/gnu_java_awt_peer_gtk_GtkLabelPeer.o .libs/gnu_java_awt_peer_gtk_GtkListPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuBarPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuItemPeer.o .libs/gnu_java_awt_peer_gtk_GtkMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkPanelPeer.o .libs/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollbarPeer.o .libs/gnu_java_awt_peer_gtk_GtkScrollPanePeer.o .libs/gnu_java_awt_peer_gtk_GtkSelection.o .libs/gnu_java_awt_peer_gtk_GtkTextAreaPeer.o .libs/gnu_java_awt_peer_gtk_GtkTextFieldPeer.o .libs/gnu_java_awt_peer_gtk_GtkToolkit.o .libs/gnu_java_awt_peer_gtk_GtkWindowPeer.o .libs/gnu_java_awt_peer_gtk_GtkVolatileImage.o .libs/GtkDragSourceContextPeer.o .libs/gtk_jawt.o .libs/gtkpeer.o ../../../native/jni/classpath/.libs/jcl.o -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangocairo-1.0 -lcairo -lgio-2.0 -lgdk_pixbuf-2.0 -lm -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -L/usr/lib32 -pthread -pthread -m32 -pthread -pthread -m32 -Wl,-soname -Wl,libgtkpeer.so -o .libs/libgtkpeer.so
        Hide
        Erik Brangs added a comment -

        I cannot reproduce this issue on a freshly installed Debian Squeeze (2.6.32-5-amd64, x86_64 GNU/Linux, gcc 4.4.5, standard install with gnome) in a VM.

        On my system, the packages mercurial, ant, openjdk-6, bison, g++, gcc-multilib and g++-multilib were sufficient to build Jikes RVM with a x86_64-linux configuration. I did not need any ia32* packages.

        Show
        Erik Brangs added a comment - I cannot reproduce this issue on a freshly installed Debian Squeeze (2.6.32-5-amd64, x86_64 GNU/Linux, gcc 4.4.5, standard install with gnome) in a VM. On my system, the packages mercurial , ant , openjdk-6 , bison , g++ , gcc-multilib and g++-multilib were sufficient to build Jikes RVM with a x86_64-linux configuration. I did not need any ia32* packages.
        Hide
        David Grove added a comment -

        bulk defer to 3.1.4

        Show
        David Grove added a comment - bulk defer to 3.1.4

          People

          • Assignee:
            Unassigned
            Reporter:
            Andreas Sewe
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated: