Portál AbcLinuxu, 12. května 2025 15:38

Dotaz: kompilace Ekiga

7.1.2009 20:45 Matlák
kompilace Ekiga
Přečteno: 185×
Odpovědět | Admin

Dobrý den. Mám následující problém: kompilace programu Ekiga 3.0.0 (opal-3.4.1) i 3.0.1 (opal-3.4.2) skončí vždy touto chybou :

/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnSendingPDU(H245_OpenLogicalChannel&) const'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnReceivedPDU(H245_H2250LogicalChannelParameters const&, unsigned int&)'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnReceivedAckPDU(H245_H2250LogicalChannelAckParameters const&)'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::SetInitialBandwidth()'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::GetDirection() const'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnReceivedAckPDU(H245_OpenLogicalChannelAck const&)'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::~H323_H224Channel()'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnReceivedPDU(H245_OpenLogicalChannel const&, unsigned int&)'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::ExtractTransport(H245_TransportAddress const&, bool, unsigned int&)'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnSendingPDU(H245_H2250LogicalChannelParameters&) const'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::Start()'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::Close()'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnSendOpenAck(H245_OpenLogicalChannel const&, H245_OpenLogicalChannelAck&) const'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::~H323_H224Channel()'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::OnSendOpenAck(H245_H2250LogicalChannelAckParameters&) const'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::Open()'
/usr/local/lib/libopal.so: undefined reference to `H323_H224Channel::SetDynamicRTPPayloadType(int)'

Pokud vyměním verze opalu, spadne to dříve, kvůli změnám napsaným v changelogu. Progres u těchto knihoven je bohužel značný... Je chyba v ptlib? Je zvláštní, že když například zkusím

objdump -t /usr/local/lib/libopal.so|grep H323_H224Channel


dostanu toto:


00000000         *UND*  00000000              _ZNK16H323_H224Channel12OnSendingPDUER23H245_OpenLogicalChannel
00000000         *UND*  00000000              _ZN16H323_H224Channel13OnReceivedPDUERK34H245_H2250LogicalChannelParametersRj
00000000         *UND*  00000000              _ZN16H323_H224Channel16OnReceivedAckPDUERK37H245_H2250LogicalChannelAckParameters
00000000         *UND*  00000000              _ZN16H323_H224Channel19SetInitialBandwidthEv
00000000         *UND*  00000000              _ZNK16H323_H224Channel12GetDirectionEv
00000000         *UND*  00000000              _ZN16H323_H224Channel16OnReceivedAckPDUERK26H245_OpenLogicalChannelAck
00000000         *UND*  00000000              _ZN16H323_H224ChannelD1Ev
006b9b04  w    F .text  00000084              _ZNK16H323_H224Channel20InternalIsDescendantEPKc
006b9bb6  w    F .text  00000025              _ZNK16H323_H224Channel25CompareObjectMemoryDirectERK7PObject
00000000         *UND*  00000000              _ZN16H323_H224Channel13OnReceivedPDUERK23H245_OpenLogicalChannelRj
006b9aec  w    F .text  00000017              _ZN16H323_H224Channel5ClassEv
00000000         *UND*  00000000              _ZN16H323_H224Channel16ExtractTransportERK21H245_TransportAddressbRj
00000000         *UND*  00000000              _ZNK16H323_H224Channel12OnSendingPDUER34H245_H2250LogicalChannelParameters
00000000         *UND*  00000000              _ZN16H323_H224Channel5StartEv
0080bba0  w    O .data  0000008c              _ZTV16H323_H224Channel
00000000         *UND*  00000000              _ZN16H323_H224Channel5CloseEv
006b9b88  w    F .text  0000002d              _ZNK16H323_H224Channel8GetClassEj
0080bc2c  w    O .data  0000000c              _ZTI16H323_H224Channel
00000000         *UND*  00000000              _ZNK16H323_H224Channel13OnSendOpenAckERK23H245_OpenLogicalChannelR26H245_OpenLogicalChannelAck
007abc89  w    O .rodata        00000013              _ZTS16H323_H224Channel
00000000         *UND*  00000000              _ZN16H323_H224ChannelD0Ev
006b9bdc  w    F .text  0000000b              _ZNK16H323_H224Channel24GetDynamicRTPPayloadTypeEv
00000000         *UND*  00000000              _ZNK16H323_H224Channel13OnSendOpenAckER37H245_H2250LogicalChannelAckParameters
00000000         *UND*  00000000              _ZN16H323_H224Channel4OpenEv
00000000         *UND*  00000000              _ZN16H323_H224Channel24SetDynamicRTPPayloadTypeEi

tedy zdá se že funkce jsou v knihovně uvedeny? Bohužel moc nechápu podivné kombinace čísel a písmen, které pravděpodobně signalizují vstupní a výstupní proměnné (?) je tedy možné že ke změně došlo tam? Nebo je tato knihovna slinkovaná ještě s dalšími, ve kterých by mohl být problém? Zde je výstup ldd:

ldd /usr/local/lib/libopal.so
        linux-gate.so.1 =>  (0xffffe000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7775000)
        libpt.so.2.4.2 => /usr/lib/libpt.so.2.4.2 (0xb74d5000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb74be000)
        libssl.so.0 => /usr/lib/libssl.so.0 (0xb7480000)
        libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7347000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb7327000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb728e000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb727a000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7268000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb718e000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7168000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb715f000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7045000)
        /lib/ld-linux.so.2 (0x80000000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb6f53000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb6f45000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6f41000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6f38000)
        libvga.so.1 => /usr/lib/libvga.so.1 (0xb6ee4000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb6ee1000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6edc000)

Podařilo se někomu poslední Ekigu zkompilovat? Nebo mám zkusit sáhnout po SVN verzi? Předem děkuji za reakce.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.1.2009 17:25 Matlák
Rozbalit Rozbalit vše Re: kompilace Ekiga
Odpovědět | | Sbalit | Link | Blokovat | Admin

Dobrý den, omlouvám se že to vytahuju.. Po čachrování s několika verzemi opalu, ptlibu i Ekigy jsem se dostal do "zkompilovatelného" stavu ve verzích ptlib-2.5.2,opal-3.5.2 a Ekiga ze SVN. Program se sice spustí, ale po několika hláškách spadne, přičemž vyplivne toto:

ekiga: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: g_signal_new_class_handler


GTK+ mám ve verzi 2.14, a funkce v knihovně je, ovšem stejně jako předchozí :chybějící" funkce obsažené libopal.so je nadepsána *UND* :

objdump -t /usr/lib/libgtk-x11-2.0.so.0 |grep g_signal_new_class_handler
00000000       F *UND*  0000007f              g_signal_new_class_handler


Můžete mi prosím někdo ze zkušenějších linuxových guru poradit, kde mám hledat chybu? Znamená to *UND* to že funkce je v souboru libgtk pouze jako kostra, a tělo je jinde? Kde tedy? Rozumíte tomuto někdo?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.