dar has been updated from 2.4.17 to 2.5.1 but the newer version introduces dependencies which are enabled by default in configure. This causes the build to fail due to unresolved references.
I won't list those dependencies here because it would be better for the maintainer to determine them and how they are to be handled e.g. disable them or provide user-selectable options on a case-by-case basis.
I need more details. As I can't see any errors. For your reference please check the following:
Before committing I always check it out.
I knew not providing explicit information would bite me:
Dar now supports (and enables by default in configure) the following:
The relevant new configuration controls are:
Disable linking to libz, thus -zgzip:* option (gzip compression) will not be available
Disable linking to liblzma5 this -zxz:* option (xz compression) will not be available
Disable linking with gpgme library. Asymetric strong encryption algorithms will not be available
I don't know how you build and test but a system with those dependencies installed would build without errors.
FWIW: I think that upstream has got his option implementation all wrong. If a feature is optional it should default to disabled and the user should enable it by some means.
A commit references this bug:
Date: Sat Nov 21 20:31:37 UTC 2015
New revision: 402199
sysutils/dar: Add new OPTIONS
- Add ZLIB, BZIP2, LZMA and GPGME support in the new version
Submitted by: email@example.com
Unfortunately those dependencies are by default in base system. However I have added those options with disabled by default.
(In reply to Muhammad Moinur Rahman from comment #4)
I think that you will only have those dependencies installed automatically for a system with a GUI.
For my headless server systems built from a basic install I had to install libgcrypt and lzo2 myself. Only libbz2 was provided by the standard installation.
You can check my LOG file in Comment 1. Which mentions what functions were enabled and what were disabled. By the by all my ports are checked with Fresh systems all the time. And for version 9, 10 and HEAD and for ARCH i386 and amd64 before committing.
(In reply to Muhammad Moinur Rahman from comment #6)
Yes, I am sure you are right.
In fact, I think I am seeing an upstream bug here as a result of those dependencies being absent/disabled.
I think configure was determining those libraries weren't present anyway (although your change is appreciated and beneficial) but the code in dar is expecting the availability of a feature when it shouldn't.
I have posted to the dar-support mailing list for Denis' comments. If he can't fix the problem empirically he will probably use one of my systems to diagnose it anyway.
The error reported, by the way, is:
Making all in check
depbase=`echo all_features.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; c++ -DHAVE_CONFIG_H -I. -I../.. -I../libdar -DDAR_LOCALEDIR=\"/usr/local/share/locale\" -DDAR_SYS_DIR=\"/usr/local/etc\" -I/usr/local/include -O2 -march=k8 -fstack-protector -fno-strict-aliasing -std=c++11 -MT all_features.o -MD -MP -MF $depbase.Tpo -c -o all_features.o all_features.cpp && mv -f $depbase.Tpo $depbase.Po
/bin/sh ../../libtool --tag=CXX --mode=link c++ -O2 -march=k8 -fstack-protector -fno-strict-aliasing -std=c++11 -L/usr/local/lib -lintl -R/usr/local/lib -L/usr/local/lib -fstack-protector -o all_features all_features.o -L../libdar -ldar -lexecinfo -pthread -lgcrypt -lgpg-error -llzo2
libtool: link: c++ -O2 -march=k8 -fstack-protector -fno-strict-aliasing -std=c++11 -fstack-protector -o all_features all_features.o -pthread -L/usr/local/lib -lintl -L../libdar -ldar -lexecinfo -lgcrypt -lgpg-error -llzo2 -pthread -Wl,-rpath -Wl,/usr/local/lib
all_features.o: In function `main':
all_features.cpp:(.text+0x23f): undefined reference to `libdar::compile_time::libxz()'
all_features.cpp:(.text+0x259): undefined reference to `libdar::compile_time::public_key_cipher()'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1
make: stopped in /usr/ports/sysutils/dar/work/dar-2.5.1/src/check
*** Error code 1