Tente isso, acho que as bibliotecas precisam ir atrás de "hello_glib.c":
gcc -Wall -o hello_glib hello_glib.c $(pkg-config --cflags --libs glib-2.0)
./hello_glib
Não me pergunte por que, eu não sei, mas a ordem parece ser necessária, foi usada em um patch recente (não relacionado): link
Você também teve outro erro:
test.c: Na função "main": test.c: 6: 6: warning: o formato "% s" espera argumento do tipo 'char *', mas o argumento 2 tem tipo 'gpointer' [-Wformat]
Não sou especialista em C, mas acho que você deve converter os dados da lista em uma string de caracteres:
#include <stdio.h>
#include <glib.h>
int main(int argc, char** argv) {
GList* list = NULL;
list = g_list_append(list, "Hello world!");
char* str = g_list_first(list)->data;
printf("The first item is '%s'\n", str);
return 0;
}
Boas festas. :)