Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    Building kc master: ./.libs/libmapi.so: undefined reference to `KC::ECLocale::

    Development
    kopano core
    3
    16
    5184
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bosim
      bosim @umgfoin last edited by

      @umgfoin said in Building kc master: ./.libs/libmapi.so: undefined reference to `KC::ECLocale:::

      Additionally I needed:

      ncurses-devel

      in common/ECLogger.cpp:
      #include <climits>
      (defines UINT_MAX)

      in common/ustringutil.cpp l. 1365/1366:
      const_cast <unsigned char>

      Wasn’t aware of the ncurses dependency. Wanted to remove it from my system to test out, but took out several more dependencies.

      The following 4 packages are going to be REMOVED:
          libxml2-devel ncurses-devel php5-devel readline-devel
      

      We are making libicu a hard requirement now, so in the future this error message you experienced should be gone and instead configure will complain about missing libicu-devel.

      Thanks for reminding me of this problem.

      Bo

      umgfoin 1 Reply Last reply Reply Quote 0
      • umgfoin
        umgfoin @bosim last edited by umgfoin

        Hi Bo,
        with today’s master we have a new (or related) problem building kopano-stats:

        ld: ECtools/stats/kopano_stats-stats.o: undefined reference to symbol 'wtimeout’
        //lib64/libtinfo.so.5: error adding symbols: DSO missing from command line

        make  all-recursive
        make[1]: Verzeichnis „/usr/src/kopano/kopanocore“ wird betreten
        Making all in .
        make[2]: Verzeichnis „/usr/src/kopano/kopanocore“ wird betreten
          CXXLD  kopano-stats
        /opt/rh/devtoolset-6/root/usr/libexec/gcc/x86_64-redhat-linux/6.2.1/ld: ECtools/stats/kopano_stats-stats.o: undefined reference to symbol 'wtimeout'
        //lib64/libtinfo.so.5: error adding symbols: DSO missing from command line
        collect2: error: ld returned 1 exit status
        
        bosim 1 Reply Last reply Reply Quote 0
        • bosim
          bosim @umgfoin last edited by

          @umgfoin said in Building kc master: ./.libs/libmapi.so: undefined reference to `KC::ECLocale:::

          ld: ECtools/stats/kopano_stats-stats.o: undefined reference to symbol ‘wtimeout’
          //lib64/libtinfo.so.5: error adding symbols: DSO missing from command line

          From what I can see this one should come from ncurses. I compiled the master yesterday without problems. When running configure do you see?

          ncurses libs	:	-L/usr/lib64/ncurses6 -lncursesw -ltinfo
          

          Bo

          1 Reply Last reply Reply Quote 0
          • umgfoin
            umgfoin last edited by

            My entry looks different:

            ncurses libs    :       -lncursesw
            

            If I manually add -ltinfo to NCURSES_LIBS = in Makefile, it builds.

            1 Reply Last reply Reply Quote 0
            • bosim
              bosim last edited by bosim

              What does the following commands give you?

              11:02:47 bo@bo-suse ~/src/kopanocore (master) > ncursesw5-config --libs
              -lncursesw -ltinfo
              11:02:50 bo@bo-suse ~/src/kopanocore (master) > ncursesw6-config --libs
              -L/usr/lib64/ncurses6 -lncursesw -ltinfo
              

              Assume not the same as mine?

              Bo

              1 Reply Last reply Reply Quote 0
              • umgfoin
                umgfoin last edited by umgfoin

                Yes, just -lncursesw

                [tadao@ando kopanocore]# ncursesw5-config --libs
                -lncursesw
                [tadao@ando kopanocore]# ncursesw6-config --libs
                -bash: ncursesw6-config: Kommando nicht gefunden.
                

                “Kommando nicht gefunden” ~ command not found ;-)

                bosim 1 Reply Last reply Reply Quote 0
                • bosim
                  bosim @umgfoin last edited by

                  @umgfoin said in Building kc master: ./.libs/libmapi.so: undefined reference to `KC::ECLocale:::

                  Yes, just -lncursesw

                  [tadao@ando kopanocore]# ncursesw5-config --libs
                  -lncursesw
                  [tadao@ando kopanocore]# ncursesw6-config --libs
                  -bash: ncursesw6-config: Kommando nicht gefunden.
                  

                  “Kommando nicht gefunden” ~ command not found ;-)

                  Yeah that’s the problem. But it used to work?

                  Bo

                  umgfoin 1 Reply Last reply Reply Quote 0
                  • umgfoin
                    umgfoin @bosim last edited by

                    @bosim
                    Yes, used to work 2 days ago.

                    My findings:
                    libncurses links against libltinfo. If we don’t/ can’t explicitely specify this dependancy, newer toolchains can be called with ld-flag --copy-dt-needed-entries. As stated here, implicitely satisfying deep-link dependencies is no longer default behaviour for ld. The above flag forces this behaviour.

                    With option LDFLAGS = -Xlinker --copy-dt-needed-entries in Makefile, the dependency is correctly resolved, again.
                    Atleast valid for gcc version 6.2.1 20160916 (Red Hat 6.2.1-3) (GCC)
                    ++umgfoin.

                    1 Reply Last reply Reply Quote 0
                    • bosim
                      bosim last edited by

                      @umgfoin said in Building kc master: ./.libs/libmapi.so: undefined reference to `KC::ECLocale:::

                      Yes, used to work 2 days ago.

                      I looked for commits related to configure.ac, but couldn’t find anything that changed that. Did you get any updates from your distribution?

                      Bo

                      umgfoin 1 Reply Last reply Reply Quote 0
                      • umgfoin
                        umgfoin @bosim last edited by

                        @bosim said:

                        Did you get any updates from your distribution?

                        Nothing obvious - since 14.03.:

                        MariaDB-xxx,
                        php71,
                        perl-XML-LibXML,
                        perl-Test-Harness

                        bosim 1 Reply Last reply Reply Quote 0
                        • bosim
                          bosim @umgfoin last edited by bosim

                          @umgfoin said in Building kc master: ./.libs/libmapi.so: undefined reference to `KC::ECLocale:::

                          @bosim said:

                          Did you get any updates from your distribution?

                          Nothing obvious - since 14.03.:

                          MariaDB-xxx,
                          php71,
                          perl-XML-LibXML,
                          perl-Test-Harness

                          That’s wierd, I will create a JIRA ticket to investigate.
                          https://jira.kopano.io/browse/KC-600

                          1 Reply Last reply Reply Quote 0
                          • mkromer
                            mkromer last edited by

                            long ago but for reference: fixed upstream. https://bugs.centos.org/view.php?id=6668

                            1 Reply Last reply Reply Quote 0
                            • umgfoin
                              umgfoin last edited by umgfoin

                              Hi @mkromer ,
                              thanks - read that, too, but though differently stated in the rel-notes of ncurses-5.7-4.20090207.el6, we still get:

                              [hias@wurzler kopano-core]# ncurses5-config --libs
                              -lncurses
                              
                              [hias@wurzler kopano-core]# ncursesw5-config --libs
                              -lncursesw
                              
                              [hias@wurzler kopano-core]# pkg-config ncurses --libs
                              -lncurses
                              
                              [hias@wurzler kopano-core]# ncurses5-config --version
                              5.7.20090207
                              
                              

                              A working fix is switching to ncurses-header instead of curses.h in configure.ac:

                              AC_CHECK_HEADERS([ncurses.h])
                              versus
                              AC_CHECK_HEADERS([curses.h])

                              ++umgfoin.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post