combined s3/s4 build - initial build working

tridge at samba.org tridge at samba.org
Mon Feb 21 17:09:29 MST 2011


Hi Metze,

 > Currently smbd links against libgensec.so.0, libldb.so.1,
 > libsamba-util.so.0, libsamba-sockets.so, libcredentials.so,
 > libsamdb.so.0 and a few others, which should not be needed.

I've added a WHYNEEDED option to allow you to see why these libraries
are linked. For example:

 make WHYNEEDED=smbd/smbd:gensec

gives:

 target 'smbd/smbd' uses symbols set(['open_schannel_session_store']) from 'gensec'

which is not too unreasonable. It could be split out into a separate
library.

For the other dependencies you mention, these are the results:

 target 'smbd/smbd' uses symbols set(['close_low_fds', 'dbghdrclass', 'load_case_tables', 'directory_exist', 'become_daemon', 'reopen_logs', 'sys_fork', 'generate_random_buffer', 'debug_level', 'timeval_set', 'next_token_talloc', 'set_blocking', 'get_dyn_CONFIGFILE', 'setup_logging', 'strequal', 'sys_getpid', 'smb_panic', 'fault_setup', 'talloc_stackframe', 'CatchChild', 'DEBUGLEVEL_CLASS', 'timeval_current_ofs', 'interpret_string_addr', 'talloc_tos', 'DEBUGLEVEL_CLASS_ISSET', 'BlockSignals', 'time_mono', 'dbgtext', 'd_fprintf']) from 'samba-util'

This happens because we have 15 symbols overlapping between
'samba3core' and 'samba-util'. We need to work towards moving those
into common code.

 target 'smbd/smbd' uses symbols set(['secrets_init']) from 'credentials'

 target 'smbd/smbd' uses symbols set(['set_socket_options']) from 'samba-sockets'

I don't get smbd linking to libldb.so or libsamdb.so on my system.

Cheers, Tridge


More information about the samba-technical mailing list