roehling / postsrsd

Postfix Sender Rewriting Scheme daemon
319 stars 38 forks source link

unable to install from source on debian #161

Open blackbasket opened 9 months ago

blackbasket commented 9 months ago

Hi guys,

I need a srs-aware mail server asap, but I am to stupid to get this working.

Debian 12 postfix 3.7.6

I tried with the old v1-package as well with the actual sources. If I try to build from the sources, I am getting this error:

/opt/postsrsd-2.0.8/_build/_deps/check-src/src/check_print.c:59:22: error: ‘CK_SUBUNIT’ undeclared (first use in this function)
   59 |     if(print_mode == CK_SUBUNIT)
      |                      ^~~~~~~~~~
/opt/postsrsd-2.0.8/_build/_deps/check-src/src/check_print.c:59:22: note: each undeclared identifier is reported only once for each function it appears in
/opt/postsrsd-2.0.8/_build/_deps/check-src/src/check_print.c: In function ‘srunner_fprint_results’:
/opt/postsrsd-2.0.8/_build/_deps/check-src/src/check_print.c:80:22: error: ‘CK_SUBUNIT’ undeclared (first use in this function)
   80 |     if(print_mode == CK_SUBUNIT)
      |                      ^~~~~~~~~~

libtool: compile:  /usr/bin/cc -DLOCALEDIR=\"/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/share/locale\" -DHAVE_CONFIG_H -I. -I/opt/postsrsd-2.0.8/_build/_deps/confuse-src/src -I.. -D_GNU_SOURCE -DBUILDING_DLL -O3 -DNDEBUG -MT libconfuse_la-lexer.lo -MD -MP -MF .deps/libconfuse_la-lexer.Tpo -c /opt/postsrsd-2.0.8/_build/_deps/confuse-src/src/lexer.c -o libconfuse_la-lexer.o
libtool: compile:  /usr/bin/cc -DLOCALEDIR=\"/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/share/locale\" -DHAVE_CONFIG_H -I. -I/opt/postsrsd-2.0.8/_build/_deps/confuse-src/src -I.. -D_GNU_SOURCE -DBUILDING_DLL -O3 -DNDEBUG -MT libconfuse_la-confuse.lo -MD -MP -MF .deps/libconfuse_la-confuse.Tpo -c /opt/postsrsd-2.0.8/_build/_deps/confuse-src/src/confuse.c -o libconfuse_la-confuse.o
libtool: link: /usr/bin/gcc-ar-12 cr .libs/libconfuse.a  libconfuse_la-confuse.o libconfuse_la-lexer.o
libtool: link: /usr/bin/ranlib .libs/libconfuse.a
libtool: link: ( cd ".libs" && rm -f "libconfuse.la" && ln -s "../libconfuse.la" "libconfuse.la" )
Making all in examples
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o nested nested.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o parsebuf parsebuf.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o env env.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o deprecated deprecated.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o ftpconf ftpconf.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o reread reread.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o simple simple.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o addsec addsec.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o cfgtest cfgtest.o  -L../src/ ../src/.libs/libconfuse.a
libtool: link: /usr/bin/cc -O3 -DNDEBUG -o cli cli.o  -L../src/ ../src/.libs/libconfuse.a
Making all in tests
Making all in doc
[ 34%] Performing install step for 'ExtConfuse'
Making install in m4
Making install in po
installing /opt/postsrsd-2.0.8/_build/_deps/confuse-src/po/sv.gmo as /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/share/locale/sv/LC_MESSAGES/confuse.mo
installing /opt/postsrsd-2.0.8/_build/_deps/confuse-src/po/fr.gmo as /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/share/locale/fr/LC_MESSAGES/confuse.mo
installing /opt/postsrsd-2.0.8/_build/_deps/confuse-src/po/de.gmo as /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/share/locale/de/LC_MESSAGES/confuse.mo
Making install in src
 /usr/bin/mkdir -p '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/include'
 /usr/bin/mkdir -p '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libconfuse.la '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib'
 /usr/bin/install -c -m 644 /opt/postsrsd-2.0.8/_build/_deps/confuse-src/src/confuse.h '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/include'
libtool: install: /usr/bin/install -c .libs/libconfuse.lai /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib/libconfuse.la
libtool: install: /usr/bin/install -c .libs/libconfuse.a /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib/libconfuse.a
libtool: install: chmod 644 /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib/libconfuse.a
libtool: install: /usr/bin/ranlib /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib/libconfuse.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Making install in examples
Making install in tests
Making install in doc
 /usr/bin/mkdir -p '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/share/doc/confuse'
 /usr/bin/mkdir -p '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib/pkgconfig'
 /usr/bin/install -c -m 644 libconfuse.pc '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/lib/pkgconfig'
 /usr/bin/install -c -m 644 /opt/postsrsd-2.0.8/_build/_deps/confuse-src/README.md /opt/postsrsd-2.0.8/_build/_deps/confuse-src/AUTHORS /opt/postsrsd-2.0.8/_build/_deps/confuse-src/LICENSE /opt/postsrsd-2.0.8/_build/_deps/confuse-src/ChangeLog.md '/opt/postsrsd-2.0.8/_build/ExtConfuse-prefix/share/doc/confuse'
[ 36%] No test step for 'ExtConfuse'
[ 38%] Completed 'ExtConfuse'
[ 38%] Built target ExtConfuse
make: *** [Makefile:166: all] Error 2

What do I have to do?

Regards, Marcel

blackbasket commented 9 months ago

I have it running with v1 now. Therefore the users will be happy. But I do not close the issue, because there should be any reason for the error.

roehling commented 9 months ago

Can you post all the commands you ran to build from source, in particular the cmake and make (or ninja) invocation.

roehling commented 9 months ago

I have never experienced this type of build failure, but Google came up with this issue, which sounds like something that could affect you.

blackbasket commented 9 months ago

I used the commands as written in the readme... before this I installed cmake, pkgconf and libconfuse-dev...


mkdir _build && cd _build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
make -j
sudo make install
blackbasket commented 9 months ago

I have never experienced this type of build failure, but Google came up with this issue, which sounds like something that could affect you.

I will give it a try... but it may take some days...

roehling commented 9 months ago

No problem, take your time.

Another option would be to disable unit tests by passing -DBUILD_TESTING=OFF to cmake, which will skip building libcheck completely.

blackbasket commented 9 months ago

Another option would be to disable unit tests by passing -DBUILD_TESTING=OFF to cmake, which will skip building libcheck completely.

I tried this already... make install cmd fails anyway... or do I have to set this in the install-cmd, too?