Avatar billede multicoder Nybegynder
09. april 2004 - 13:52 Der er 7 kommentarer

Fejl under installation af proftpd 1.2.9

Hej

Jeg har lidt problemer med og installere proftpd 1.2.9 på min server.

Første trin går okay
./configure --with-modules=mod_sql:mod_sql_mysql -with-libraries=/var/lib/mysql

men når jeg kommer til make, så kommer der en fejl.

gcc  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_sql.c
gcc  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_sql_mysql.c
mod_sql_mysql.c:137: mysql.h: No such file or directory
make[1]: *** [mod_sql_mysql.o] Error 1
make[1]: Leaving directory `/home/user/proftpd-1.2.9/modules'
make: *** [modules] Error 2


Jeg er lidt grøn i det her, men håber der er info nok.

pft.
Avatar billede strych9 Praktikant
09. april 2004 - 16:31 #1
Umiddelbart ser det ud som om du mangler nogle dependencies. Har du mod_sql installeret?
Muligvis bliver du nødt til at åbne mod_sql_mysql.c og kigge på linje 137 hvor mysql.h tilsyneladende skal bruges.
Har du overhovedet en mysql.h på systemet? Installer slocate pakken på systemet og skriv updatedb (tager noget tid), og dernæst locate mysql.h
Avatar billede multicoder Nybegynder
09. april 2004 - 23:32 #2
Hej

Jeg har set lidt på mod_sql_mysql.c på linje 137, der står #include <mysql.h>
Jeg har også søgt efter mysql.h den er overraskende nok ikke på systemet.

På serveren er der installeret en MySQL server version 3.23.49-log som virker uden problemer.

Jeg er ikke 100 på hvordan jeg skal installere mod_sql.
Det kan godt være at jeg spørger lidt dumt nu, men er mysql.h en del af proftpd eller hvordan ligge det.
Avatar billede strych9 Praktikant
10. april 2004 - 01:00 #3
Der er ingen dumme spørgsmål.. Hvis du gerne vil forstå det så skal jeg gerne forklare det.

Filer som slutter på .h er det der hedder header filer i C eller C++. Proftpd kan linke til og gøre brug af mysql APIen, og derfor inkluderer den noget af source koden til mysql API når den skal compiles. Dette er meget normalt i Linux.
De filer og libraries som proftpd gerne vil medtage kaldes includes, og de placeres hyppigst i /usr/include, hvorefter tilføjelsen af linjen #include mysql.h får C++ preprocessoren til at finde og indsætte indholdet af mysql.h direkte i mod_sql_mysql.c. Compileren vil dernæst opfatte det som om at den skal compile mod_sql_mysql.c og mysql.h som et sammenhængende hele.
Desværre er det sådan at disse include filer somme tider skifter navn, feks mellem store versionsspring fra mysql 3.x til 4.x. Problemet kan også være at mysql.h ligger i /usr/include/mysql/mysql.h hvilket betyder at linje 137 skal ændres til #include mysql/mysql.h

En løsning? Tjah, hvis du vitterligt ikke har mysql.h på systemet så er det jo svært. Måske er der en pakke med mysql header eller dev filer separat. Måske er du tvunget til at opgradere til mysql 4.
Du kan også forsøge med ./configure --help og muligvis er der en configure option som gør det muligt helt at ignorere mysql, hvorefter du selvfølgelig ikke kan bruge disse funktioner i proftpd, men hvis du ikke skal det så er det nok det nemmeste.
Avatar billede segmose Nybegynder
12. april 2004 - 00:54 #4
#include <mysql/mysql.h>

vel?
Avatar billede strych9 Praktikant
12. april 2004 - 00:56 #5
jow.. det var en lapsus
Avatar billede multicoder Nybegynder
15. april 2004 - 13:48 #6
Hej strych9 og tak for hjælpen

Jeg har fået det hele til og virke nu.
Det der skulle til var en opgradering af mysql til version 4, herefter fik jeg den mysql.h fil som jeg skulle bruge.

Du må gerne lige smide et svar.
Avatar billede strych9 Praktikant
15. april 2004 - 14:53 #7
Godt at det lykkedes :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Nextway Software A/S

Product Configuration Specialist

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-Supporter til Svanemøllen

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation