Skip to content

Windows example of Hello World doesn't work on Linux #8

@PSLLSP

Description

@PSLLSP

Windows example of Hello World uses GTK library and that example doesn't work on Linux (Debian, Mint)... :-(

$ cat hello-win.pike 
int main()
{
  GTK.setup_gtk();
  GTK.Alert("Hello world!");
  return -1;
}
$ pike hello-win.pike 
hello-Win.pike:5:Undefined identifier GTK.
hello-Win.pike:6:Undefined identifier GTK.
hello-Win.pike:5:Attempt to call a non function value `() (function call).
hello-Win.pike:5:Expected: function.
hello-Win.pike:5:Got     : zero.
hello-Win.pike:6:Too many arguments to `() (function call) (expected 0 arguments).
hello-Win.pike:6:Got     : string(32..119).
Pike: Failed to compile script.

Debian 13 (Trixie), pike has no module that supports gtk

$ apt-cache search ^pike
pike8.0 - Recommended metapackage for Pike 8.0
pike8.0-bzip2 - Bzip2 module for Pike
pike8.0-core - Powerful interpreted programming language
pike8.0-dev - Development files for Pike 8.0
pike8.0-dnssd - DNS Service Discovery (DNS-SD) for Pike
pike8.0-doc - Pike 8.0 documentation
pike8.0-full - Metapackage for Pike 8.0
pike8.0-fuse - Filesystem in USErspace support for Pike
pike8.0-gdbm - Gdbm module for Pike
pike8.0-gl - Mesa modules for Pike
pike8.0-image - Image modules for Pike
pike8.0-kerberos - Kerberos and GSSAPI modules for Pike
pike8.0-mysql - MySQL modules for Pike
pike8.0-odbc - ODBC modules for Pike
pike8.0-pg - PostgreSQL modules for Pike
pike8.0-sane - SANE module for Pike
pike8.0-sdl - SDL module for Pike
pike8.0-sqlite - SQLite module for Pike
pike8.0-svg - SVG format support for Pike
pike8.0-web-sass - Sass CSS precompiler modules for Pike

GTK library is not linked in the pike interpreter:

$ ldd /usr/bin/pike8.0 
	linux-gate.so.1 (0xb7f85000)
	libgmp.so.10 => /lib/i386-linux-gnu/libgmp.so.10 (0xb7c24000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7b07000)
	libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb7ac6000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7888000)
	/lib/ld-linux.so.2 (0xb7f87000)
$ pike -v
Pike v8.0 release 1956 Copyright © 1994-2025 Linköping University
Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are
welcome to redistribute it under certain conditions; read the files
COPYING and COPYRIGHT in the Pike distribution for more details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions