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?
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.
your configure syntax looks correct One major issue I ran into was the "ld" (linker) command. Gcc on Solaris (either from sun "freeware" tools cd or from www.sunfreeware.com) was built with /usr/ccs/bin/ld - which is an old version. A lot of software expects gnu ld or at least a newer version of ld. I could sometimes force stuff by sym linking /usr/ccs/bin/ld to /usr/local/bin/ld or /usr/sfw/bin/gld. /opt/usr/local/samba/sbin/smbd -V didn't show any output? Does "/usr/sbin/smbd -V" show output (that would be the sun/oracle version. Probably not relevant if it does work.) When you installed samba from sunfreeware did it warn about any missing dependencies? On 05/18/12 12:36, prabu.murugan at emc.com wrote:> > I ran > > ./configure --enable-external-libtalloc=no --with-libtalloc=no > > Issue is same. > > Above command is fine? > > > > I compiled talloc 1.3.0. still make gives the same error. I have > attached output of make errors. > > > > Reinstalling 3.4.2 didn't helpL. > > > > *Thanks,* > > *Prabu* > > > > *From:*Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com] > *Sent:* Friday, May 18, 2012 9:22 PM > *To:* Murugan, Prabu > *Subject:* Re: Samba compilation issue > > > > Your configure options (./configure --help) include > > > --enable-external-libtalloc > Enable external talloc [default=auto] > > --with-libtalloc > Build the libtalloc shared library > (default=yes if shared libs supported) > > > You should be able to set to "=no" > > Or try building talloc 1.3.x with Samba 3.4.x. > > Do either of the following work? > > /opt/usr/local/samba/sbin/smbd -V > /opt/usr/local/samba/sbin/smbd -b > /opt/usr/local/samba/testparm -v -s > /opt/usr/local/samba/lib/smb.conf > > > You may want to have /opt/usr/local/samba/lib/ at the beginning of > your LD_LIBRARY_PATH. > > You may want to reinstall the Sunfreeware version of samba 3.4.2 if > you need to get samba up and running quickly on this machine. > > > > > > > > > > On 05/18/12 10:31, prabu.murugan at emc.com > <mailto:prabu.murugan at emc.com> wrote: > > Yes the 3.5.10 is from Sun/Oracle. > > > > How to disable talloc while running ./configure? > > > > Smbd --F doesn't give any error. > > bash-3.2# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/usr/local/samba/lib/ > > bash-3.2# /opt/usr/local/samba/sbin/smbd -F -s > /opt/usr/local/samba/lib/smb.conf > > bash-3.2# ps -ef |grep smbd > > root 7201 7167 0 19:32:20 pts/1 0:00 grep smbd > > > > bash-3.2# which pkg-config > > /bin/pkg-config > > bash-3.2# /bin/pkg-config --version > > 0.15.0 > > > > When I try to compile talloc-2.0.7. I get this error. > > > > Waf: Entering directory `/usr/local/talloc-2.0.7/bin' > > [15/28] Compiling lib/replace/test/testsuite.c > > ../lib/replace/test/testsuite.c:52: error: syntax error before > "torture_local_replace" > > ../lib/replace/test/testsuite.c:52: warning: data definition has no > type or storage class > > ../lib/replace/test/testsuite.c:1058: error: syntax error before > "torture_local_replace" > > ../lib/replace/test/testsuite.c: In function `torture_local_replace': > > ../lib/replace/test/testsuite.c:1060: error: `bool' undeclared (first > use in this function) > > ../lib/replace/test/testsuite.c:1060: error: (Each undeclared > identifier is reported only once > > ../lib/replace/test/testsuite.c:1060: error: for each function it > appears in.) > > ../lib/replace/test/testsuite.c:1060: error: syntax error before "ret" > > ../lib/replace/test/testsuite.c:1061: error: `ret' undeclared (first > use in this function) > > Waf: Leaving directory `/usr/local/talloc-2.0.7/bin' > > Build failed: -> task failed (err #1): > > {task: cc testsuite.c -> testsuite_3.o} > > make: Fatal error: Command failed for target `all' > > > > *Thanks,* > > *Prabu* > > > > *From:*Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com] > *Sent:* Friday, May 18, 2012 6:57 PM > *To:* Murugan, Prabu > *Cc:* samba at lists.samba.org <mailto:samba at lists.samba.org> > *Subject:* Re: Samba compilation issue > > > > This is a lot to keep track off. > > So the 3.5.10 is from Sun/Oracle? > > I see on sunfreeware.com that 3.4.2 is still their latest version. > But I thought it would have installed in /usr/local/. If you moved > renamed the directory, you may need to update your LD_LIBRARY_PATH. > You may want to try running smbd with "-F" (foreground) instead of > "-D" and see if that provides more errors. > > What does "which pkg-config" show on each machine? I see there is a > sunfreeware.com version of pkg-config. The latest sun/oracle one is 0 > .15 which the one one sunfreeware.com is 0.25. > > > FYI when I compile samba I will usually compile in > /usr/local/samba-version. Once I have it compiled I can delete or > rename the previous version and then symlink /usr/local/samba to the > new version. > > > Can you do "make talloc" from with in the samba source code directory > to build, in advance, the talloc that is bundled in? Or can you > just disable talloc when you configure? Although I would be > interested if you then get warnings that tdb is unavailable. > > > > > > On 05/18/12 08:52, prabu.murugan at emc.com > <mailto:prabu.murugan at emc.com> wrote: > > I am on Sun SPARC system. > > On the non-working machine default package is 3.5.10. Till now it was > running with 3.4.2 (SMCsamba). Wrongly mentioned as 3.5.3. > > I set "set ngroups_max=32"in /etc/system and rebooted. > > Then installed gcc 3.4.6. few more lines added to the error. > > > > ./Configure Error: > > bash-3.2# more config.err > > configure: WARNING: $PATH contains /usr/ucb - build errors may follow > > 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 > > make: Warning: Ignoring DistributedMake -v option > > make: Warning: Ignoring DistributedMake -o option > > make: Fatal error: No dmake output dir argument after -o flag > > > > > > Another issue is. Until we fix we are planning to use 3.4.2. It is > also not starting now L. > > Command " ldd -r /opt/usr/local/samba/sbin/smbd" doesn't report any error. > > bash-3.2# /etc/init.d/samba.server.opt start > > BASE=/opt/usr/local/samba > > + [ ! -d /usr/bin ] > > + [ ! -d /opt/usr/local/samba/log ] > > + echo Starting SMBD > > Starting SMBD > > + /opt/usr/local/samba/sbin/smbd -D -s /opt/usr/local/samba/lib/smb.conf > > + echo Starting NMBD > > Starting NMBD > > + /opt/usr/local/samba/sbin/nmbd -D -s /opt/usr/local/samba/lib/smb.conf > > > > > > *Thanks,* > > *Prabu* > > > > *From:*Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com] > *Sent:* Friday, May 18, 2012 4:51 PM > *To:* Murugan, Prabu; samba at lists.samba.org <mailto:samba at lists.samba.org> > *Subject:* RE: Samba compilation issue > > > > 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 isn't 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> > [mailto:prabu.murugan at emc.com] <mailto:[mailto:prabu.murugan at emc.com]> > *Sent:* Friday, May 18, 2012 12:25 AM > *To:* gaiseric.vandal at gmail.com <mailto:gaiseric.vandal at gmail.com>; > samba at lists.samba.org <mailto: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 don't 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 > <mailto: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. > > > > >
I didn't know about the "smbd -i" option. That is useful.
In your smb.conf file you may want to specify that your locks directory is set
to /usr/local/samba/var/locks. The "testparm -v" will show your
current settings. There are a lot of settings that can be set in smb.conf. It
seems that since you installed in an alternative path, the locks directory is
not in the default path. Or you could add some sym links. I have run into
similar issue when changing from samba from sunfreeware to samba from source to
samba from oracle.
On my server
tbash-3.00# testparm -v | more
Load smb config files from /etc/samba/smb.conf
...
smb passwd file = /etc/samba/private/smbpasswd
private dir = /etc/samba/private
...
lock directory = /var/samba/locks
state directory = /var/samba/locks
cache directory = /var/samba/locks
pid directory = /var/samba/locks
usershare path = /var/samba/locks/usershares
...
PS. You should backup your locks and private directories when changing versions
or reinstalling samba.
-----Original Message-----
From: prabu.murugan at emc.com [mailto:prabu.murugan at emc.com]
Sent: Saturday, May 19, 2012 12:30 PM
To: gaiseric.vandal at gmail.com
Subject: Re: Samba compilation issue
Forgot to mention.after reinstallation also smbd is referring to /usr.
On 19-May-2012, at 9:52 PM, "Murugan, Prabu" <prabu.murugan at
emc.com<mailto:prabu.murugan at emc.com>> wrote:
Smbd -i gives interactive output. It is referring to /usr/local. Not sure why.
bash-3.2# /opt/usr/local/samba/sbin/smbd -D -i -s
/opt/usr/local/samba/lib/smb.conf creating lame upcase table creating lame
lowcase table Unable to setup corepath for smbd: No such file or directory smbd
version 3.4.2 started.
Copyright Andrew Tridgell and the Samba Team 1992-2009 Failed to load
/usr/local/samba/lib/valid.dat - No such file or directory creating default
valid table
tdb(unnamed): tdb_open_ex: could not open file
/usr/local/samba/var/locks/messages.tdb: No such file or directory
ERROR: Failed to initialise messages database: No such file or directory
messaging_tdb_init failed: NT_STATUS_OBJECT_NAME_NOT_FOUND Could not init smbd
messaging context.
I tried this option to reinstall since it was not showing in pkginfo. I think I
am messing up things.
bash-3.2# pkginfo |grep samba
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)
bash-3.2# mv /opt/usr/local/samba/ /opt/usr/local/samba-error bash-3.2# mv
/opt/var/sadm/pkg/SMCsamba /opt/var/sadm/pkg/SMCsamba.tmp bash-3.2# pkgadd -R
/opt -d samba-3.4.2-sol10-sparc-local Processing package instance
<SMCsamba> from </var/tmp/samba-3.4.2-sol10-sparc-local>
The following files are already installed on the system and are being used by
another package:
/opt/usr/local/samba/bin/
?.
Installation of <SMCsamba.tmp> was successful
bash-3.2# pkginfo |grep SMCsamba
bash-3.2# pkginfo |grep samba
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)
From: Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com]
Sent: Saturday, May 19, 2012 5:33 PM
To: Murugan, Prabu
Cc: samba at lists.samba.org<mailto:samba at lists.samba.org>
Subject: RE: Samba compilation issue
I don?t know if installing Samba in an alternate path could cause an issue with
dependencies. But It doesn?t seem like it. If ?smbd ?V? works then I would
think this is not an issue. So it The ?testparm ?v ? command should also let
you verify that the password file, private directory, and locks directory are
correct. You may also want to increase the log level to 10 to see if samba
will tell you why it is quitting. Or maybe run the
?/opt/usr/local/samba/sbin/smbd ?F ?d 10? command. You may also want to try
running ?truss /opt/usr/local/samba/sbin/smbd? to see if that shows you
anything.
Does /opt/usr/local/samba/sbin/nmbd or /opt/usr/local/samba/sbin/winbind run ?
From: prabu.murugan at emc.com<mailto:prabu.murugan at emc.com>
[mailto:prabu.murugan at emc.com]
Sent: Saturday, May 19, 2012 5:32 AM
To: gaiseric.vandal at gmail.com<mailto:gaiseric.vandal at gmail.com>
Cc: samba at lists.samba.org<mailto:samba at lists.samba.org>
Subject: RE: Samba compilation issue
When we install as a package we do it under /opt and compilation under
/usr/local.
Log directory (/opt/usr/local/samba/log) is empty ?. /var/samba/log contains
logs for oracle samba.
These are standalone servers. hardware is Sunfire V490.
Created softlink to gnu ld file. Still same error.
Not sure why libtalloc is still considered when we run ?./configure
--enable-external-libtalloc=no --with-libtalloc=no?.
Am I missing something here?
Thanks,
Prabu
From: Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com]
Sent: Friday, May 18, 2012 10:42 PM
To: Murugan, Prabu
Cc: samba at lists.samba.org<mailto:samba at lists.samba.org>
Subject: Re: Samba compilation issue
When you installed samba did you specify an alternate path? I don't
understand why it is in /opt/usr/local....
Since you can at least run it with -V, it indicates that the binary and the
library paths are good. You may want to look at your samba log files
(/var/samba/logs and /var/log/samba ) to see if there is some other issue -
maybe with your config files, local cache or locks, or local db files.
gcc will be harddwired to use /usr/ccs/bin/ld.
You can try the following
#mv /usr/ccs/bin/ld /usr/ccs/bin/ld.bak
#ln -s /usr/local/bin/ld /usr/ccs/bin/ld
This is not generally a good idea BUT it might help identify if your linker is a
problem.
Are these standalone servers or domain members or domain controllers?
On 05/18/12 13:02, prabu.murugan at emc.com<mailto:prabu.murugan at
emc.com> wrote:
smbd -V is showing the version.
bash-3.2# /opt/usr/local/samba/sbin/smbd -V Version 3.4.2
ld is picking from /usr/local/bin/ld
bash-3.2# which ld
/usr/local/bin/ld
bash-3.2# /usr/local/bin/ld --version
GNU ld (GNU Binutils) 2.21.
I don?t remember whether it gave error regarding dependencies while installing
3.4.2. But I installed all the dependencies as a prerequisite.
Thanks,
Prabu
From: Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com]
Sent: Friday, May 18, 2012 10:25 PM
To: Murugan, Prabu; Samba
Subject: Re: Samba compilation issue
your configure syntax looks correct
One major issue I ran into was the "ld" (linker) command. Gcc on
Solaris (either from sun "freeware" tools cd or from
www.sunfreeware.com<http://www.sunfreeware.com>) was built with
/usr/ccs/bin/ld - which is an old version. A lot of software expects gnu ld
or at least a newer version of ld. I could sometimes force stuff by sym linking
/usr/ccs/bin/ld to /usr/local/bin/ld or /usr/sfw/bin/gld.
/opt/usr/local/samba/sbin/smbd -V didn't show any output?
Does "/usr/sbin/smbd -V" show output (that would be the sun/oracle
version. Probably not relevant if it does work.)
When you installed samba from sunfreeware did it warn about any missing
dependencies?
On 05/18/12 12:36, prabu.murugan at emc.com<mailto:prabu.murugan at
emc.com> wrote:
I ran
./configure --enable-external-libtalloc=no --with-libtalloc=no Issue is same.
Above command is fine?
I compiled talloc 1.3.0. still make gives the same error. I have attached output
of make errors.
Reinstalling 3.4.2 didn?t help?.
Thanks,
Prabu
From: Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com]
Sent: Friday, May 18, 2012 9:22 PM
To: Murugan, Prabu
Subject: Re: Samba compilation issue
Your configure options (./configure --help) include
--enable-external-libtalloc
Enable external talloc [default=auto]
--with-libtalloc
Build the libtalloc shared library (default=yes if
shared libs supported)
You should be able to set to "=no"
Or try building talloc 1.3.x with Samba 3.4.x.
Do either of the following work?
/opt/usr/local/samba/sbin/smbd -V
/opt/usr/local/samba/sbin/smbd -b
/opt/usr/local/samba/testparm -v -s /opt/usr/local/samba/lib/smb.conf
You may want to have /opt/usr/local/samba/lib/ at the beginning of your
LD_LIBRARY_PATH.
You may want to reinstall the Sunfreeware version of samba 3.4.2 if you need to
get samba up and running quickly on this machine.
On 05/18/12 10:31, prabu.murugan at emc.com<mailto:prabu.murugan at
emc.com> wrote:
Yes the 3.5.10 is from Sun/Oracle.
How to disable talloc while running ./configure?
Smbd ?F doesn?t give any error.
bash-3.2# LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/usr/local/samba/lib/
bash-3.2# /opt/usr/local/samba/sbin/smbd -F -s /opt/usr/local/samba/lib/smb.conf
bash-3.2# ps -ef |grep smbd
root 7201 7167 0 19:32:20 pts/1 0:00 grep smbd
bash-3.2# which pkg-config
/bin/pkg-config
bash-3.2# /bin/pkg-config --version
0.15.0
When I try to compile talloc-2.0.7. I get this error.
Waf: Entering directory `/usr/local/talloc-2.0.7/bin'
[15/28] Compiling lib/replace/test/testsuite.c
../lib/replace/test/testsuite.c:52: error: syntax error before
"torture_local_replace"
../lib/replace/test/testsuite.c:52: warning: data definition has no type or
storage class
../lib/replace/test/testsuite.c:1058: error: syntax error before
"torture_local_replace"
../lib/replace/test/testsuite.c: In function `torture_local_replace':
../lib/replace/test/testsuite.c:1060: error: `bool' undeclared (first use in
this function)
../lib/replace/test/testsuite.c:1060: error: (Each undeclared identifier is
reported only once
../lib/replace/test/testsuite.c:1060: error: for each function it appears in.)
../lib/replace/test/testsuite.c:1060: error: syntax error before "ret"
../lib/replace/test/testsuite.c:1061: error: `ret' undeclared (first use in
this function)
Waf: Leaving directory `/usr/local/talloc-2.0.7/bin'
Build failed: -> task failed (err #1):
{task: cc testsuite.c -> testsuite_3.o}
make: Fatal error: Command failed for target `all'
Thanks,
Prabu
From: Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com]
Sent: Friday, May 18, 2012 6:57 PM
To: Murugan, Prabu
Cc: samba at lists.samba.org<mailto:samba at lists.samba.org>
Subject: Re: Samba compilation issue
This is a lot to keep track off.
So the 3.5.10 is from Sun/Oracle?
I see on sunfreeware.com<http://sunfreeware.com> that 3.4.2 is still their
latest version. But I thought it would have installed in /usr/local/. If you
moved renamed the directory, you may need to update your LD_LIBRARY_PATH. You
may want to try running smbd with "-F" (foreground) instead of
"-D" and see if that provides more errors.
What does "which pkg-config" show on each machine? I see there is a
sunfreeware.com<http://sunfreeware.com> version of pkg-config. The latest
sun/oracle one is 0 .15 which the one one
sunfreeware.com<http://sunfreeware.com> is 0.25.
FYI when I compile samba I will usually compile in /usr/local/samba-version.
Once I have it compiled I can delete or rename the previous version and then
symlink /usr/local/samba to the new version.
Can you do "make talloc" from with in the samba source code directory
to build, in advance, the talloc that is bundled in? Or can you just disable
talloc when you configure? Although I would be interested if you then get
warnings that tdb is unavailable.
On 05/18/12 08:52, prabu.murugan at emc.com<mailto:prabu.murugan at
emc.com> wrote:
I am on Sun SPARC system.
On the non-working machine default package is 3.5.10. Till now it was running
with 3.4.2 (SMCsamba). Wrongly mentioned as 3.5.3.
I set ?set ngroups_max=32? in /etc/system and rebooted.
Then installed gcc 3.4.6. few more lines added to the error.
./Configure Error:
bash-3.2# more config.err
configure: WARNING: $PATH contains /usr/ucb - build errors may follow 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
make: Warning: Ignoring DistributedMake -v option
make: Warning: Ignoring DistributedMake -o option
make: Fatal error: No dmake output dir argument after -o flag
Another issue is. Until we fix we are planning to use 3.4.2. It is also not
starting now ?.
Command ? ldd -r /opt/usr/local/samba/sbin/smbd? doesn?t report any error.
bash-3.2# /etc/init.d/samba.server.opt start BASE=/opt/usr/local/samba
+ [ ! -d /usr/bin ]
+ [ ! -d /opt/usr/local/samba/log ]
+ echo Starting SMBD
Starting SMBD
+ /opt/usr/local/samba/sbin/smbd -D -s /opt/usr/local/samba/lib/smb.conf
+ echo Starting NMBD
Starting NMBD
+ /opt/usr/local/samba/sbin/nmbd -D -s /opt/usr/local/samba/lib/smb.conf
Thanks,
Prabu
From: Gaiseric Vandal [mailto:gaiseric.vandal at gmail.com]
Sent: Friday, May 18, 2012 4:51 PM
To: Murugan, Prabu; samba at lists.samba.org<mailto:samba at
lists.samba.org>
Subject: RE: Samba compilation issue
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<http://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 isn?t 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>
[mailto:prabu.murugan at emc.com]<mailto:[mailto:prabu.murugan at
emc.com]>
Sent: Friday, May 18, 2012 12:25 AM
To: gaiseric.vandal at gmail.com<mailto:gaiseric.vandal at gmail.com>;
samba at lists.samba.org<mailto: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 don?t 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<mailto: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.