Compile on ubuntu

tanguy
2008-06-24
2013-04-25
  • tanguy

    tanguy - 2008-06-24

    Hello,

    I'm on ubuntu ( 8.04 )
    I've compile kiax last week
    with some modification

    kiax2core.pro
    -------------
    linux-g++ -> unix
    LIBSDIR += ./libs-linux -> /usr/local/lib

    gui.pro
    ---------
    linux-g++ -> unix
    LIBSDIR += $$CORELIBDIR/libs-linux -> /usr/local/lib

    Change in Kiax2MainWindow.h
    ----------------------------
    kiax2Application.h par Kiax2Application.h

    and i've an kiax phone

    but i've update with svn today
    and it's compiling but at the launch of gui
    i've have this message now
    ./gui: symbol lookup error: ./gui: undefined symbol: _ZN6Logger4initEi

    if you have some idea

    PS : i was interesting to make some improvements
    ( like connection with other base - for exemple define a data access and SQL expression to get number )
    Transfer button ...
    Display occupation of other phone

    Tanguy

     
    • tanguy

      tanguy - 2008-06-24

      Sorry,

      i've found the error
      just forget to copy librarie kiax in /usr/local:lib

      Shame on me :) :)

       
    • Emo

      Emo - 2008-06-24

      Yes, you need to change libs paths to the destination preferred by your distro. Logger implementation now includes an init() method which was missing in your compiled kiax2core, so you needed to recompile kiax2core again.

      Thanks for noting the caps K, fixed.

      Cheers,
      Emil

       
      • tanguy

        tanguy - 2008-06-24

        Thanks for answer i've found ( strange my message is post before your's and it's appear after )

        How can i proceed to develop some functionnality

        for example I need to implement transfer button quickly to use really kiax

        if i made some change and send you only the change it's ok for you ?

        ( put a button on the ui - and make the transfer function in this case )

         
        • Emo

          Emo - 2008-06-24

          Hi,

          Iaxclient supports blind transfer, which will be integrated in next version (2.1), together with indicators for levels of input and output, i18n, etc. I guess an option would be to put a button in the call window and on press to prompt for extension.

          Are you familiar with QT4?

          If you send some code as diff against some release in the SVN i would do the necessary to integrate it asap in the rest of the code. Thanks.

          Cheers,
          Emil

           
        • tanguy

          tanguy - 2008-06-24

          Yes with QT 4 it's ok

          but not familiar with iaxclient library

          I want to append three main functions
          ( in my order of priority :) )
          Attended Transfer or blind transfer
          Data source more flexible to interface  with any source of database phone
          possibilty to create a record of the call with a note

          you say you're working on transfer
          So i can concentrate effort on other things

          If you need help on other things tell me

          Tanguy

           
          • Emo

            Emo - 2008-06-25

            If you want to add a data source different than SQLite (what kiax is using as storage back-end) then just take a look at the implementation of the StorageService.cpp in kiax2core. You can create your own binding to whatever database you want. The idea of the kiax2core was to enable this kind of bindings and selectively fetch data from different data sources - currently only SQLite being the only one. I would really appreciate comments on the needed changes or whatever might facilitate better integration of other data sources, because the current state of kiax2core is the "minimalistic but functional".

            If I understood correctly, you would like to enable additional "note" field to the CDR. Or does "record of the call" mean audio record (eg .wav or .mp3 or .ogg)?

            Regards,
            Emil

             
    • Karl Lui

      Karl Lui - 2008-10-18

      Hi,
      I'm running ubuntu 8.0.4 as well. Could you please let me know the command line to compile kiax2?

      Thank you very much.
      Karl

       
      • Emo

        Emo - 2008-10-18

        Hi,

        In the upcoming week I will create a short howto for compilation of Kiax on Linux and Windows, together with the missing but promised libraries pack. I just haven't had the time to create these the last few weeks since we released 2.0. Basically first you need to compile "kiax2core" by running

        qmake
        make

        and then the same for the "gui" subdirectory. Both kiax2core and gui are subdirectories in the trunk.

        You will need to have all dependencies precompiled though. Either you will need to install them in binary form (from repositories) and change the .pro files, or you need compile them on your machine and place them in the directories pointed by the .pro files.

        Cheers,
        Emil

         
        • Ashutosh Kumar

          Ashutosh Kumar - 2008-10-18

          Hi Emil,
          >>Either you will need to install them in binary form (from repositories)

          Have you palce the binary dependencies for windows on the server ? i am unable to locate them. Please help.

          Best regards,
          ashutosh

           
    • Karl Lui

      Karl Lui - 2008-10-18

      Thank you Emil,
      That will be very helpful. Look forward to your Howtos.

      I got problems running Zoiper and xlite on Linux. But Kiax2 works fine on my Ubuntu 8.0.4.

      Thank you again.

      Karl

       
  • Pavel M

    Pavel M - 2012-05-20

    Hi, When compiling the kiax from source codes under Ubuntu, I get next errors: ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `iaxc_is_camera_working': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1778: undefined reference to `vidcap_src_list_update' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `iaxc_YUV420_to_RGB32': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1767: undefined reference to `vidcap_i420_to_rgb32' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `video_destroy': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1736: undefined reference to `vidcap_src_release' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1738: undefined reference to `vidcap_destroy' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1733: undefined reference to `vidcap_src_capture_stop' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `ensure_acquired': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:967: undefined reference to `vidcap_src_acquire' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `prepare_for_capture': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:838: undefined reference to `vidcap_format_bind' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:902: undefined reference to `vidcap_i420_to_rgb32' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:934: undefined reference to `vidcap_fourcc_string_get' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:917: undefined reference to `vidcap_yuy2_to_i420' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:918: undefined reference to `vidcap_yuy2_to_rgb32' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:885: undefined reference to `vidcap_rgb32_to_i420' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `iaxc_video_device_set': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1545: undefined reference to `vidcap_src_capture_stop' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1550: undefined reference to `vidcap_src_release' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1573: undefined reference to `vidcap_src_capture_start' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `iaxc_set_video_prefs': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1058: undefined reference to `vidcap_src_capture_start' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1021: undefined reference to `vidcap_src_capture_stop' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1026: undefined reference to `vidcap_src_release' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `iaxc_video_devices_get': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1384: undefined reference to `vidcap_src_list_update' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1413: undefined reference to `vidcap_src_list_get' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `video_recv_video': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1352: undefined reference to `vidcap_i420_to_rgb32' ../kiax2core/static-libs-linux/libiaxclient.a(video.o): In function `video_initialize': /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1602: undefined reference to `vidcap_initialize' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1608: undefined reference to `vidcap_sapi_acquire' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1614: undefined reference to `vidcap_sapi_info_get' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1624: undefined reference to `vidcap_src_list_update' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1651: undefined reference to `vidcap_src_list_get' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1682: undefined reference to `vidcap_srcs_notify' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1709: undefined reference to `vidcap_sapi_release' /home/paul01/Desktop/freelancer_projects/TrafficSignal/IAXclientLatest/iaxclient/trunk/lib/video.c:1712: undefined reference to `vidcap_destroy' ../kiax2core/static-libs-linux/libldns.a(keys.o): In function `ldns_key_EVP_load_gost_id': /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:130: undefined reference to `EVP_PKEY_asn1_find_str' /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:165: undefined reference to `EVP_PKEY_asn1_get0_info' /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:154: undefined reference to `EVP_PKEY_asn1_find_str' ../kiax2core/static-libs-linux/libldns.a(keys.o): In function `ldns_gen_gost_key': /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:784: undefined reference to `EVP_PKEY_CTX_new_id' /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:789: undefined reference to `EVP_PKEY_CTX_ctrl_str' /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:795: undefined reference to `EVP_PKEY_keygen_init' /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:799: undefined reference to `EVP_PKEY_keygen' /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:804: undefined reference to `EVP_PKEY_CTX_free' /home/paul01/Desktop/freelancer_projects/TrafficSignal/ldns-1.6.12/./keys.c:801: undefined reference to `EVP_PKEY_CTX_free'

    my project file:

    template = app
    CONFIG += qt
    CORELIBDIR = ../kiax2core
    INCLUDEPATH += $$CORELIBDIR $$CORELIBDIR/includes $$CORELIBDIR/includes/json $$CORELIBDIR/dottelutils
    # set USEWEBKIT to true if you want to link to webkit shared library
    USEWEBKIT = false
    win32 {
    LIBSDIR += $$CORELIBDIR/libs-windows
    LIBS += $$LIBSDIR/iaxclient.dll $$LIBSDIR/sqlite3.dll $$CORELIBDIR/release/libkiax2core.a $$LIBSDIR/libjson.a $$LIBSDIR/libcurl-4.dll -leay32 -lssleay32
    DEFINES += WIN32DEP
    }
    linux-g++ {
    # Uncomment if you want dynamic linking
    # LIBSDIR += $$CORELIBDIR/libs-linux
    # LIBS += -L/usr/lib -L/usr/local/lib -L$$CORELIBDIR -liaxclient -lkiax2core -ljson -lspeexdsp -lspeex -lportaudio -lgsm -lsqlite3 -lasound 
    LIBSDIR += $$CORELIBDIR/static-libs-linux
    LIBS += $$LIBSDIR/libiaxclient.a $$CORELIBDIR/libkiax2core.a $$LIBSDIR/libjson.a $$LIBSDIR/libspeexdsp.a $$LIBSDIR/libspeex.a $$LIBSDIR/libportaudio.a $$LIBSDIR/libgsm.a $$LIBSDIR/libsqlite3.a -lcurl /usr/lib/libasound.so.2 
    # Uncomment if you want dynamic linking
    # LIBS += $$LIBSDIR/libiaxclient.so.1.0.2 $$LIBSDIR/libsqlite3.so.0.8.6 $$CORELIBDIR/libkiax2core.so.1.0.0 $$LIBSDIR/libjson.a $$LIBSDIR/libspeexdsp.so.1.4.0 $$LIBSDIR/libspeex.so.1.4.0
    DEFINES += LINUXDEP
    }
    LIBS += -L/usr/local/lib \
            -ljson
    #DEPENDPATH = .
    #include path:
    INCLUDEPATH = . \
        /usr/local/include/libjson \
        /usr/local/include/libjson/Source \
        /usr/local/include/vidcap \
        /usr/local/include/ldns \
        /usr/local/include/speex \
        /usr/local/include/curl \
        ../kiax2core \
        ../kiax2core/dottelutils \
        ../kiax2core/includes \
        ../kiax2core/includes/json
    macx {
    LIBSDIR += $$CORELIBDIR/libs-macx
    LIBS += $$LIBSDIR/libiaxclient.dylib $$LIBSDIR/libsqlite3.dylib $$CORELIBDIR/libkiax2core.dylib $$LIBSDIR/libjson.a -lcurl
    DEFINES += MACXDEP
    ICON = macosicons.icns
    }
    KIAXOPT += dottel
    contains( KIAXOPT, dottel ): {
        message("Enabling dottel support..")
        DEFINES += USE_DOTTEL
        HEADERS +=  Kiax2DotTelDialog.h \
                ../kiax2core/dottelutils/dottelutils.h \
                ../kiax2core/dottelutils/CppDotTelutils.h
        SOURCES +=  Kiax2DotTelDialog.cpp
        FORMS += dotteldialog.ui
    #   INCLUDEPATH += voip/ldns-1.4.0
        linux-g++ {
            LIBS += $$LIBSDIR/libldns.a -lcrypto
        }
        win32 {
            LIBS += $$LIBSDIR/libldns.a -lwsock32 -liphlpapi
        }
    }
    # comment if you don't have hold() in your iaxclient
    # DEFINES += IAXCLIENT_HOLD_HACK
    QT += network
    contains( KIAXOPT, webforms ): {
        message("Using Webforms + WebKit..")
        QT += webkit
        DEFINES += USE_WEBFORMS
        HEADERS +=  Kiax2ChangePassDialog.cpp \
                    Kiax2RegisterDialog.h
        SOURCES +=  Kiax2ChangePassDialog.cpp \
                    Kiax2RegisterDialog.cpp
    }
    contains( KIAXOPT, webfeed ): {
        message("Using Webfeed +  WebKit..")
        QT += webkit
        DEFINES += USE_WEBFEED
    }
    FORMS += kiax2windowAlt.ui \
                accountdialog.ui \
                aboutdialog.ui \
                calldialog.ui \
                contactdialog.ui \
                contactlistitemwidget.ui \
                settingsdialog.ui \
                registerdialog.ui \
                loginscreen.ui
    
    HEADERS += Kiax2MainWindow.h \
                            Kiax2AboutDialog.h \
                            Kiax2AccountDialog.h \
                            Kiax2CallDialog.h \
                            Kiax2ContactDialog.h \
                            Kiax2ListWidgetItem.h \
                            Kiax2ContactListItemWidget.h \
                            Kiax2SettingsDialog.h \
                            IAX2CallbackHandlerQt.h \
                            Kiax2ConnectionMeter.h \
                            Kiax2JSONBalance.h \
                            Kiax2LoginScreen.h \
                            Kiax2Application.h \
                            Kiax2JSONUsersOnline.h \
                            kiax2JSONNotification.h \
                            Kiax2JSONServers.h \
                            Kiax2DispatcherServer.h \
                            Kiax2DispatcherThread.h \
                            Kiax2Servers.h \
                            Kiax2JSONSupernode.h \
                            Kiax2CallAppearance.h \
                            Kiax2CallDialogView.h \
                            Kiax2CallButton.h  \
                            ../kiax2core/PConfiguration.h
    
    SOURCES += Kiax2MainWindow.cpp \
                Kiax2AboutDialog.cpp \
                Kiax2AccountDialog.cpp \
                Kiax2CallDialog.cpp \
                Kiax2ContactDialog.cpp \
                Kiax2ListWidgetItem.cpp \
                Kiax2ContactListItemWidget.cpp \
                Kiax2SettingsDialog.cpp \
                IAX2CallbackHandlerQt.cpp \
                Kiax2ConnectionMeter.cpp \
                Kiax2JSONBalance.cpp \
                Kiax2LoginScreen.cpp \
                Kiax2Application.cpp \
                Kiax2JSONUsersOnline.cpp \
                Kiax2JSONNotification.cpp \
                Kiax2JSONServers.cpp \
                Kiax2DispatcherServer.cpp \
                Kiax2DispatcherThread.cpp \
                Kiax2Servers.cpp \
                Kiax2JSONSupernode.cpp \
                Kiax2CallAppearance.cpp \
                Kiax2CallDialogView.cpp \
                Kiax2CallButton.cpp
    RC_FILE = kiax2.rc
    TRANSLATIONS = kiax2_fr.ts \
                   kiax2_de.ts \
                   kiax2_es.ts
    
    build_all:!build_pass {
        CONFIG -= build_all
        CONFIG += release windows
    }
    # install
    target.path = .
    sources.files = $$SOURCES $$HEADERS $$FORMS *.pro 
    sources.path = .
    INSTALLS += target
    

    Why such ? I use static linking, all the 3rd party libraries were previously compiled and succ. installed and .a files putted to static-libs-linux directory Does anybody know what is the problem ? Thanks in advance.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks