Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#24014 closed defect (fixed)

Unbound-1.4.2 build failure - link errors if ldns-1.6.1 is installed

Reported by: ray@… Owned by: nerdling (Jeremy Lavergne)
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: Cc: deric@…
Port: unbound

Description

Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_unbound/work/unbound-1.4.2" && /usr/bin/make all " returned error 2
Command output: ./libtool --quiet --tag=CC --mode=link /usr/bin/gcc-4.2 -R/opt/local/lib -O2 -arch x86_64 -g -O2 -D_THREAD_SAFE -L/opt/local/lib -L/opt/local/lib -o unbound build/daemon/acl_list.lo build/daemon/cachedump.lo build/daemon/daemon.lo build/daemon/remote.lo build/daemon/stats.lo build/daemon/unbound.lo build/daemon/worker.lo build/iterator/iter_delegpt.lo build/iterator/iter_donotq.lo build/iterator/iter_fwd.lo build/iterator/iter_hints.lo build/iterator/iter_priv.lo build/iterator/iter_resptype.lo build/iterator/iter_scrub.lo build/iterator/iter_utils.lo build/iterator/iterator.lo build/services/cache/dns.lo build/services/cache/infra.lo build/services/cache/rrset.lo build/services/listen_dnsport.lo build/services/localzone.lo build/services/mesh.lo build/services/modstack.lo build/services/outbound_list.lo build/services/outside_network.lo build/util/alloc.lo build/util/config_file.lo build/util/configlexer.lo build/util/configparser.lo build/util/data/dname.lo build/util/data/msgencode.lo build/util/data/msgparse.lo build/util/data/msgreply.lo build/util/data/packed_rrset.lo build/util/fptr_wlist.lo build/util/locks.lo build/util/log.lo build/util/mini_event.lo build/util/module.lo build/util/net_help.lo build/util/netevent.lo build/util/random.lo build/util/rbtree.lo build/util/regional.lo build/util/rtt.lo build/util/storage/dnstree.lo build/util/storage/lookup3.lo build/util/storage/lruhash.lo build/util/storage/slabhash.lo build/util/timehist.lo build/util/tube.lo build/util/winsock_event.lo build/validator/autotrust.lo build/validator/val_anchor.lo build/validator/val_kcache.lo build/validator/val_kentry.lo build/validator/val_neg.lo build/validator/val_nsec.lo build/validator/val_nsec3.lo build/validator/val_sigcrypt.lo build/validator/val_utils.lo build/validator/validator.lo -lssl -lldns -lcrypto
Undefined symbols:
  "_ldns_key_buf2dsa_raw", referenced from:
      _verify_canonrrset in val_sigcrypt.o
  "_ldns_key_buf2rsa_raw", referenced from:
      _verify_canonrrset in val_sigcrypt.o
      _verify_canonrrset in val_sigcrypt.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [unbound] Error 1

I believe this happens because Unbound includes its own copy of the ldns library which is out of sync with ldns-1.6.1, but linking happens against the MacPorts installed copy.

Deactivating ldns, and building again (after cleaning the build tree) resolves the issue.

Change History (6)

comment:1 Changed 14 years ago by ray@…

Cc: ray@… added

Cc Me!

comment:2 Changed 14 years ago by mf2k (Frank Schima)

Cc: deric@… added; ray@… removed
Owner: changed from macports-tickets@… to snc@…
Port: unbound added

comment:3 Changed 14 years ago by nerdling (Jeremy Lavergne)

Status: newassigned

comment:4 Changed 14 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: assignedclosed

Added conflict in r64617.

comment:5 Changed 14 years ago by ray@…

The author has released 1.4.3 which fixes this properly:

    * Fix for MacPorts ldns without ssl default, unbound checks if ldns
      has dnssec functionality and uses the builtin if not.

comment:6 Changed 14 years ago by ray@…

my previous comment was not submitted correctly -

On further investigation the problem arose because MacPorts ldns is not built by default with SSL support. That causes the undefined symbol failure. If ldns is built with the +ssl variant then unbound compiles cleanly. The new update from the author works around this.

Note: See TracTickets for help on using tickets.