ports/130610: port net/samba32-devel don't build at libsmb/libsmb_cache.c if old version of Samba is installed
Sergey
z_serg_2000 at mail.ru
Fri Jan 16 09:00:03 UTC 2009
>Number: 130610
>Category: ports
>Synopsis: port net/samba32-devel don't build at libsmb/libsmb_cache.c if old version of Samba is installed
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Jan 16 09:00:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Sergey
>Release: FreeBSD 7.0-RELEASE-p7
>Organization:
>Environment:
FreeBSD acc.acc.tula.ru 7.0-RELEASE-p7 FreeBSD 7.0-RELEASE-p7 #62: Tue Dec 23 12:57:54 MSK 2008 root at acc.acc.tula.ru:/usr/obj/usr/src/sys/Z i386
>Description:
If old version of Samba is installed port net/samba32-devel stop building at libsmb/libsmb_cache.c with error:
Linking non-shared library bin/libnetapi.a
Compiling libsmb/libsmb_cache.c
In file included from libsmb/libsmb_cache.c:25:
include/libsmb_internal.h:176: error: expected specifier-qualifier-list before 'smbc_smb_encrypt_level'
libsmb/libsmb_cache.c: In function 'SMBC_add_cached_server':
libsmb/libsmb_cache.c:91: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:91: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:91: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:91: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:91: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c: In function 'SMBC_get_cached_server':
libsmb/libsmb_cache.c:121: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:163: error: called object 'smbc_getFunctionRemoveCachedServer(context)' is not a function
libsmb/libsmb_cache.c:178: error: called object 'smbc_getFunctionRemoveCachedServer(context)' is not a function
libsmb/libsmb_cache.c: In function 'SMBC_remove_cached_server':
libsmb/libsmb_cache.c:203: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:207: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:207: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:207: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:207: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c:207: error: dereferencing pointer to incomplete type
libsmb/libsmb_cache.c: In function 'SMBC_purge_cached_servers':
libsmb/libsmb_cache.c:232: error: dereferencing pointer to incomplete type
The following command failed:
cc -I. -I/usr/ports/net/samba32-devel/work/samba-3.2.4/source -O -D_SAMBA_BUILD_=3 -I/usr/local/include -I/usr/ports/net/samba32-devel/work/samba-3.2.4/source/iniparser/src -Iinclude -I./include -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include -I./libaddns -I./librpc -DHAVE_CONFIG_H -I/usr/local/include -Iinclude -I./include -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include -I./libaddns -I./librpc -I./popt -I/usr/local/include -DLDAP_DEPRECATED -I/include -I/usr/ports/net/samba32-devel/work/samba-3.2.4/source/lib -D_SAMBA_BUILD_=3 -fPIC -DPIC -c libsmb/libsmb_cache.c -o libsmb/libsmb_cache.o
gmake: *** [libsmb/libsmb_cache.o] ÐÑибка 1
*** Error code 2
Stop in /usr/ports/net/samba32-devel.
*** Error code 1
Stop in /usr/ports/net/samba32-devel.
>How-To-Repeat:
1. Install net/samba3
2. Try to make at net/samba32-devel
>Fix:
The reason of error is simple:
make use /usr/local/include/libsmbclient.h instead of libsmbclient.h from work directory because of -I/usr/local/include is first path for searching *.h files.
===> Building for samba-3.2.4_2
Using FLAGS = -O -D_SAMBA_BUILD_=3 -I/usr/local/include -I/usr/ports/net/samba32-devel/work/samba-3.2.4/source/iniparser/src -Iinclude -I./include -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include -I./libaddns -I./librpc -DHAVE_CONFIG_H -I/usr/local/include -Iinclude -I./include -I. -I. -I./lib/replace -I./lib/talloc -I./lib/tdb/include -I./libaddns -I./librpc -I./popt -I/usr/local/include -DLDAP_DEPRECATED -I/include -I/usr/ports/net/samba32-devel/work/samba-3.2.4/source/lib -D_SAMBA_BUILD_=3
The patch is just stop biulding if /usr/local/include/libsmbclient.h from early version of Samba.
Patch attached with submission follows:
--- /usr/ports/net/samba32-devel/Makefile 2009-01-07 03:28:42.000000000 +0300
+++ Makefile 2009-01-10 12:30:13.000000000 +0300
@@ -99,6 +99,11 @@
.if exists(${LOCALBASE}/include/tdb.h)
IGNORE= doesn't compile when tdb is installed. Uninstall databases/tdb port
.endif
+# Stop building if Samba 3.0.x or previous is installed
+OLD_SAMBA!= grep -s -q SMBC_internal_data /usr/local/include/libsmbclient.h; echo $$?
+.if ${OLD_SAMBA}==1
+IGNORE= doesn't compile when old Samba version installed
+.endif
# Let process generate meaningful backtrace on a core dump
LIB_DEPENDS+= execinfo.1:${PORTSDIR}/devel/libexecinfo
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list