Discussion:
[bug-mailutils] mailutils-3.2/libmu_auth/.libs/libmu_auth.so: undefined reference to `mu_assoc_ref'
Franta Hanzlík
2017-06-04 11:38:47 UTC
Permalink
I tried to compile and build mailutils-3.2, but this attempt ends with
error:
...
CC url.lo
CCLD libmu_imap.la
make[4]: Leaving directory `/mnt/ARCHIV/misc_src/mailutils/mailutils-3.2/libproto/imap'
Making all in tests
make[4]: Entering directory `/mnt/ARCHIV/misc_src/mailutils/mailutils-3.2/libproto/imap/tests'
CC imapfolder.o
CCLD imapfolder
/home/hanzlik/ARCHIV/misc_src/mailutils/mailutils-3.2/libmu_auth/.libs/libmu_auth.so: undefined reference to `mu_assoc_ref'
collect2: error: ld returned 1 exit status
make[4]: *** [imapfolder] Error 1
make[4]: Leaving directory `/mnt/ARCHIV/misc_src/mailutils/mailutils-3.2/libproto/imap/tests'
make[3]: *** [all-recursive] Error 1
...

What can be wrong?
My ./configure status is:
*******************************************************************
GNU Mailutils configured with the following settings:

Default mailbox scheme ........ maildir
Use PAM ....................... yes
Use -ltdl ..................... yes
Use DBM ....................... GDBM
Use GNU TLS ................... yes
Use GSASL ..................... yes
Use GSSAPI .................... no
Use TCP wrappers .............. yes
Pthread support ............... yes
Readline support .............. yes
MySQL support ................. yes
PostgreSQL support ............ yes
LDAP support .................. yes
Radius support ................ no
Support for virtual domains ... yes

IPv6 support .................. yes

Interfaces:

Guile ......................... yes
C++ ........................... no
Python ........................ yes

Mailbox formats:

IMAP .......................... yes
POP ........................... yes
MH ............................ yes
maildir ....................... yes

Mailers:

SMTP .......................... yes
Sendmail ...................... yes

Utilities to build:

Servers ....................... pop3d imap4d comsat
Clients ....................... frm maidag mail sieve messages readmsg dotlock movemail mimeview mh
*******************************************************************
And my system is Fedora 19/i386 Linux with:
kernel-PAE-3.14.27-100.fc19.i686
glibc-2.17-21.fc19.i686
gcc-4.8.3-7.fc19.i686
gcc-c++-4.8.3-7.fc19.i686

What is also suspicious for me, ./configure shows there is not support for
C++ - but its relevant test seems me IMHO good;

./configure --with-gdbm --with-mysql --with-postgres --with-ldap --with-gsasl 2>&1|egrep -i -C 1 '(g\+\+|C\+\+|cxx)'

outputs:
configure: autobuild timestamp... 20170604T092706Z
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether ln -s works... yes
--
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
--
checking whether stdint.h conforms to C99... yes
checking whether stdint.h predates C++11... no
checking whether stdint.h has UINTMAX_WIDTH etc.... no
checking for C/C++ restrict keyword... __restrict
checking whether ffsl is declared without a macro... yes
--
Guile ......................... yes
C++ ........................... no
Python ........................ yes


I'm more an administrator than a programmer, can please someone help me?

PS: I was trying also compile devel version mailutils-3.2.91, with result:
- 'make' ends OK
- ./configure not detect C++ interface
- 'make check' found 5 failures:

ERROR: All 171 tests were run,
5 failed unexpectedly.

## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##
Failed tests:
GNU Mailutils 3.2.91 test suite test groups:

NUM: FILE-NAME:LINE TEST-GROUP-NAME
KEYWORDS

1: install-mh.at:18 install-mh -auto
install-mh install-mh00
123: comp.at:21 comp -file
comp comp00 comp-file
124: comp.at:41 comp -file (del)
comp comp01 comp-file_del
142: mhn.at:131 mhn -store -auto
mhn mhn03 mhn-store-auto
143: mhn.at:142 mhn -store -auto -part
mhn mhn04 mhn-store-auto-part
--
Thanks in advance,
Franta Hanzlik
Sergey Poznyakoff
2017-06-04 12:02:32 UTC
Permalink
Hello Franta,
Post by Franta Hanzlík
undefined reference to `mu_assoc_ref'
Fixed by commit afbb33cf9ff750e93a9a4c1f51a3b62d584f056e.

