[Samba] Failed building 3.0.30 for tru64 4.0F

Bengt Nilsson bengt.nilsson at mc2.chalmers.se
Sun Jun 1 13:20:00 GMT 2008


I removed the following prototypes from source/include/proto.h:

//int32 tdb_fetch_int32(TDB_CONTEXT *tdb, const char *keystr);
//int tdb_store_int32(TDB_CONTEXT *tdb, const char *keystr, int32 v);
//BOOL tdb_fetch_uint32(TDB_CONTEXT *tdb, const char *keystr, uint32  
*value);
//BOOL tdb_store_uint32(TDB_CONTEXT *tdb, const char *keystr, uint32  
value);
//int32 tdb_change_int32_atomic(TDB_CONTEXT *tdb, const char *keystr,  
int32 *oldval, int32 change_val);

and now it compiled further, but then I got

Compiling lib/util_tdb.c
lib/util_tdb.c:188: error: conflicting types for 'tdb_fetch_int32'
include/util_tdb.h:54: error: previous declaration of  
'tdb_fetch_int32' was here
lib/util_tdb.c:188: error: conflicting types for 'tdb_fetch_int32'
include/util_tdb.h:54: error: previous declaration of  
'tdb_fetch_int32' was here
lib/util_tdb.c:216: error: conflicting types for 'tdb_store_int32'
include/util_tdb.h:56: error: previous declaration of  
'tdb_store_int32' was here
lib/util_tdb.c:216: error: conflicting types for 'tdb_store_int32'
include/util_tdb.h:56: error: previous declaration of  
'tdb_store_int32' was here
lib/util_tdb.c:247: error: conflicting types for 'tdb_fetch_uint32'
include/util_tdb.h:57: error: previous declaration of  
'tdb_fetch_uint32' was here
lib/util_tdb.c:247: error: conflicting types for 'tdb_fetch_uint32'
include/util_tdb.h:57: error: previous declaration of  
'tdb_fetch_uint32' was here
lib/util_tdb.c:279: error: conflicting types for 'tdb_store_uint32'
include/util_tdb.h:55: error: previous declaration of  
'tdb_store_uint32' was here
lib/util_tdb.c:279: error: conflicting types for 'tdb_store_uint32'
include/util_tdb.h:55: error: previous declaration of  
'tdb_store_uint32' was here
lib/util_tdb.c:322: error: conflicting types for  
'tdb_change_int32_atomic'
include/util_tdb.h:46: error: previous declaration of  
'tdb_change_int32_atomic' was here
lib/util_tdb.c:322: error: conflicting types for  
'tdb_change_int32_atomic'
include/util_tdb.h:46: error: previous declaration of  
'tdb_change_int32_atomic' was here

Looking at the conflicts, it seems like int32_t is used in the header  
prototypes, but int32 is used in the source files.

Why?

If I change to int32_t in the corresponding source files, it all  
compiles but it does not link:

Linking bin/smbd
tdb_open
_E__lc_ctype
tdb_traverse
_Eioctl
tdb_delete
tdb_error
tdb_errorstr
tdb_store
tdb_fetch
_Eopen
tdb_map_size
tdb_close
tdb_open_ex
_Esendto
tdb_set_max_dead
tdb_chainunlock
tdb_chainlock
tdb_parse_record
_Efcntl
tdb_firstkey
tdb_nextkey
_Esetlocale
_Esend
_Erecv
_Egetsockopt
_Esetsockopt
_Ebind
_Econnect
_Estatvfs
tdb_append
tdb_lockall
tdb_unlockall
_Emunmap
_Emmap
_Emsync
tdb_setalarm_sigptr
tdb_chainlock_read
tdb_name
tdb_chainunlock_read
_Efnmatch
tdb_transaction_start
tdb_transaction_cancel
tdb_transaction_commit
tdb_hash_size
tdb_fd
tdb_exists
tdb_get_seqnum
tdb_reopen_all
collect2: ld returned 1 exit status
make: *** [bin/smbd] Error 1

So I am stuck again.

BN




1 jun 2008 kl. 14.51 skrev Bengt Nilsson:

