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

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

Reply via email to