undefined reference to `gtk_file_folder_get_t

Help
2008-10-06
2013-04-24
  • Hi, I have some troubles compiling from git, this is the error

    Linking tuxcmd
    /usr/lib/fpc/2.2.0/units/x86_64-linux/gtk2/gtk2.o: In function `GTK2_GTK_FILE_SYSTEM_ERROR$$LONGWORD':
    gtk2.pas:(.text+0x1059d): undefined reference to `gtk_file_system_error_quark'
    /usr/lib/fpc/2.2.0/units/x86_64-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_INFO$$QWORD':
    gtk2.pas:(.text+0x105b5): undefined reference to `gtk_file_info_get_type'
    /usr/lib/fpc/2.2.0/units/x86_64-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_SYSTEM$$QWORD':
    gtk2.pas:(.text+0x105cd): undefined reference to `gtk_file_system_get_type'
    /usr/lib/fpc/2.2.0/units/x86_64-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_FOLDER$$QWORD':
    gtk2.pas:(.text+0x10665): undefined reference to `gtk_file_folder_get_type'
    tuxcmd.dpr(92,1) Error: Error while linking
    tuxcmd.dpr(92,1) Fatal: There were 1 errors compiling module, stopping

    freepascal version is 2.2.0 , gtk+-2.14.3, glib is 2.18.1

    This is on gentoo, I just modified ebuild for git and changed gnome-vfs to gvfs...

     
    • Tomas Bzatek
      Tomas Bzatek
      2008-10-07

      The undefined reference messages should have gone away when we turned smartlinking on. Please check the Makefile and look for the compiler switches, the -XX switch should be present. Alternatively, you might want to play with the FPC linking options, such as -Xe and -Xi.

      Proper compiler messages should look like:

      fpc -Mdelphi -vweh -Un -Ci -Co -XX "-k-z noexecstack" \             -Fu./libgtk_kylix -Fu./translations -Fu./vfs \             tuxcmd.dpr
      Hint: Start of reading config file /etc/fpc.cfg
      Hint: End of reading config file /etc/fpc.cfg
      Free Pascal Compiler version 2.2.2 [2008/10/04] for x86_64
      Copyright (c) 1993-2008 by Florian Klaempfl
      Target OS: Linux for x86-64
      Compiling tuxcmd.dpr
      ........
      tuxcmd.dpr(70,37) Hint: Unit "USetPassword" not used in tuxcmd
      Linking tuxcmd
      54862 lines compiled, 5.8 sec
      46 warning(s) issued
      871 hint(s) issued
      10 note(s) issued

      Anyway, could you please confirm the 0.6.50 ebuild (from source, not tuxcmd-bin) emerges fine?

       
    • Ok, now it builds, but with fpc-2.2.2 (now in portage).  I also tried 0.6.50 ebuild and it compiles but with 2.2.2. I didn't try with fpc-2.2.0.
      Maybe add >=dev-lang/fpc-2.2.0 to ebuild just to be safe but then again ebuild will be for ~x86.  I will try to downgrade when I have time. Also to note that I am on amd64.  And just to say that this is the best commander for Linux, thank you for that. I tried many and always found myself returned to mc. But now I have hope :) I think I miss only configurable shortcuts but I saw they are high pririty.

       
      • Tomas Bzatek
        Tomas Bzatek
        2008-10-19

        OK, I've been able to reproduce the issue. This is reproducible only with >=x11-libs/gtk+-2.14.0, the previous series seems to have those missing symbols compiled-in.

        Apparently, the smartlinking option in fpc didn't help. As this issue comes from gtk2 fpc package sources, I cannot fix that from tuxcmd sources.

        There's a dev-lang/fpc-2.2.0-r1 ebuild which fixes the issue, same patch is applied to 2.2.2 ebuild. Luckily Fedora fpc packages are fine too.