C-Script (cgi) - lässt sich auf 64bit maschine nicht mehr compilieren

Bash, Shell, PHP, Python, Perl, CGI
kolibri
Posts: 32
Joined: 2006-09-06 17:08

C-Script (cgi) - lässt sich auf 64bit maschine nicht mehr compilieren

Post by kolibri »

Hallo zusammen..

ich habe auf einem 32 bit-system ein script kompiliert, es läuft bereits seit einem jahr fehlerfrei.. bei portierung auf einen opteron-server wird nun ein compilerlauf mit folgenden ausgaben quittiert:
text2.c: In function âmainâ:
text2.c:52: warning: incompatible implicit declaration of built-in function âstrlenâ
/usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_compress_alloc':
: undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_uncompress':
: undefined reference to `uncompress'
/usr/lib/mysql/libmysqlclient.a(libtaocrypt_la-dh.o): In function `TaoCrypt::(anonymous namespace)::DiscreteLogWorkFactor(unsigned int)':
: undefined reference to `pow'
/usr/lib/mysql/libmysqlclient.a(libtaocrypt_la-dh.o): In function `TaoCrypt::(anonymous namespace)::DiscreteLogWorkFactor(unsigned int)':
: undefined reference to `log'
/usr/lib/mysql/libmysqlclient.a(libtaocrypt_la-dh.o): In function `TaoCrypt::(anonymous namespace)::DiscreteLogWorkFactor(unsigned int)':
: undefined reference to `pow'
collect2: ld returned 1 exit status

folgende header sind im programm:
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <strings.h>
compiliert wird das ganze mit GCC 4.0.2 und folgender befehlszeile:
gcc -o text2.cgi text2.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient
kann mir jemand sagen, was ich falsch mache??? :(
bin leider nicht ganz so firm in sachen C

grüssles
kolibri
spasswolf
Posts: 27
Joined: 2006-06-09 11:00

Re: C-Script (cgi) - lässt sich auf 64bit maschine nicht mehr compilieren

Post by spasswolf »

Da muss wohl noch 'ne lib verlinkt werden, probier mal die mathlib aus:

Code: Select all

gcc -o text2.cgi text2.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lm
PS. Heisst der String-Header nicht string.h?
kolibri
Posts: 32
Joined: 2006-09-06 17:08

Re: C-Script (cgi) - lässt sich auf 64bit maschine nicht mehr compilieren

Post by kolibri »

Spasswolf wrote:Da muss wohl noch 'ne lib verlinkt werden, probier mal die mathlib aus:

Code: Select all

gcc -o text2.cgi text2.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lm
PS. Heisst der String-Header nicht string.h?
danke!
die mathlib schien auch einfluss zu haben!
strings.h wurde auf dem alten system anstandslos compiliert, aber hier nicht mehr.. nach änderung ist nun einiges an fehlern raus... aber nun kommt folgendes....
/usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_compress_alloc':
: undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_uncompress':
: undefined reference to `uncompress'
collect2: ld returned 1 exit status
was das nun wieder?? :( ich krieg noch die krise mit dem system..


grüssle
kolibri
spasswolf
Posts: 27
Joined: 2006-06-09 11:00

Re: C-Script (cgi) - lässt sich auf 64bit maschine nicht mehr compilieren

Post by spasswolf »

Ich glaube, da fehlt noch die zlib:

Code: Select all

-lz
kolibri
Posts: 32
Joined: 2006-09-06 17:08

Re: C-Script (cgi) - lässt sich auf 64bit maschine nicht mehr compilieren

Post by kolibri »

Spasswolf wrote:Ich glaube, da fehlt noch die zlib:

Code: Select all

-lz
super!!
funktioniert.. mensch.. wo krieg ich solche informationen her? ich meine was fehlt und was nicht?? wie komme ich an diese compilerflags? stehe davor wie ein ochs vorm berg :((

grüssle