[Linux-Biella] Problema compilazione

Claudio M. cmaffio a bilug.linux.it
Gio 17 Maggio 2007 11:35:11 CEST


Ciao
Ho un programma scritto in c++ da compilare per gestire un apparato, il 
produttore ha fornito le librerie e un file di esempio
Come prima cosa ho voluto compilare questa demo per vedere come funziona 
per poi apportare le modifiche che mi servono

Il file di "compilazione non e' un normale Makefile ma un semplice file sh
#!/bin/sh
g++ -Wall -g -c -o demo.o -x c++ demo.cpp
g++ -o demo demo.o libggs.a -lpthread

Quando lo eseguo ottengo il seguente output
libggs.a(ggs.o): In function `saveBoxConfig()':
ggs.cpp:(.text+0x2e32): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `Shutdown()':
ggs.cpp:(.text+0x3d10): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `boxLoggerSettingConfirm(char const*)':
ggs.cpp:(.text+0x55a2): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `boxGPIOSettingConfirm(char const*, char)':
ggs.cpp:(.text+0xbc76): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `setBoxGpioSmsNum(char const*, char, char 
const*, char const*, char const*)':
ggs.cpp:(.text+0xc3f3): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o):ggs.cpp:(.text+0xca1f): more undefined references to 
`__stack_chk_fail' follow
collect2: ld returned 1 exit status

Guardando su goggle ho trovato che gcc ha abilitato un flag di 
protezione dello stack e che per disabilitarlo bisogna aggiungere nei 
CFLAG -fno-stack-protector e quindi ho modificato il file con i comandi 
di compilazione aggiungendo il comando indicato ma non e' cambiato nulla

La compilazione l'ho provata su una debian con gcc 4.1 e su una opensuse 
con gcc 4.1

Qualcuno sa darmi una mano?

Bye

-- 
Contatto msn: msn a cmaffio.it

L'utilizzo di tastiere o di mouse 
puo' causare seri infortuni o disturbi" 
(dal manuale della "MS Keyboard Elite for Bluetooth")



Maggiori informazioni sulla lista Linux