Regards,
Sergey
Franta Hanzlík
2017-06-04 19:19:45 UTC
Permalink
On Sun, 04 Jun 2017 15:02:32 +0300
Post by Sergey Poznyakoff
Hello Franta,
Post by Franta Hanzlík
undefined reference to `mu_assoc_ref'
Fixed by commit afbb33cf9ff750e93a9a4c1f51a3b62d584f056e.
Regards,
Sergey
Hi Sergey, thanks for reply. You say that I should build mailutils from
git, yes?

I tried it (but git isn't my friend ;), and result is similar as when
tested http://alpha.gnu.org/gnu/mailutils/mailutils-3.2.91.tar.xz
before:
- it seems as mailutils package has been assembled well.
- C++ interface still isn't compiled!! - Why?? It is problem?
- 'make check' ends with 7 failing tests (two more than last)

In attached mailutils-git_results.txz are outputs/results from configure,
make and make check steps:
configure-3.2.91git.lst
make-3.2.91git.lst
make-check-3.2.91git.lst
mh/tests/testsuite.log

Please, should/can I use the result, or it is broken?
My goal is to use mailutils libraries to build Your "mailfromd" mail
milter (unfortunately neither mailutils nor mailfromd are in my distro,
that's why I try to assemble them myself).
--
Thanks, Franta Hanzlik
Sergey Poznyakoff
2017-06-06 16:22:01 UTC
Permalink
Hi Franta,
Post by Franta Hanzlík
- C++ interface still isn't compiled!! - Why?? It is problem?
It is not a problem, and it should not be compiled by default.
Post by Franta Hanzlík
- 'make check' ends with 7 failing tests (two more than last)
Most checks fail because your cwd is a symbolic link to another
directory:

/home/hanzlik/ARCHIV -> /mnt/ARCHIV

Mailutils testsuite is not able to handle this case and reports false
negative. That's the case for tests 124, 125, 139, 143, and 144. Test
138 revealed a minor bug in whatnow subroutines, which I have just fixed
in the repository (491bec23). The most misterious one is test 1. It
fails because the directory created by mkdir was populated with a
.ccache subdirectory with the following content:

.ccache/3
.ccache/3/stats
.ccache/CACHEDIR.TAG
.ccache/tmp

The only reason for this strangeness that I can think of, is that
mkdir was replaced or modified somehow (perhaps using a shell alias).
Is it so?

I'll address the directory symlink problem later, as it is not critical.
Post by Franta Hanzlík
Please, should/can I use the result, or it is broken?
You can use it safely, Apart from the bug fixed by 491bec23, the build
behaves as expected.

Regards,
Sergey
Sergey Poznyakoff
2017-06-07 10:27:20 UTC
Permalink
Hi,
Post by Sergey Poznyakoff
Most checks fail because your cwd is a symbolic link to another
/home/hanzlik/ARCHIV -> /mnt/ARCHIV
Mailutils testsuite is not able to handle this case and reports false
negative. That's the case for tests 124, 125, 139, 143, and 144.
FWIW, the recent commit (453cd17f), fixs this as well.

Regards,
Sergey
Franta Hanzlík
2017-06-10 08:26:57 UTC
Permalink
On Tue, 06 Jun 2017 19:22:01 +0300
Post by Sergey Poznyakoff
Hi Franta,
Post by Franta Hanzlík
- C++ interface still isn't compiled!! - Why?? It is problem?
It is not a problem, and it should not be compiled by default.
Post by Franta Hanzlík
- 'make check' ends with 7 failing tests (two more than last)
Most checks fail because your cwd is a symbolic link to another
/home/hanzlik/ARCHIV -> /mnt/ARCHIV
Mailutils testsuite is not able to handle this case and reports false
negative. That's the case for tests 124, 125, 139, 143, and 144. Test
138 revealed a minor bug in whatnow subroutines, which I have just fixed
in the repository (491bec23). The most misterious one is test 1. It
fails because the directory created by mkdir was populated with a
.ccache/3
.ccache/3/stats
.ccache/CACHEDIR.TAG
.ccache/tmp
The only reason for this strangeness that I can think of, is that
mkdir was replaced or modified somehow (perhaps using a shell alias).
Is it so?
I'll address the directory symlink problem later, as it is not critical.
Post by Franta Hanzlík
Please, should/can I use the result, or it is broken?
You can use it safely, Apart from the bug fixed by 491bec23, the build
behaves as expected.
Regards,
Sergey
Hello Sergey,
thanks for your help. You are right, I have this symlink to my buid area.
Now I tried to build mailutils from git master branch commit
263e2e9f9fcf721c11a61a16dca4cb38d6385fe9 and all tests are OK - except
test 1, as was before. I think I have no alias for mkdir nor other its
modification, but cause may be that I have installed ccache (
http://ccache.samba.org/ ) and it creates some directory structure under
~/.ccache/ - and as MH test set HOME env, ccache was somehow (I not know
how, IMO it should be started only as alias for c/cc/gcc/c++/g++) trapped
and create some structure under new $HOME. When I understand, test fail,
because besides what create install-mh, there are some extra files -
those from ccache. All what install-mh in test had to do, was done.

In attachment is actual mh/tests/{ testsuite.log, testsuite.dir/ } and
from it I think it is as I write above.

Franta Hanzlik
--
I hope the Fedora will have a better init and no binary logs

Loading...