> Dear friends,
>
> I failed to buld samba 3.0.30 for tru64unix 4.0F.
>
> I am curently locked to this os version due to other production  
> software.
> We currently run Samba 2.2.8a but we were requested to upgrade by  
> our network group.
>
> I downloaded 3.3.30 and did
>
> $ cd source
> $ ./configure
>
> no warnings or errors as far as I could see, except
>
> checking for replacing readdir using getdirentries()... failure:  
> readdir [
> Failed for unlink - 1 = Not owner
> ]
> failure: readdir [
> Failed for unlink - 1 = Not owner
> ]
>
> (what does this mean?)
>
>
> $ make
>
> Using FLAGS      =  -O -D_SAMBA_BUILD_=3 -I/usr/users/eb0/bnilsson/ 
> diskeb2/sysproj/2008/samba-3.0.30/source/popt -I/usr/users/eb0/ 
> bnilsson/diskeb2/sysproj/2008/samba-3.0.30/source/iniparser/src - 
> Iinclude -I./include  -I. -I. -I./lib/replace -I./lib/talloc -I./tdb/ 
> include -I./libaddns -I./librpc -DHAVE_CONFIG_H     -I/usr/users/eb0/ 
> bnilsson/diskeb2/sysproj/2008/samba-3.0.30/source/lib - 
> D_SAMBA_BUILD_=3
>      PICFLAG    = -fPIC
>      LIBS       = -lproplist -lsecurity -lresolv -lresolv
>      LDFLAGS    = -pie
>      DYNEXP     =
>      LDSHFLAGS  = -shared
>      SHLIBEXT   = so
>      SONAMEFLAG = -Wl,-soname,
> Generating smbd/build_options.c
> Building include/proto.h
> creating /usr/users/eb0/bnilsson/diskeb2/sysproj/2008/samba-3.0.30/ 
> source/include/proto.h
> Building include/build_env.h
> creating /usr/users/eb0/bnilsson/diskeb2/sysproj/2008/samba-3.0.30/ 
> source/nsswitch/winbindd_proto.h
> creating /usr/users/eb0/bnilsson/diskeb2/sysproj/2008/samba-3.0.30/ 
> source/web/swat_proto.h
> creating /usr/users/eb0/bnilsson/diskeb2/sysproj/2008/samba-3.0.30/ 
> source/client/client_proto.h
> creating /usr/users/eb0/bnilsson/diskeb2/sysproj/2008/samba-3.0.30/ 
> source/utils/net_proto.h
> creating /usr/users/eb0/bnilsson/diskeb2/sysproj/2008/samba-3.0.30/ 
> source/utils/ntlm_auth_proto.h
> Compiling dynconfig.c
> In file included from include/includes.h:789,
>                 from /usr/users/eb0/bnilsson/diskeb2/sysproj/2008/ 
> samba-3.0.30/source/dynconfig.c:21:
> include/proto.h:1440: error: conflicting types for 'tdb_fetch_int32'
> include/util_tdb.h:54: error: previous declaration of  
> 'tdb_fetch_int32' was here
> include/proto.h:1440: error: conflicting types for 'tdb_fetch_int32'
> include/util_tdb.h:54: error: previous declaration of  
> 'tdb_fetch_int32' was here
> include/proto.h:1442: error: conflicting types for 'tdb_store_int32'
> include/util_tdb.h:56: error: previous declaration of  
> 'tdb_store_int32' was here
> include/proto.h:1442: error: conflicting types for 'tdb_store_int32'
> include/util_tdb.h:56: error: previous declaration of  
> 'tdb_store_int32' was here
> include/proto.h:1444: error: conflicting types for 'tdb_fetch_uint32'
> include/util_tdb.h:57: error: previous declaration of  
> 'tdb_fetch_uint32' was here
> include/proto.h:1444: error: conflicting types for 'tdb_fetch_uint32'
> include/util_tdb.h:57: error: previous declaration of  
> 'tdb_fetch_uint32' was here
> include/proto.h:1446: error: conflicting types for 'tdb_store_uint32'
> include/util_tdb.h:55: error: previous declaration of  
> 'tdb_store_uint32' was here
> include/proto.h:1446: error: conflicting types for 'tdb_store_uint32'
> include/util_tdb.h:55: error: previous declaration of  
> 'tdb_store_uint32' was here
> include/proto.h:1450: error: conflicting types for  
> 'tdb_change_int32_atomic'
> include/util_tdb.h:46: error: previous declaration of  
> 'tdb_change_int32_atomic' was here
> include/proto.h:1450: error: conflicting types for  
> 'tdb_change_int32_atomic'
> include/util_tdb.h:46: error: previous declaration of  
> 'tdb_change_int32_atomic' was here
> The following command failed:
> gcc  -O -D_SAMBA_BUILD_=3 -I/usr/users/eb0/bnilsson/diskeb2/sysproj/ 
> 2008/samba-3.0.30/source/popt -I/usr/users/eb0/bnilsson/diskeb2/ 
> sysproj/2008/samba-3.0.30/source/iniparser/src -Iinclude -I./ 
> include  -I. -I. -I./lib/replace -I./lib/talloc -I./tdb/include -I./ 
> libaddns -I./librpc -DHAVE_CONFIG_H     -I/usr/users/eb0/bnilsson/ 
> diskeb2/sysproj/2008/samba-3.0.30/source/lib -D_SAMBA_BUILD_=3 - 
> DCONFIGFILE="/usr/local/samba/lib/smb.conf"  -DSBINDIR="/usr/local/ 
> samba/sbin" -DBINDIR="/usr/local/samba/bin" -DLMHOSTSFILE="/usr/ 
> local/samba/lib/lmhosts" -DSWATDIR="/usr/local/samba/swat"  - 
> DLOCKDIR="/usr/local/samba/var/locks" -DPIDDIR="/usr/local/samba/var/ 
> locks" -DLIBDIR="/usr/local/samba/lib" -DLOGFILEBASE="/usr/local/ 
> samba/var" -DSHLIBEXT="so" -DCONFIGDIR="/usr/local/samba/lib" - 
> DSMB_PASSWD_FILE="/usr/local/samba/private/smbpasswd" - 
> DPRIVATE_DIR="/usr/local/samba/private" -fPIC -c /usr/users/eb0/ 
> bnilsson/diskeb2/sysproj/2008/samba-3.0.30/source/dynconfig.c -o  
> dynconfig.o
> make: *** [dynconfig.o] Error 1
>
> So I am stuck for the moment.
> What can be done?
>
> BN
>
>
>
> -- 
> To unsubscribe from this list go to the following URL and read the
> instructions:  https://lists.samba.org/mailman/listinfo/samba



More information about the samba mailing list