# Building samba36 repeatedly



## klugja (May 7, 2012)

I found the following post:
http://forums.freebsd.org/showthread.php?t=30407
The suggestion from Sylhouette provides a temporary workaround to building samba36 by removing samba34-libsmbclient.

I would like a more permanent solution.

Can I rebuild the ports that depend on samba34-libsmbclient to use samba36, which apparently has no samab36-libsmbclient?  I would like to be able to build samba36 repeatedly without breaking everything that depends on samba34-libsmbclient.


----------



## Uniballer (May 8, 2012)

I have a couple of systems where these just coexist.  I don't recall any problems getting them to do that (although I may have disabled LDAP when I built the samba36 port).


----------



## klugja (May 8, 2012)

I tried building Samba36 over and over again, and got the error in the other post, 

```
libsmb/libsmb_setget.c: In function 'smbc_getOptionUseCCache':
libsmb/libsmb_setget.c:427: error: 'SMB_CTX_FLAG_USE_CCACHE' undeclared (first use in this function)
```
I removed samba34-libsmbclient and the error went away.  I reinstalled samba34-libsmbclient, and now samba36 still builds.

So something got changed by re-installing samba34-libsmbclient.

It would seem that the problem is due to incorrect header files:

```
./samba36/work/samba-3.6.5/source3/include/libsmbclient.h:# define SMB_CTX_FLAG_USE_CCACHE (1 << 3)
```
So maybe the build found a libsmbclient.h in some other directory that lacked the macro SMB_CTX_FLAG_USE_CCACHE, and removing samba34-libsmbclient and re-installing with pkg_add removed the faulty include?


----------



## klugja (May 8, 2012)

*[solved]Building samba36 repeatedly*

I now see the problem.  The build of samba36 includes /usr/local/include/ ahead of the include directory for samba36.  This results in the wrong libsmbclient.h in the compile.

I think a better solution than removing samba34-libsmbclient for me is doing
[cmd=]rm /usr/local/include/libsmbclient.h[/cmd]

I can do this because I do not wish to build anything related to samba34-libsmbclient.

This brings up the question of how conflicts between various packages are resolved.

```
pkg_info -W /usr/local/include/libsmbclient.h
/usr/local/include/libsmbclient.h was installed by package samba34-libsmbclient-3.4.14
```


----------

