linkovani programu s knihovnou libdl.so.1 (interbase 4.0)

Pavel West pavel.west na ask.cz
Úterý Leden 18 18:45:13 CET 2000


Dobry den

Mam napsany faxovy server na IB4.0, ale beha to na RH5.1, protoze programy, ktere
jsem
be problemu slinkoval na 5.1 se na 6.0 nedaly slinkovat. Hlasilo to podobne chyby.
Chvilku jsem nad tim laboroval, ale zrejme je to nekde v knihovnach, protoze kdyz
jsem
prekladal pomoci gcc 2.95 tak na 5.0 to bylo OK.

                        pavel

"Míla Kuchta" wrote:

> Míla Kuchta <mila.kuchta na atlas.cz> wrote:
> >horak na sit.plzen-city.cz (Horak Daniel) wrote:
> >>> #cc zkouska.o -o zkouska -lgdslib -ldl
> >>>
> >>> /usr/bin/ld: warning: libdl.so.1, needed by /usr/lib/libgdslib.so, may
> >>> conflict with libdl.so.2 /usr/lib/libgdslib.so: undefined
> >>> reference to `_xstat'
> >>> /usr/lib/libgdslib.so: undefined reference to `__setjmp'
> >>> /usr/lib/libgdslib.so: undefined reference to `crypt'
> >>> /usr/lib/libgdslib.so: undefined reference to `_fxstat'
> >>> collect2: ld returned 1 exit status
> >>>
> >>> Nevi nekdo co s tim?
> >>
> >>je treba linkovat s libcrypt (pro funkci crypt) a libNoVersion-2.x.y (pro
> >>xstat a fxstat), tedy pridat
> >> "-lcrypt -lNoVersion-2.1.2" (funguje na mem RH6.1) - chvili mne trvalo, nez
> >>jsem prisel na to linkovani s libNoVersion ;-)
> >>
> >>                      Dan
> >>
> >Mam jednodudy programek zkouska vyuzivajici embedded SQL. Na RH 6.1 cz s
> >interbase 4.0 ho prelozim s parametry:
> >
> >gpre -z -m -n zkouska.e -- O.K.  -> zkouska.c
> >cc -w -c zkouska.c -- O.K. -> zkouska.o
> >cc zkouska.o -o zkouska -lgdslib -ldl -lcrypt -lNoVersion-2.1.2
> >a vyhodi to toto:
> >/usr/bin/ld: warning: libdl.so.1, needed by /usr/lib/libgdslib.so, may conflict
> >with libdl.so.2
> >kdyz to slinkuji s:
> >cc zkouska.o -o zkouska -lgds -ldl -lcrypt -lNoVersion-2.1.2
> >tak to projede, ale program po spusteni vycoruje.
> >
> >Souboru odb.gdb obsahuje jen jednu tabulku (tabulka), ktera je vytvorena ve
> >visualnim nastroji od Inprise ve Windows.
> >
> >#include <stdio.h>
> >#include "/usr/interbase/include/ibase.h"
> >
> >EXEC SQL
> >    SET DATABASE databaze = "odb.gdb";
> >
> >void main (void)
> >{
> >    char first, last;
> >    int age;
> >
> >    EXEC SQL
> >       CONNECT "databaze";
> >
> >    EXEC SQL
> >       SELECT jmeno, prijmeni, vek
> >       INTO :first, :last, :age
> >       FROM tabulka;
> >
> >    printf("Jmeno, Vek: %s %s, %s\n", first, last, age);
>
> Tady ma byt samozrejme %s %s %d
>
> >
> >
> >    EXEC SQL
> >       DISCONNECT databaze;
> >}



Další informace o konferenci Linux