Building samba36 repeatedly

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.
 
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).
 
I tried building Samba36 over and over again, and got the error in the other post,
Code:
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:
Code:
./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?
 
[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.
Code:
pkg_info -W /usr/local/include/libsmbclient.h
/usr/local/include/libsmbclient.h was installed by package samba34-libsmbclient-3.4.14
 
Back
Top