[chord] Linking the Hack example

agntp123 at dusty.tamiu.edu agntp123 at dusty.tamiu.edu
Wed Mar 31 16:11:06 EDT 2010


Hi, 
I am trying to compile then C++ example in the Hack.html . I was able to compile it to an object file, but I am having trouble compiling it to an .exe file. Here is my makefile and errors;

Makefile:
CHORDBUILD = /home/jorge/Documents/chordSetUp/Chord/chord-0.1/
SFSBUILD = /home/jorge/Documents/chordSetUp/Chord/sfslite-8.16/
SFS = /usr/local/lib/sfslite/shopt

INCLUDES = -I$(SFSBUILD)async -I$(SFSBUILD) -I$(SFSBUILD)arpc -I$(SFSBUILD)crypt -I$(SFSBUILD)svc -I$(CHORDBUILD)dhash -I$(CHORDBUILD)svc -I$(CHORDBUILD)chord -I$(CHORDBUILD)utils -I$(SFSBUILD)sfsmisc

LIBS = -L$(CHORDBUILD)dhash -ldhashclient -L$(CHORDBUILD)utils -lutil -L$(CHORDBUILD)svc/.libs -lsvc -L$(SFS) -ltame -L$(SFS) -lsfsmisc -L$(SFS) -lsvc -L$(SFS) -lsfscrypt -L$(SFS) -larpc -L$(SFS) -lasync -L/usr/lib -lnsl -L/usr/lib -lresolv -L/usr/lib -lgmp

test : test.o
    g++ -o test test.o $(LIBS)

test.o : test.C 
    g++ -c $(INCLUDES) test.C

Errors:
g++ -o test test.o -L/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash -ldhashclient -L/home/jorge/Documents/chordSetUp/Chord/chord-0.1/utils -lutil -L/home/jorge/Documents/chordSetUp/Chord/chord-0.1/svc/.libs -lsvc -L/usr/local/lib/sfslite/shopt -ltame -L/usr/local/lib/sfslite/shopt -lsfsmisc -L/usr/local/lib/sfslite/shopt -lsvc -L/usr/local/lib/sfslite/shopt -lsfscrypt -L/usr/local/lib/sfslite/shopt -larpc -L/usr/local/lib/sfslite/shopt -lasync -L/usr/lib -lnsl -L/usr/lib -lresolv -L/usr/lib -lgmp
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/libdhashclient.a(dhblock_keyhash.o): In function `dhblock_keyhash::marshal_block(sfs_pubkey2, sfs_sig2, keyhash_payload&)':
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:13: undefined reference to `xdr_sfs_pubkey2(XDR*, void*)'
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:13: undefined reference to `xdr_sfs_sig2(XDR*, void*)'
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/libdhashclient.a(dhblock_keyhash.o): In function `dhblock_keyhash::get_payload(str)':
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:38: undefined reference to `xdr_sfs_pubkey2(XDR*, void*)'
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:38: undefined reference to `xdr_sfs_sig2(XDR*, void*)'
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/libdhashclient.a(dhblock_keyhash.o): In function `dhblock_keyhash::version(char const*, unsigned int)':
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:88: undefined reference to `xdr_sfs_pubkey2(XDR*, void*)'
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:88: undefined reference to `xdr_sfs_sig2(XDR*, void*)'
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/libdhashclient.a(dhblock_keyhash.o): In function `dhblock_keyhash::verify(bigint, str)':
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:58: undefined reference to `xdr_sfs_pubkey2(XDR*, void*)'
/home/jorge/Documents/chordSetUp/Chord/chord-0.1/dhash/dhblock_keyhash.C:60: undefined reference to `xdr_sfs_sig2(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `cl_nfs_program_3'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `sfsctl_prog_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `print_nfsstat3(void const*, strbuf const*, int, char const*, char const*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_ex_read3res(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_lookup3res(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_nfs_fh3(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_filename(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_ex_lookup3res(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `agent_prog_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_sfs_loginres_old(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_sfs_fsinfo(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_diropargs3(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_sfs_hostinfo(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `sfscb_program_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `agentctl_prog_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `sfsauth_prog_2'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `nfs_fh3_alloc()'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_nfsstat3(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `mount_program_3'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `sfscd_program_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_ex_write3res(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `setuid_prog_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `sfscdcb_program_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `nfsstat3_alloc()'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `sfsauth_program_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_post_op_attr(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `xdr_setaclargs(XDR*, void*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `print_nfs_fh3(void const*, strbuf const*, int, char const*, char const*)'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `sfs_program_1'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `nfs_program_3'
/usr/local/lib/sfslite/shopt/libsfsmisc.so: undefined reference to `agentcb_prog_1'
collect2: ld returned 1 exit status
make: *** [test] Error 1

I was able to figure out that the errors come from my makefile not being able to link to the $(SFS) -lsvc. Since 'xdr_sfs_pubkey2(XDR*, void*)' is defined in sfs_prot.C, which in turn is included in libsvc.a. In other words my makefile can't link to libsvc.a, however, these are just my conclusions.
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://amsterdam.lcs.mit.edu/pipermail/chord/attachments/20100331/0019ffe5/attachment.htm 


More information about the chord mailing list