Re: [emailrelay-help] problem compiling on OI-hilster (illumos)2020.04
SMTP email proxy and relay server
Brought to you by:
graeme_walker
From: Graeme W. <gra...@us...> - 2020-05-21 11:42:38
|
Hello Marc, If you don't need PAM then just do "./configure --without-pam". To fix the code you need to remove the word 'const' from lines 99, 184 and 222 of src/glib/gpam_linux.cpp. Thanks for the bug report. Let me know if you have any more build problems. Graeme On 21/05/2020 09:31, Marc Lobelle wrote: > Hello, > > I,m using emailrelay 1.8.2 for many years. Thanks to Graeme for this > very useful program. > > I am now updating my server and the softwares I'm using. > > I'm trying to recompile emailrelay2.0 on Openindiana (descendent of > opensolaris), version OI-hilspster2020.04. it uses gcc 7.5.0. > > ./configure worked but make crashed, as you can see below. > > Do you see what's wrong and how to solve it . > > Thanks > > Marc > > ml@spitfire:/opt/emailrelay-2.0# ./configure > checking for a BSD-compatible install... /usr/gnu/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /usr/gnu/bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether make supports nested variables... yes > checking whether to enable maintainer-specific portions of Makefiles... no > checking for cc... no > checking for gcc... gcc > checking whether the C compiler works... yes > checking for C compiler default output file name... a.out > checking for suffix of executables... > checking whether we are cross compiling... no > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ISO C89... none needed > checking whether gcc understands -c and -o together... yes > checking for style of include used by make... GNU > checking dependency style of gcc... gcc3 > checking for c++... c++ > checking whether we are using the GNU C++ compiler... yes > checking whether c++ accepts -g... yes > checking dependency style of c++... gcc3 > checking whether c++ supports C++11 features with -std=gnu++11... yes > checking for ranlib... ranlib > checking for gawk... (cached) gawk > checking for a sed that does not truncate output... /usr/gnu/bin/sed > checking for grep that handles long lines and -e... /usr/gnu/bin/grep > checking for make... make > checking for ar... ar > checking for gzip... gzip > checking for doxygen... no > checking for man2html... no > checking for resource compiler... windres > checking message compiler... ./fakemc.exe > checking for library containing gethostbyname... -lnsl > checking for library containing connect... -lsocket > checking for library containing shm_open... none required > checking for library containing dlopen... none required > checking for library containing pam_end... -lpam > checking for socklen_t... yes > checking for errno_t... no > checking for ssize_t... yes > checking for c++ nullptr... yes > checking for c++ constexpr... yes > checking for c++ noexcept... yes > checking for c++ override... yes > checking for c++ final keyword... yes > checking for c++ type_traits... yes > checking for c++ emplace_back and friends... yes > checking for c++ std::align... yes > checking for c++ std::shared_ptr and friends... yes > checking for c++ std::thread... yes > checking for c++ std::wstring... yes > checking for ipv6... yes > checking for sin6_len... no > checking for statbuf nanoseconds... yes > checking for inet_ntop()... yes > checking for inet_pton()... yes > checking for getpwnam... yes > checking for getpwnam_r... yes > checking for gmtime_r... yes > checking for gmtime_s... no > checking for localtime_r... yes > checking for localtime_s... no > checking for strncpy_s... no > checking for bsd setpgrp... no > checking for setgroups... yes > checking for getenv_s... no > checking for readlink... yes > checking for iconv in libc... yes > checking for iconv in libiconv... no > checking for proc_pidpath... no > checking for pkg-config... no > checking for QT... no > configure: no QT 5: trying QT 4 > checking for QT... no > checking for moc... no > checking for openssl... yes > checking for mbedtls... no > checking for pkg-config... no > configure: using tls library: openssl > checking for security/pam_appl.h... yes > checking for pam/pam_appl.h... no > checking for include/pam_appl.h... no > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > config.status: creating src/Makefile > config.status: creating src/glib/Makefile > config.status: creating src/gssl/Makefile > config.status: creating src/gnet/Makefile > config.status: creating src/gauth/Makefile > config.status: creating src/gsmtp/Makefile > config.status: creating src/gpop/Makefile > config.status: creating src/main/Makefile > config.status: creating src/main/icon/Makefile > config.status: creating src/win32/Makefile > config.status: creating src/gui/Makefile > config.status: creating bin/Makefile > config.status: creating doc/Makefile > config.status: creating etc/Makefile > config.status: creating test/Makefile > config.status: creating test/certificates/Makefile > config.status: creating m4/Makefile > config.status: creating bsd/Makefile > config.status: creating debian/Makefile > config.status: creating gconfig_defs.h > config.status: executing depfiles commands > ml@spitfire:/opt/emailrelay-2.0# make > make all-recursive > make[1] : on entre dans le répertoire « /opt/emailrelay-2.0 » > Making all in bin > make[2] : on entre dans le répertoire « /opt/emailrelay-2.0/bin » > make[2]: rien à faire pour « all ». > make[2] : on quitte le répertoire « /opt/emailrelay-2.0/bin » > Making all in src > make[2] : on entre dans le répertoire « /opt/emailrelay-2.0/src » > Making all in glib > make[3] : on entre dans le répertoire « /opt/emailrelay-2.0/src/glib » > c++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -g -O2 -MT gpam_linux.o > -MD -MP -MF .deps/gpam_linux.Tpo -c -o gpam_linux.o gpam_linux.cpp > gpam_linux.cpp: In constructor 'G::PamImp::PamImp(G::Pam&, const > string&, const string&, bool)': > gpam_linux.cpp:115:16: error: invalid conversion from 'int (*)(int, > const pam_message**, pam_response**, void*)' to 'int (*)(int, > pam_message**, pam_response**, void*)' [-fpermissive] > m_conv.conv = converseCallback ; > ^~~~~~~~~~~~~~~~ > gpam_linux.cpp: In member function 'std::__cxx11::string > G::PamImp::name() const': > gpam_linux.cpp:185:45: error: invalid conversion from 'const void**' to > 'void**' [-fpermissive] > m_rc = ::pam_get_item( hpam() , PAM_USER , &vp ) ; > ^~~ > In file included from gpam_linux.cpp:44:0: > /usr/include/security/pam_appl.h:186:1: note: initializing argument 3 > of 'int pam_get_item(const pam_handle_t*, int, void**)' > pam_get_item( > ^~~~~~~~~~~~ > make[3]: *** [Makefile:765: gpam_linux.o] Error 1 > make[3] : on quitte le répertoire « /opt/emailrelay-2.0/src/glib » > make[2]: *** [Makefile:350: all-recursive] Error 1 > make[2] : on quitte le répertoire « /opt/emailrelay-2.0/src » > make[1]: *** [Makefile:478: all-recursive] Error 1 > make[1] : on quitte le répertoire « /opt/emailrelay-2.0 » > make: *** [Makefile:398: all] Error 2 > > > > _______________________________________________ > emailrelay-help mailing list > ema...@li... > https://lists.sourceforge.net/lists/listinfo/emailrelay-help |