[Samba] Samba compilation issue
Gaiseric Vandal
gaiseric.vandal at gmail.com
Fri May 18 05:20:51 MDT 2012
http://www.samba.org/ftp/talloc/ - has talloc 1.3.x not 1.0.x (my
mistake.)
For the non working machine - which package are you using for 3.4.2?
SMCsamba is the package from Sunfreeware.com. I am unclear if you
non-working has 3.4.2 or 3.5.3. SUNWsmb* packages are from Sun/Oracle.
I am also guessing that on the working machine you have gcc from sunfreeware
(based on the /usr/local path.) Depending on how your LD_LIBRARY_PATH was
set and which gcc you were using, the SMCsamba packages could have provided
some required libraries when building software. My guess is that samba
3.5.x uses a newer libtalloc than 3.4.x and that was causing some of the
problems. Although LD_LIBRARY_PATH and PKG_CONFIG_PATH should have let
you specify the version you wanted. I wonder if the wrong gcc isnt
picking it up correctly- so using the same gcc as the working machine may
matter.
Are you on a sparc or x86_64 system? I believe that sunfreeware gcc on
sparc compiles 64-bit by default but on x86_64 will compile 32-bit by
default (even on a 64-bit machine.)
I still think the simplest thing is to just use the latest Sun/Oracle samba
and skip compiling. You should be able to download the Samba patches from
Oracle without having to install the full patch cluster.
PS. I noticed that samba 3.4.x and higher enforce the Solaris NGROUPS_MAX
parameter. You probably want to have set ngroups_max=32 in
/etc/system- otherwise default is 16. If you have the latest kernel
patches (147440-10 or 147441-10 as of 2-3 months ago) you can set this even
higher.
From: prabu.murugan at emc.com [mailto:prabu.murugan at emc.com]
Sent: Friday, May 18, 2012 12:25 AM
To: gaiseric.vandal at gmail.com; samba at lists.samba.org
Subject: RE: Samba compilation issue
Thanks a lot for your reply. I was going crazy because of this issue.
Let me answer your questions.
Can you cat talloc.pc- make sure the config file shows the correct path.
>>>bash-3.2# more /usr/local/samba-extras/lib/pkgconfig/talloc.pc
prefix=/usr/local/samba-extras
exec_prefix=${prefix}
libdir=${prefix}/lib
includedir=${prefix}/include
Name: talloc
Description: A hierarchical pool based memory system with destructors
Version: 2.0.7
Libs: -Wl,-rpath,/usr/local/samba-extras/lib -L${libdir} -ltalloc
Cflags: -I${includedir}
URL: http://talloc.samba.org/
I wonder what the significant difference is between your two solaris 10
machines. Which gcc are you using. Do either of them have the sunfreeware
versions of samba? Or the sun bundled versions of samba. Maybe one
machine already has libtalloc installed. What does "pkginfo | grep -i
samba" show? I think samba 3.0x. binaries from Sun/Oracle may have been in
/usr/sfw/bin not /usr/bin.
>>>>On the working server /usr/local/bin/gcc version is 3.4.6. Here /bin/gcc
is 3.4.3. path and version are different.
Non working machine
bash-3.2# pkginfo | grep -i samba
application SMCsamba samba è 3.5.3
system SUNWsmbaS samba - A Windows SMB/CIFS
fileserver for UNIX (Source)
system SUNWsmbac samba - A Windows SMB/CIFS
fileserver for UNIX (client)
system SUNWsmbar samba - A Windows SMB/CIFS
fileserver for UNIX (Root)
system SUNWsmbau samba - A Windows SMB/CIFS
fileserver for UNIX (Usr)
Working machine
bash-3.00# pkginfo |grep samba
application SMCsamba samba è 3.0.24
system SUNWsmbac samba - A Windows SMB/CIFS
fileserver for UNIX (client) è
system SUNWsmbar samba - A Windows SMB/CIFS
fileserver for UNIX (Root)
system SUNWsmbau samba - A Windows SMB/CIFS
fileserver for UNIX (Usr)
system samba SMB based file/printer sharing
What is the current version of samba you are running. Did you compile that
or is if from a package? Is the current version in the PKG_CONFIG_PATH or
LD_LIBRARY_PATH when compiling the new one?
>>>Working machine we were compiled samba 3.0.21b. now compiled 3.4.17. Non
working machine current version 3.4.2(as package, not from source code)
since 3.0.21b was not getting compiled.
Working machine OS is Solaris 10_update 5. Non-working machine is latest OS
Solaris 10_update 10.
PS The samba 3.4.17 source code includes talloc. But it might be 1.0.x
Maybe try downloading and compiling 1.0.x instead. And I would try
building it into the same directory that you are building the rest of samba.
>>>I dont see 1.0.x under http://www.samba.org/ftp/talloc/. So I tried with
2.0.7.
bash-3.2# pwd
/usr/local/talloc-2.0.7
bash-3.2# ./configure --prefix=/usr/local/samba-3.4.17/source/
Is the current version in the PKG_CONFIG_PATH or LD_LIBRARY_PATH when
compiling the new one?
>>>No they are not included in the new one.
bash-3.2# echo $LD_LIBRARY_PATH
/usr/local/samba-extras/lib/
bash-3.2# echo $PKG_CONFIG_PATH
/usr/local/samba-extras/lib/pkgconfig/
3.4.2 were under /usr/local/samba/. I moved as /usr/local/samba-3.4.2.
Thanks,
Prabu
From: Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com]
Sent: Friday, May 18, 2012 3:52 AM
To: Murugan, Prabu; Samba
Subject: Re: Samba compilation issue
On 05/17/12 18:18, Gaiseric Vandal wrote:
On 05/17/12 11:15, prabu.murugan at emc.com wrote:
Hi,
As a security concern we are upgrading samba to 3.4.17.
I tried all possible option to compile samba 3.4.17 on Solaris 10_U10. But
it is not going through.
User requirement is to compile samba 3.4.17 to support their application.
3.4.17 is working on Solaris 9 and Solaris 10_U5. But not on Solaris 10_U10.
./configure and make gives error related to talloc. I have set the
PKG_CONFIG_PATH. Still the error is same.
I tried the solution provided by you on URL
http://lists.samba.org/archive/samba/2010-June/156711.html
Can you help me with this issue.
bash-3.2# pwd
/usr/local/samba-3.4.17/source3
bash-3.2# more config.err
Package talloc was not found in the pkg-config search path.
Perhaps you should add the directory containing `talloc.pc'
to the PKG_CONFIG_PATH environment variable
No package 'talloc' found
bash-3.2# echo $LD_LIBRARY_PATH
/usr/local/samba-extras/lib/
bash-3.2# echo $PKG_CONFIG_PATH
/usr/local/samba-extras/lib/pkgconfig/
bash-3.2# ls -l /usr/local/samba-extras/lib/pkgconfig/
total 6
-rw-r--r-- 1 root root 334 May 16 19:13 pytalloc-util.pc
-rw-r--r-- 1 root root 324 May 16 19:13 talloc.pc
-rw-r--r-- 1 root root 277 May 16 19:17 tdb.pc
bash-3.2# ls -l /usr/local/samba-extras/lib/
total 188
lrwxrwxrwx 1 root root 25 May 16 19:14 libpytalloc-util.so ->
libpytalloc-util.so.2.0.7
lrwxrwxrwx 1 root root 25 May 16 19:14 libpytalloc-util.so.2
-> libpytalloc-util.so.2.0.7
-rw-r--r-- 1 root root 9412 May 16 19:14
libpytalloc-util.so.2.0.7
lrwxrwxrwx 1 root root 18 May 16 19:14 libtalloc.so ->
libtalloc.so.2.0.7
lrwxrwxrwx 1 root root 18 May 16 19:14 libtalloc.so.2 ->
libtalloc.so.2.0.7
-rw-r--r-- 1 root root 79556 May 16 19:14 libtalloc.so.2.0.7
drwxr-xr-x 2 root root 512 May 16 19:19 pkgconfig
drwxr-xr-x 3 root root 512 May 16 19:14 python2.6
Thanks,
Prabu
I see on http://www.samba.org/ftp/talloc/ that there is both talloc 1.3.x
and talloc 2.0.x. I am looking through some of my old builds and my old
build notes. With samba I seem to have compiled talloc 2.0.x separately (I
have the pkgconfig files.) I think samba 3.4.x I have just compiled with
out talloc.
Can you cat talloc.pc- make sure the config file shows the correct path.
I wonder what the significant difference is between your two solaris 10
machines. Which gcc are you using. Do either of them have the sunfreeware
versions of samba? Or the sun bundled versions of samba. Maybe one
machine already has libtalloc installed. What does "pkginfo | grep -i
samba" show? I think samba 3.0x. binaries from Sun/Oracle may have been in
/usr/sfw/bin not /usr/bin.
What is the current version of samba you are running. Did you compile that
or is if from a package? Is the current version in the PKG_CONFIG_PATH or
LD_LIBRARY_PATH when compiling the new one?
PS The samba 3.4.17 source code includes talloc. But it might be 1.0.x
Maybe try downloading and compiling 1.0.x instead. And I would try
building it into the same directory that you are building the rest of samba.
More information about the samba
mailing list