Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#6 Unable to compile under Ubuntu 8.04

CoreLib (3)
Maurizio Tomasi

After a fresh install of the `fpc' metapackage under Ubuntu 8.10 (and NO lazarus installed), the compilation of the fpGui source (through the src/build.sh script) produces the following compilation error:

Compiling Release Version
Compiling Release Version
Compiling X11 CoreLib
Free Pascal Compiler version 2.2.0 [2008/04/01] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Linux for i386
Compiling gui/fpgui_package.pas
Compiling gui/gui_dialogs.pas
Compiling gui/gui_grid.pas
gfx_utils.pas(228,4) Fatal: Can't find unit libc used by gui_grid
Fatal: Compilation aborted


  • Logged In: YES
    Originator: NO

    Have you got the linux-libc-dev package installed in Ubuntu?

    • assigned_to: nobody --> graemeg
  • Logged In: YES
    Originator: YES

    Yes, the linux-libc-dev package is already installed:

    tomasi@tomasi-laptop:~$ dpkg -s linux-libc-dev
    Package: linux-libc-dev
    Status: install ok installed
    Priority: optional
    Section: devel
    Installed-Size: 3636
    Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
    Architecture: i386
    Source: linux
    Version: 2.6.24-19.36
    Replaces: dvb-dev (<< 1.0.1-6), libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), linux-kernel-headers
    Provides: linux-kernel-headers
    Conflicts: amd64-libs-dev (<= 1.1), dvb-dev (<< 1.0.1-6), libc6-dev (<< 2.3.2.ds1-6), libc6.1-dev (<< 2.3.2.ds1-6), linux-kernel-headers
    Description: Linux Kernel Headers for development
    This package provides headers from the Linux kernel. These headers
    are used by the installed headers for GNU glibc and other system

    By the way, why is this package important for fpGui? It seems to contain only C headers.

    • status: open --> open-works-for-me
  • Logged In: YES
    Originator: NO

    I still can't reproduce this issue. I tried two different PC's using FPC 2.2.0, 2.2.3 and 2.3.1.

    libc is not a requirement in gui_grid.pas or fpGUI in a whole. It is simply used (for visual effect) to get the Group and User names for files in the File Open/Save dialogs. FreeBSD/DesktopBSD etc don't have libc, yet is still a supported fpGUI platform. In the *BSD cases, the File Open/Save dialog simply displays the Group and User numbers, instead of names.

  • Logged In: YES
    Originator: YES

    I have found the problem. To install FPC under Debian/Ubuntu I selected the fpc.deb metapackage, which depends on a number of sub-packages containing the compiler, the units and so on. The `libc' unit provided by FPC is included in the fp-units-i386.deb package, which is however marked as "deprecated" by the Ubuntu package manager and is therefore *not* installed by default by fpc.deb.

    Perhaps it could be useful to add a note in the fpGui readme thathe following command will set up FPC under Ubuntu in order to be used with fpGui:

    sudo apt-get install fpc fp-units-i386

  • Logged In: YES
    Originator: NO

    Thanks for that, I'll add that information into the fpGUI readme file. I've actually never installed FPC other than from source, so using pre-made packages is unknown to me. :)

    • status: open-works-for-me --> closed-fixed