Samba4 status heading to the next TP

Alexander Bokovoy ab at samba.org
Sun Mar 19 07:10:40 GMT 2006


Alexander Bokovoy wrote:
> Jelmer Vernooij wrote:
> 
>> Just a heads up.. I hope to be doing a TP this weekend or on
>> monday. The work on the build system and support for shared
>> libraries is pretty much finished now. There will be some more
>> small changes in the next few days, but nothing too big.
> 
> Samba 4 DSO build system is broken w.r.t. ld --as-needed  in 
> scripting/ejs/config.mk -- it uses libndr_table but that library is
> put in gcc parameters' list well before SUBSYSTEM_smbcalls.o which
> uses two symbols of it.
> 
> ld --as-needed will become default setting anytime soon in binutils 
> release. It is basically a move to treat shared objects' linking in
> the same way as static objects are treated currently -- i.e. symbol 
> dependencies are satisfied only using libraries available on the
> right side of the list after the object which contains the symbol.
> 
> What is the current algorithm of reodering dependency information? It
>  seems that moving dependencies around in config.mk files does not
> make any difference.
Here is how it looks:

Linking bin/smbscript
gcc -Wl,--as-needed -L./bin -o bin/smbscript -Wl,-rpath,./bin
-Wl,-rpath-link,./bin \
                scripting/ejs/smbscript.o
bin/subsystems/MODULE_socket_ipv4.o
bin/subsystems/SUBSYSTEM_LIBCLI_UTILS.o bin/libtdb.so.0.0.1
bin/subsystems/SUBSYSTEM_LIBNETIF.o bin/subsystems/SUBSYSTEM_LIBEVENTS.o
bin/subsystems/SUBSYSTEM_LIBCLI_LDAP.o
bin/subsystems/SUBSYSTEM_POPT_CREDENTIALS.o
bin/subsystems/SUBSYSTEM_LIBSMB.o bin/subsystems/SUBSYSTEM_SECRETS.o
bin/subsystems/SUBSYSTEM_MESSAGING.o
bin/subsystems/SUBSYSTEM_SCHANNELDB.o bin/libnet.so.0.0.1
bin/subsystems/SUBSYSTEM_LIBCLI_RESOLVE.o bin/libndr_samr.so.0.0.1
bin/libgensec.so.0.0.1 bin/libndr_table.so.0.0.1
bin/subsystems/SUBSYSTEM_LIBCMDLINE_CREDENTIALS.o bin/libbasic.so.0.0.1
bin/libcli_nbt.so.0.0.1 bin/subsystems/SUBSYSTEM_LDBSAMBA.o
bin/subsystems/SUBSYSTEM_SOCKET.o
bin/subsystems/SUBSYSTEM_LIB_SECURITY.o bin/libdynconfig.so
bin/subsystems/MODULE_auth_sam.o bin/subsystems/SUBSYSTEM_LIBCLI_AUTH.o
bin/subsystems/SUBSYSTEM_EJSRPC.o bin/subsystems/SUBSYSTEM_UNIX_PRIVS.o
bin/libdcerpc.so.0.0.1 bin/subsystems/SUBSYSTEM_smbcalls.o
bin/subsystems/SUBSYSTEM_SAMDB.o bin/subsystems/SUBSYSTEM_CONFIG.o
bin/subsystems/SUBSYSTEM_CREDENTIALS.o
bin/subsystems/MODULE_socket_ipv6.o
bin/subsystems/SUBSYSTEM_MSRPC_PARSE.o bin/subsystems/SUBSYSTEM_auth.o
bin/libndr_security.so.0.0.1 bin/subsystems/SUBSYSTEM_LIBPACKET.o
bin/subsystems/SUBSYSTEM_EJS.o bin/libsocket_wrapper.so.0.0.1
bin/libheimdal.so.0.0.1 bin/subsystems/SUBSYSTEM_DB_WRAP.o
bin/subsystems/SUBSYSTEM_LIBTLS.o bin/libndr_irpc.so.0.0.1
bin/libldb.so.0.0.1 bin/libcli.so.0.0.1 bin/libtalloc.so.0.0.1
bin/subsystems/SUBSYSTEM_MPR.o bin/subsystems/SUBSYSTEM_POPT_SAMBA.o
bin/subsystems/MODULE_socket_unix.o \
                -lpopt -lgnutls
bin/subsystems/SUBSYSTEM_smbcalls.o: In function
`ejs_rpc_connect':scripting/ejs/smbcalls_rpc.c:139: undefined reference
to `idl_iface_by_name'
bin/subsystems/SUBSYSTEM_smbcalls.o: In function
`ejs_rpc_init':scripting/ejs/smbcalls_rpc.c:373: undefined reference to
`dcerpc_table_init'
collect2: ld returned 1 exit status

If we would exchange bin/libndr_table.so.0.0.1 and
bin/subsystems/SUBSYSTEM_smbcalls.o, everything links well.

-- 
/ Alexander Bokovoy
Samba Team                      http://www.samba.org/
ALT Linux Team                  http://www.altlinux.org/
Midgard Project Ry              http://www.midgard-project.org/


More information about the samba-technical mailing list