[MPlayer-users] samba support(?)

Savchenko Andrew Bircoph at list.ru
Thu Feb 3 21:02:15 CET 2005


Is there someone so lucky to make smb support works correctly??! I understand, 
this support is experimental, but I can't make it works anyway... I'm using 
the latest CVS version of MPlayer.

So, there are some bugs detected:
1) Error in configure script. This test code from configure can't be compiled 
even if samba installed, because _before_ calling any function of 
libsmbclient you must call smbc_init, according to libsmbclient 
documentation:
---
#include <libsmbclient.h>
int main(void) { smbc_opendir("smb://"); return 0; }
---
So, user must force samba support by using --enable-smb option when 
running ./configure.

2) Well, I've foreced samba support, then I've got linker error:
---
cc -I../libvo -I../../libvo -I/usr/X11R6/include -fno-PIC -O4 -march=athlon-xp 
-mcpu=athlon-xp -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I. -I/usr/include/freetype2  
-I/usr/include/cdda -I/usr/include/SDL -D_REENTRANT -I/usr/X11R6/include     
-I/usr/include/    -o mplayer mplayer.o mp_msg.o cpudetect.o codec-cfg.o 
spudec.o playtree.o playtreeparser.o asxparser.o vobsub.o subreader.o 
sub_cc.o find_sub.o m_config.o m_option.o parser-cfg.o m_struct.o edl.o 
unrarlib.o mixer.o parser-mpcmd.o subopt-helper.o libvo/libvo.a 
libao2/libao2.a libmenu/libmenu.a vidix/libvidix.a  libmpcodecs/libmpcodecs.a 
loader/libloader.a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a 
libaf/libaf.a libmpdemux/libmpdemux.a input/libinput.a postproc/libswscale.a 
osdep/libosdep.a -Llibmpdvdkit2 -lmpdvdkit libavcodec/libavcodec.a   -lmad 
-ldv -ltheora -logg  -llzo -ldivxdecore -lmp3lame  -lxvidcore -lm -ldts -lm 
-lpng -lz -lz -ljpeg -lasound -ldl -lpthread /usr/lib/libxmms.so.1 
-export-dynamic -lx264 -lm -ltoolame -lfreetype -lz -ltermcap 
-lcdda_interface 
-lcdda_paranoia /usr/lib/liveMedia/libliveMedia.a /usr/lib/groupsock/libgroupsock.a /usr/lib/UsageEnvironment/libUsageEnvironment.a /usr/lib/BasicUsageEnvironment/libBasicUsageEnvironment.a 
-lstdc++ -lnsl  -lungif  -lsmbclient  -lfontconfig    libfaad2/libfaad2.a  
mp3lib/libMP3.a liba52/liba52.a libmpeg2/libmpeg2.a tremor/libvorbisidec.a  
-laa -lGL -lXxf86dga -lXv  -lXxf86vm -lXinerama -L/usr/X11R6/lib -lXext -lX11 
-lnsl -lnsl -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lggi   -lvgagl 
-lvga -lm -ldirectfb -L/usr/lib -lcaca -lslang -lX11 -L/usr/X11R6/lib 
-lncurses -lncurses -L/usr/lib -ldl -lartsc -lpthread -L/usr/lib -lesd 
-laudiofile -lm -lbio2jack -ljack   -laudio -lXt -L/usr/X11R6/lib -lXext 
-lX11 -lnsl       -lpthread -ldl -rdynamic   -lm
/usr/lib/libsmbclient.a(util_sock.po)(.text+0x72b): In function 
`read_socket_with_timeout':
: undefined reference to `SSL_read'
/usr/lib/libsmbclient.a(util_sock.po)(.text+0x902): In function 
`read_socket_with_timeout':
: undefined reference to `SSL_read'
/usr/lib/libsmbclient.a(util_sock.po)(.text+0xa91): In function 
`read_with_timeout':
: undefined reference to `SSL_read'
/usr/lib/libsmbclient.a(util_sock.po)(.text+0xbb3): In function 
`read_with_timeout':
: undefined reference to `SSL_read'
/usr/lib/libsmbclient.a(util_sock.po)(.text+0xd96): In function `read_data':
: undefined reference to `SSL_read'
/usr/lib/libsmbclient.a(util_sock.po)(.text+0xe85): In function `write_data':
: undefined reference to `SSL_write'
/usr/lib/libsmbclient.a(util_sock.po)(.text+0xf7d): In function 
`write_socket_data':
: undefined reference to `SSL_write'
/usr/lib/libsmbclient.a(ssl.po)(.text+0x46): In function `ssl_verify_cb':
: undefined reference to `X509_get_issuer_name'
/usr/lib/libsmbclient.a(ssl.po)(.text+0x5a): In function `ssl_verify_cb':
: undefined reference to `X509_NAME_oneline'
/usr/lib/libsmbclient.a(ssl.po)(.text+0x314): In function `ssl_temp_rsa_cb':
: undefined reference to `RSA_generate_key'
/usr/lib/libsmbclient.a(ssl.po)(.text+0x333): In function `sslutil_init':
: undefined reference to `SSL_load_error_strings'
/usr/lib/libsmbclient.a(ssl.po)(.text+0x338): In function `sslutil_init':
: undefined reference to `SSL_library_init'
/usr/lib/libsmbclient.a(ssl.po)(.text+0x38d): In function `sslutil_init':
: undefined reference to `SSLv23_method'
/usr/lib/libsmbclient.a(ssl.po)(.text+0x395): In function `sslutil_init':
: undefined reference to `SSL_CTX_new'
---
..and so on (it is _not_ full output). This error occurs because libssl is NOT 
linked. So, I've change
SMBSUPPORT_LIB = -lsmbclient
to 
SMBSUPPORT_LIB = -lsmbclient -lssl
in configure.mak and code compiled successfully.

3) So, now I have mplayer compiled with samba support, but is still doesn't 
work. When I try to use smb resource (this resource is available for reading 
for _every_ user and _every_ password), I've got this error:
---
./mplayer smb://192.168.6.22/video/anime/sprigan.avi
...
Playing smb://192.168.6.22/video/anime/sprigan.avi.
Cannot init the libsmbclient library: -1
---
I think, it is because sbmc_init in mplayer's code is called with incorrect 
parameters. Also I think mplayer needs command line parameters to give a 
possibility for user to input username, password and other smb options if 
they are needed to change.

Can anyone fix this? Unfortunately, I've no time now...
Why I need smb support in mplayer? Sometimes it is preferably than smbmount, 
especially in large networks...




More information about the MPlayer-users mailing list