Undefined reference sur programme très simple

Une fois que j'ai installé Ubuntu 11.10, étrange message d'erreur s'affiche. Je veux utiliser GD avec mon programme en C, j'ai donc installé le paquet "libgd2-xpm-dev". Tout a été installé - fichiers gd.h et libgd.un sont dans "/usr/include" et dans "/usr/lib". Donc, j'ai essayé de compiler programme simple avec GD.

#include <stdio.h>
#include <gd.h>

int main()
{
        gdImagePtr im, im_clear;
        int black, white;
        FILE *out1;

        im = gdImageCreate(100, 100);
        im_clear = gdImageCreate(100, 100);

        white = gdImageColorAllocate(im, 255, 255, 255);
        black = gdImageColorAllocate(im, 0, 0, 0);
        return 0;
}

$ gcc -lgd gd.c
/tmp/cc6LReuX.o: In function `main':
gd2.c:(.text+0x19): undefined reference to `gdImageCreate'
gd2.c:(.text+0x31): undefined reference to `gdImageCreate'
gd2.c:(.text+0x59): undefined reference to `gdImageColorAllocate'
gd2.c:(.text+0x81): undefined reference to `gdImageColorAllocate'

Attendez, quoi? Ok, nous allons vérifier quelque chose.

# Let's sure the lib was found.
$ gcc -lgd_something gd.c
/usr/bin/ld: cannot find -lgd_something

# Lets sure we made no mistake with the symbol's name
$ nm /usr/lib/libgd.a
...
00000dc0 T gdImageColorAllocate
...
000003b0 T gdImageCreate

# So, everything should be ok
$ gcc -lgd gd.c
/tmp/cc6LReuX.o: In function `main':
gd2.c:(.text+0x19): undefined reference to `gdImageCreate'
gd2.c:(.text+0x31): undefined reference to `gdImageCreate'
gd2.c:(.text+0x59): undefined reference to `gdImageColorAllocate'
gd2.c:(.text+0x81): undefined reference to `gdImageColorAllocate'

$ echo $LD_LIBRARY_PATH
# Nothing

Et je ne sais pas ce que je vais faire. Est-ce une erreur de gcc ou je fais quelque chose de mal. Sur mon ancien os (Ubuntu 10.04), tout fonctionne bien.
Quel fichier dois-je montrer pour vous?

OriginalL'auteur lanus | 2011-12-07