Bug 60 - make --with-python fails on linking
make --with-python fails on linking
Product: Samba 3.0
Classification: Unclassified
Component: python
All Linux
: P1 normal
: none
Assigned To: Tim Potter
Depends on:
  Show dependency treegraph
Reported: 2003-05-01 18:42 UTC by Dave Fenwick
Modified: 2005-11-14 09:30 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Dave Fenwick 2003-05-01 18:42:38 UTC
The configure.in changes made for the dlopen() work broke the python/setup.py. 
setup.py parses the LIBS variable and puts together its own version of it.  The
changes for sending -Wl to gcc (and then to ld) broke the parser in setup.py. 
It no longer will link the python targets.

Output that fails:

gcc -shared build/temp.linux-i686-2.2/py_lsa.o
build/temp.linux-i686-2.2/py_common.o build/temp.linux-i686-2.2/py_ntsec.o
dynconfig.po param/loadparm.po param/params.po lib/charcnv.po lib/debug.po
lib/fault.po lib/getsmbpass.po lib/interface.po lib/md4.po lib/interfaces.po
lib/pidfile.po lib/replace.po lib/signal.po lib/system.po lib/sendfile.po
lib/time.po lib/ufc.po lib/genrand.po lib/username.po lib/util_getent.po
lib/util_pw.po lib/access.po lib/smbrun.po lib/bitmap.po lib/crc32.po
lib/snprintf.po lib/dprintf.po lib/xfile.po lib/wins_srv.po lib/util_str.po
lib/clobber.po lib/util_sid.po lib/util_uuid.po lib/util_unistr.po
lib/util_file.po lib/data_blob.po lib/util.po lib/util_sock.po lib/sock_exec.po
lib/util_sec.po lib/talloc.po lib/hash.po lib/substitute.po lib/fsusage.po
lib/ms_fnmatch.po lib/select.po lib/messages.po lib/tallocmsg.po
lib/dmallocmsg.po lib/md5.po lib/hmacmd5.po lib/iconv.po lib/smbpasswd.po
nsswitch/wb_client.po nsswitch/wb_common.po lib/pam_errors.po intl/lang_tdb.po
lib/account_pol.po lib/adt_tree.po lib/gencache.po tdb/tdb.po tdb/spinlock.po
tdb/tdbutil.po lib/module.po lib/ldap_escape.po libsmb/clientgen.po
libsmb/cliconnect.po libsmb/clifile.po libsmb/clikrb5.po libsmb/clispnego.po
libsmb/asn1.po libsmb/clirap.po libsmb/clierror.po libsmb/climessage.po
libsmb/clireadwrite.po libsmb/clilist.po libsmb/cliprint.po libsmb/clitrans.po
libsmb/clisecdesc.po libsmb/clidgram.po libsmb/clistr.po libsmb/smb_signing.po
libsmb/cliquota.po libsmb/clifsinfo.po libsmb/smberr.po libsmb/credentials.po
libsmb/pwd_cache.po libsmb/clioplock.po libsmb/errormap.po libsmb/clirap2.po
libsmb/passchange.po libsmb/doserr.po libsmb/trustdom_cache.po
rpc_parse/parse_prs.po rpc_parse/parse_sec.po rpc_parse/parse_misc.po
libsmb/ntlmssp.po libsmb/ntlmssp_parse.po libsmb/ntlmssp_sign.po libsmb/nterr.po
libsmb/smbdes.po libsmb/smbencrypt.po libsmb/unexpected.po libsmb/namecache.po
libsmb/nmblib.po libsmb/namequery.po rpc_parse/parse_lsa.po
rpc_parse/parse_net.po rpc_parse/parse_reg.po rpc_parse/parse_rpc.po
rpc_parse/parse_samr.po rpc_parse/parse_srv.po rpc_parse/parse_wks.po
rpc_parse/parse_ds.po rpc_parse/parse_spoolss.po rpc_parse/parse_dfs.po
rpc_parse/parse_echo.po registry/reg_objects.po ubiqx/ubi_BinTree.po
ubiqx/ubi_Cache.po ubiqx/ubi_SplayTree.po ubiqx/ubi_dLinkList.po
ubiqx/ubi_sLinkList.po rpc_client/cli_lsarpc.po rpc_client/cli_samr.po
rpc_client/cli_netlogon.po rpc_client/cli_srvsvc.po rpc_client/cli_wkssvc.po
rpc_client/cli_dfs.po rpc_client/cli_reg.po rpc_client/cli_pipe.po
rpc_client/cli_spoolss.po rpc_client/cli_spoolss_notify.po rpc_client/cli_ds.po
rpc_client/cli_echo.po libsmb/namequery_dc.po passdb/pdb_get_set.po
passdb/passdb.po passdb/pdb_interface.po passdb/machine_sid.po
passdb/util_sam_sid.po passdb/pdb_compat.po passdb/pdb_ldap.po
passdb/pdb_smbpasswd.po passdb/pdb_tdb.po passdb/pdb_guest.po groupdb/mapping.po
passdb/secrets.po libads/kerberos.po -L/usr/kerberos/lib -lcrypt -lresolv -lnsl
-ldl -llber -lldap -l-Wl,-rpath -lkrb5 -lk5crypto -lcom_err -lcom_err -lk5crypto
-lcrypto -lkrb5 -lgssapi_krb5 -o build/lib.linux-i686-2.2/samba/lsa.so
cannot find -l-Wl,-rpath
Comment 1 Tim Potter 2003-05-01 18:53:31 UTC
Changing component to python and accepting.
Comment 2 Tim Potter 2003-05-01 18:55:17 UTC
Whoops - that didn't quite do what I expected.  Reassigning to me.

I think the problem is that there are both linker flags and linker libraries in
the so called $SAMBA_LIBS Makefile variable.  The python setup.py builder needs
to sort them into different lists.
Comment 3 Tim Potter 2003-05-04 23:21:28 UTC
Dave, I've checked in some fixes to separate libraries from linker flags when
building the python extensions.

Can you test and mark as verified if it works for you, otherwise reopen.
Comment 4 Gerald (Jerry) Carter 2003-05-20 08:56:54 UTC
Comment 5 Dave Fenwick 2003-05-21 19:33:49 UTC
This bug still exists.  There were some changes made to the Makefile that 
affected how the Python makefile is generated.  Tim has looked at it and we've 
talked about it, but he hasn't finished his implementation yet.
Comment 6 Tim Potter 2003-05-22 21:03:07 UTC
Dave, can you repost the link command that is failing?

My previous patch was supposed to prevent it from putting -l-W,-rpath on the
command line.
Comment 7 Tim Potter 2003-08-11 17:52:31 UTC
Dave, are you still there?  This Works For Me now.  Can you retest and let me
know  what the story is with current cvs?
Comment 8 Gerald (Jerry) Carter 2003-08-15 09:46:28 UTC
marking as fixed since there been no feedback since the recent changes.
Reopen if neccesary.
Comment 9 Gerald (Jerry) Carter 2005-02-07 07:54:23 UTC
originally reported against 3.0alpha23.  Bugzilla spring cleaning.
Comment 10 Gerald (Jerry) Carter 2005-08-24 10:19:34 UTC
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.
Comment 11 Gerald (Jerry) Carter 2005-11-14 09:30:54 UTC
database cleanup