Ticket #118 (closed defect: worksforme)

Opened 3 years ago

Last modified 2 years ago

mac os x: Running varnishd results in dyld: lazy symbol binding failed: Symbol not found: _strndup

Reported by: oh Owned by: des
Priority: normal Milestone:
Component: build Version: trunk
Severity: normal Keywords:
Cc:

Description

Running varnishd (trunk) on mac os x results in the following error message:

$ /opt/varnish/sbin/varnishd -a localhost:8080 -b localhost:80
dyld: lazy symbol binding failed: Symbol not found: _strndup
  Referenced from: /opt/varnish/lib/libvarnish.0.dylib
  Expected in: flat namespace

dyld: Symbol not found: _strndup
  Referenced from: /opt/varnish/lib/libvarnish.0.dylib
  Expected in: flat namespace

Trace/BPT trap

(os x does not have strndup())

Change History

Changed 3 years ago by andre

I also see this problem with current trunk.

Changed 3 years ago by vamoose

I'm also seeing this problem installed on mac osx tiger w/ Varnish 1.1. Does anyone have a solution for this?

Changed 3 years ago by des

  • status changed from new to assigned

Weird - this did not show up in my testing last week. I'll investigate.

Changed 3 years ago by des

This seems to be a bug in libtool, which ignores -export-dynamic. Run autogen.sh and configure, then look for the following line in $(top_srcdir)/libtool:

export_dynamic_flag_spec=""

This should be changed to

export_dynamic_flag_spec="-flat_namespace"

Then run make clean; make install and it should work.

I'm not sure how to fix this properly.

Changed 2 years ago by phk

  • status changed from assigned to closed
  • resolution set to worksforme

This does not seem to be a varnish problem.

Note: See TracTickets for help on using tickets.