smbsh issues w/ samba-2.0.7
David Lee
T.D.Lee at durham.ac.uk
Thu Nov 2 17:23:40 GMT 2000
On Thu, 2 Nov 2000, David Collier-Brown wrote:
> Dave Krovich wrote:
> > > First off, I'm running on a Redhat Linux 6.2 system, using
> > >gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release).
> > > I can't seem to get smbsh to compile.
> > > I grabbed samba-2.0.7, and did the following, which generated
> > >a compile error.
>
> Giulio Orsero wrote:
> > You cannot use smbsh on linux anymore. glibc incompatibilities.
>
> I know they took out LD_PRELOAD, but did they
> remove dlopen/dlysm too? (I have an uninstalled
> copy of red hat at home, waiting for me to find
> spare time)
>
> I'll happily help anyone to see if we can get around
> the glibc2 removal-of-ELF-standard functionality:
> I worked for two years on Elf linkers and interposers,
> including sotruss/apptrace on Solaris. The reported
> errors don't look all that evil:
>
> smbwrapper/smbw.c:1429: warning: `struct stat64' declared inside
> parameter
> list smbwrapper/smbw.c:1429: warning: its scope is only this definition
> or
> declaration,
> smbwrapper/smbw.c:1429: warning: which is probably not what you want.
> smbwrapper/smbw.c:1431: dereferencing pointer to incomplete type
>
> smbwrapper/smbw.c:1448: warning: `struct dirent64' declared inside
> parameter list
> smbwrapper/smbw.c: In function `dirent64_convert':
> smbwrapper/smbw.c:1450: dereferencing pointer to incomplete type
Dave (C-B),
Although apparently deviating from smbsh/Linux/glibc, I think the
following is related.
I have long suspected there is something with 64-bit stuff needing
attention. Certainly under 2.0.7, and also, I'm 99% sure under earlier
versions and under the later 2.2.0alpha0, on a Sun U450 with Solaris 2.6
(32-bit mode) gives some warnings:
Compiling lib/system.c
../lib/system.c: In function `sys_readdir':
../lib/system.c:350: warning: return from incompatible pointer type
which is at the code:
SMB_STRUCT_DIRENT *sys_readdir(DIR *dirp)
{
#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_READDIR64)
return readdir64(dirp);
#else
return readdir(dirp);
#endif
}
So I suspect there are some 64-bit declarations and some '#if ...' things
that perhaps need some laborious attention by someone who understands the
issues and understands the Samba declarations (and intentions behind the
declarations).
Hope that helps.
--
: David Lee I.T. Service :
: Systems Programmer Computer Centre :
: University of Durham :
: http://www.dur.ac.uk/~dcl0tdl South Road :
: Durham :
: Phone: +44 191 374 2882 U.K. :
More information about the samba-technical
mailing list