Error compiling Samba 4 Beta 2 on NetBSD 6

Matthieu Patou mat at matws.net
Wed Jun 27 10:53:34 MDT 2012


On 06/26/2012 02:08 AM, Stephan wrote:
> Hi all,
>
> I am trying to compile the current Samba 4 Beta 2 build on NetBSD 6. I
> am experiencing a linking problem:
>
>
> # make
> WAF_MAKE=1 ./buildtools/bin/waf build
> Waf: Entering directory `/root/samba-4.0.0beta2/bin'
>      Selected embedded Heimdal build
> [ 123/3758] Generating VERSION
> [ 159/3758] Generating smbd/build_options.c
> [3619/3758] Linking default/source4/smbd/samba
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_set_name_const at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_vasprintf_append at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_named_const at TALLOC_2.0.2'
> default/lib/util/libsamba-util.so: undefined reference to
> `talloc_pool at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `_talloc_memdup at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `_talloc_array at TALLOC_2.0.2'
> default/libcli/auth/libcliauth.so: undefined reference to
> `tdb_transaction_commit at TDB_1.2.1'
> default/lib/util/libutil_tdb.so: undefined reference to `tdb_fetch at TDB_1.2.1'
> default/lib/util/libsamba-util.so: undefined reference to
> `talloc_set_log_fn at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `_talloc_steal_loc at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_autofree_context at TALLOC_2.0.2'
> default/libcli/auth/libcliauth.so: undefined reference to
> `tdb_transaction_start at TDB_1.2.1'
> default/lib/util/libutil_tdb.so: undefined reference to
> `tdb_chainunlock at TDB_1.2.1'
> default/lib/ldb/libldb.so: undefined reference to
> `_talloc_reference_loc at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_strdup_append_buffer at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `talloc_set_name at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `talloc_reparent at TALLOC_2.0.2'
> default/lib/util/libutil_tdb.so: undefined reference to
> `tdb_chainlock at TDB_1.2.1'
> default/lib/tevent/libtevent.so: undefined reference to
> `talloc_get_name at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_check_name at TALLOC_2.0.2'
> default/lib/tdb_wrap/libtdb-wrap.so: undefined reference to
> `tdb_open_ex at TDB_1.2.1'
> default/lib/util/libutil_tdb.so: undefined reference to
> `tdb_chainunlock_read at TDB_1.2.1'
> default/lib/ldb/libldb.so: undefined reference to `talloc_strdup at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `talloc_strndup at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_vasprintf at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `_talloc_realloc_array at TALLOC_2.0.2'
> default/libcli/auth/libcliauth.so: undefined reference to
> `talloc_named at TALLOC_2.0.2'
> default/lib/tevent/libtevent.so: undefined reference to
> `_talloc_get_type_abort at TALLOC_2.0.2'
> default/libcli/auth/libcliauth.so: undefined reference to
> `tdb_transaction_cancel at TDB_1.2.1'
> default/lib/util/libutil_tdb.so: undefined reference to `tdb_store at TDB_1.2.1'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_asprintf_append at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `talloc_asprintf_append_buffer at TALLOC_2.0.2'
> default/lib/util/libutil_tdb.so: undefined reference to
> `tdb_chainlock_read at TDB_1.2.1'
> default/librpc/libndr.so: undefined reference to
> `talloc_strdup_append at TALLOC_2.0.2'
> default/libcli/auth/libcliauth.so: undefined reference to
> `talloc_init at TALLOC_2.0.2'
> default/source4/auth/kerberos/libauthkrb5.so: undefined reference to
> `talloc_unlink at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `talloc_get_size at TALLOC_2.0.2'
> default/lib/tdb_wrap/libtdb-wrap.so: undefined reference to `tdb_name at TDB_1.2.1'
> default/lib/ldb/libldb.so: undefined reference to `talloc_asprintf at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `_talloc_move at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to `_talloc_zero at TALLOC_2.0.2'
> default/librpc/libndr.so: undefined reference to
> `talloc_vasprintf_append_buffer at TALLOC_2.0.2'
> default/lib/util/libutil_tdb.so: undefined reference to `tdb_delete at TDB_1.2.1'
> default/lib/ldb/libldb.so: undefined reference to `_talloc_free at TALLOC_2.0.2'
> default/lib/tdb_wrap/libtdb-wrap.so: undefined reference to
> `tdb_close at TDB_1.2.1'
> default/lib/util/libutil_tdb.so: undefined reference to `tdb_error at TDB_1.2.1'
> default/lib/ldb/libldb.so: undefined reference to
> `_talloc_set_destructor at TALLOC_2.0.2'
> default/lib/ldb/libldb.so: undefined reference to
> `_talloc_zero_array at TALLOC_2.0.2'
> default/libcli/auth/libcliauth.so: undefined reference to
> `tdb_errorstr at TDB_1.2.1'
> Waf: Leaving directory `/root/samba-4.0.0beta2/bin'
> Build failed:  -> task failed (err #1):
>          {task: cc_link
> samba_server_gensec_8.o,popt_common_5.o,ntptr_simple_ldb_1.o,ntptr_base_2.o,ntptr_interface_2.o,server_11.o,forward_3.o,reply_3.o,dcesrv_auth_3.o,loadparm_3.o,pidfile_5.o
> -> samba}
> *** Error code 1
>
> Stop.
> make: stopped in /root/samba-4.0.0beta2
>
>
>
>
> It seems that the linker isn´t told to at leat link against
> libtalloc.so. Any ideas?
Do you have a system version of talloc installed ? My wild guess is that 
we fail to detect that it's a broken one and we try to use it even if it 
didn't support what we need.
Other option is related to versioned symbols that are not present in 
this library but required by the build (ie.tdb_error at TDB_1.2.1).

Matthieu.



More information about the samba-technical mailing list