Probleme de compilation avec GNAT

Probleme de compilation avec GNAT - Ada - Programmation

Marsh Posté le 29-08-2006 à 14:01:57    

Bonjour a tous,
 
J'essaie de compiler un programme qui utilise AWS avec GNAT PRO 5.01a mais j'ai un probleme de lien. Voici les messages d'erreur:
 
gcc -c -Ic:\projects\AWS\lib -Ic:\projects\AWS\include -Ic:\projects\AWS\components -Ic:\projects\AWS\components -Ic:\projects\AWS\include awsuls.adb
a-stream.ads:69:04: run-time configuration error
gnatmake: "awsuls.adb" compilation error
gnatbind -aO./ -Ic:\AWS\lib -Ic:\AWS\include -Ic:\AWS\components -Ic:\AWS\components -Ic:\AWS\include -I- -x awsuls.ali
gnatlink awsuls.ali -Lc:\AWS\lib -laws
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socthi.o)(.text+0x83d):g-socthi.adb: undefined reference to `WSASetLastError@4'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x11f2):g-socket.adb: undefined reference to `ioctlsocket@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x12dd):g-socket.adb: undefined reference to `getsockname@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1618):g-socket.adb: undefined reference to `gethostbyaddr@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x174e):g-socket.adb: undefined reference to `gethostbyname@4'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x184d):g-socket.adb: undefined reference to `getpeername@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1989):g-socket.adb: undefined reference to `getservbyname@8'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1a76):g-socket.adb: undefined reference to `getservbyport@8'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1b80):g-socket.adb: undefined reference to `getsockname@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1d7d):g-socket.adb: undefined reference to `getsockopt@20'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x202e):g-socket.adb: undefined reference to `gethostname@8'
gnatmake: *** link failed.
 
Quelqu'un a deja eu ce genre de probleme?

Reply

Marsh Posté le 29-08-2006 à 14:01:57   

Reply

Marsh Posté le 29-08-2006 à 17:05:03    

apparemment t'as un problème dès la compilation (gcc), essaye de voir à quoi correspond ce "run-time configuration error "
 
Vu que t'as une erreur après gcc, tu ne peux pas linker donc pas la peine d'aller plus loin.

Reply

Marsh Posté le 30-08-2006 à 08:41:01    

apprentitux a écrit :

apparemment t'as un problème dès la compilation (gcc), essaye de voir à quoi correspond ce "run-time configuration error "
 
Vu que t'as une erreur après gcc, tu ne peux pas linker donc pas la peine d'aller plus loin.


 
Desole j'ai mal copie ma sortie. J'ai pas les deux premieres lignes. Voici exactement ce que j'obtiens :
 
 
gnatbind -aO./ -Ic:\AWS\lib -Ic:\AWS\include -Ic:\AWS\components -I- -x awsuls.ali
gnatlink awsuls.ali -Lc:\AWS\lib -Lc:\AWS\components -Lc:\AWS\include -laws
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socthi.o)(.text+0x83d):g-socthi.adb: undefined reference to `WSASetLastError@4'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x11f2):g-socket.adb: undefined reference to `ioctlsocket@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x12dd):g-socket.adb: undefined reference to `getsockname@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1618):g-socket.adb: undefined reference to `gethostbyaddr@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x174e):g-socket.adb: undefined reference to `gethostbyname@4'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x184d):g-socket.adb: undefined reference to `getpeername@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1989):g-socket.adb: undefined reference to `getservbyname@8'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1a76):g-socket.adb: undefined reference to `getservbyport@8'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1b80):g-socket.adb: undefined reference to `getsockname@12'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x1d7d):g-socket.adb: undefined reference to `getsockopt@20'
C:\GNATPRO\5.01a\lib\gcc-lib\pentium-mingw32msv\3.2.3\adalib\libgnat.a(g-socket.o)(.text+0x202e):g-socket.adb: undefined reference to `gethostname@8'
gnatmake: *** link failed.
 

Reply

Marsh Posté le 30-08-2006 à 13:15:45    

Visiblement, il ne trouve pas le package gnat.sockets. C'est étonnant parce qu'il est livré en standard. D'ou une question, es tu sure que ton installation de gnat est correcte.

Reply

Marsh Posté le 30-08-2006 à 13:30:33    

[quotemsg=14336

Reply

Marsh Posté le 30-08-2006 à 13:34:43    

[quotemsg=143365

Reply

Marsh Posté le 30-08-2006 à 13:50:36    

[quotemsg=1433656,4,166511

Reply

Marsh Posté le 30-08-2006 à 13:55:07    

[quotemsg=1433656,4,1665

Reply

Marsh Posté le 01-09-2006 à 10:11:06    

Bon j'ai avance un petit peu sur mon probleme. Les fonctions qu'il mentionne sont celles decrites dans une dll. J'ai trouve cette dll et le probleme est le suivant je pense : le nom des fonctions de cette dll ne sont pas suivis du @ et du nombre d'octets pour les parametres. D'apres ce que 'ai pu comprendre il s'agit d'un probleme de convention d'appel mais je ne connait pas grand chose la dessus.
J'ai essaye de modifie le nom des fonctions dans le fichier .def que j'ai genere avec l'outil dlltodef mais ca ne change rien. Apres un dumpbin le nom de mes fonctions restent les memes (sans le @n).
Comment est-ce que je peux faire pour modifier ces noms? Quelqu'un a deja eu a faire ce genre de choses?

Reply

Marsh Posté le 01-09-2006 à 14:48:12    

Personne ne peut m'aider??
 
J'ai genere une librairie .lib et .a a partir de ma dll et qund je fais un dumpbin j'ai bien le @n pour les procedures appelees mais j'ai un underscore devant chacune. Vu que le link ne marche toujours pas je suppose que c'est a cause de ces underscores...
 
Quelqu'un sait comment les enlever? Je n'arrive vraiment pas a trouver de la doc la dessus

Reply

Marsh Posté le 01-09-2006 à 14:48:12   

Reply

Marsh Posté le 01-09-2006 à 17:17:48    

Désolé de pas pouvoir t'aider, mais ça sort un peu du langage là ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed