[Spread-users] Building 64-bit on Solaris 10 (x86_64)

Brian Carey bcarey at jambomedia.com
Fri Nov 20 08:46:25 EST 2009


Hi all,

I've successfully built the 4.1.0 source in 32-bit mode, however, when 
trying to build 64-bit binaries it fails.  Below are my configure 
options and errors from the build process (I can provide entire build 
output if necessary, but for now I just included the blocks of errors).  
I'm using the Sun GCC packages.  Does anyone have any suggestions on 
what i'm doing wrong?  I see in previous mailing list posts people 
mentioning building this 64-bit on Solaris so i'm assuming its 
possible.  Thanks in advance for any help you can provide.

GCC Specs
-----------------------
Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/specs
Configured with: /builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure 
--prefix=/usr/sfw --with-as=/usr/sfw/bin/gas --with-gnu-as 
--with-ld=/usr/ccs/bin/ld --without-gnu-ld --enable-languages=c,c++ 
--enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-3_4-branch+sol_rpath)

Configure options
-----------------------
./configure --prefix=/opt/spread_64 --with-cflags=-m64 --with-ldflags=-m64

Build Errors
-----------------------
gcc -o spread spread.o protocol.o session.o groups.o alarm.o events.o 
memory.o membership.o data_link.o network.o status.o log.o 
flow_control.o message.o lex.yy.o y.tab.o configuration.o acm.o 
acp-permit.o auth-null.o auth-ip.o 
../stdutil/lib/libstdutil-threaded-release.a -m64  -lm -lrt -lsocket -lnsl
ld: warning: file 
../stdutil/lib/libstdutil-threaded-release.a(stdarr.to): wrong ELF 
class: ELFCLASS32
Undefined                       first referenced
 symbol                             in file
stdskl_it_key                       groups.o
stdskl_is_end                       groups.o
stdarr_push_back                    groups.o
stdarr_empty                        groups.o
stdskl_size                         groups.o
stdskl_find                         groups.o
stdskl_put_seq_n                    groups.o
stdarr_destruct                     groups.o
stdskl_destruct                     groups.o
stdskl_begin                        groups.o
stdskl_empty                        groups.o
stdskl_erase                        groups.o
stdarr_size                         groups.o
stdskl_put                          groups.o
stdskl_end                          groups.o
stdskl_it_next                      groups.o
stdarr_pop_back                     groups.o
stdarr_construct                    groups.o
stdskl_construct                    groups.o
ld: fatal: Symbol referencing errors. No output written to spread
collect2: ld returned 1 exit status
make[1]: *** [spread] Error 1
make[1]: Leaving directory `/opt/src/spread-src-4.1.0/daemon'
make[1]: Entering directory `/opt/src/spread-src-4.1.0/docs'
../buildtools/fixpaths: input file ./SP_connect.0 missing!
make[1]: *** [SP_connect.3.out] Error 2
make[1]: Leaving directory `/opt/src/spread-src-4.1.0/docs'
make[1]: Entering directory `/opt/src/spread-src-4.1.0/libspread'
.
.
.
gcc -shared -o libspread.so fl.tlo scatp.tlo alarm.tlo events.tlo 
memory.tlo sp.tlo -m64 ../stdutil/src/stdarr.lto 
../stdutil/src/stdcarr.lto ../stdutil/src/stddll.lto 
../stdutil/src/stderror.lto ../stdutil/src/stdfd.lto 
../stdutil/src/stdhash.lto ../stdutil/src/stdit.lto 
../stdutil/src/stdskl.lto ../stdutil/src/stdthread.lto 
../stdutil/src/stdtime.lto ../stdutil/src/stdutil.lto -lm -lrt -lsocket 
-lnsl  -lposix4 -lthread -lpthread  -Wl,-hlibspread.so.2
ld: fatal: file ../stdutil/src/stdarr.lto: wrong ELF class: ELFCLASS32
ld: fatal: File processing errors. No output written to libspread.so
collect2: ld returned 1 exit status
make[1]: *** [libspread.so] Error 1
make[1]: Leaving directory `/opt/src/spread-src-4.1.0/libspread'
make[1]: Entering directory `/opt/src/spread-src-4.1.0/examples'
.
.
.
gcc -m64 -o flush_user fl_user.to ../libspread/libspread.a -lm -lrt 
-lsocket -lnsl  -lposix4 -lthread -lpthread
Undefined                       first referenced
 symbol                             in file
stdhash_erase_key                   ../libspread/libspread.a(fl.to)
stdmutex_destruct                   ../libspread/libspread.a(fl.to)
stddll_is_end                       ../libspread/libspread.a(fl.to)
stddll_it_val                       ../libspread/libspread.a(fl.to)
stdhash_is_end                      ../libspread/libspread.a(fl.to)
stdhash_it_val                      ../libspread/libspread.a(fl.to)
stdhash_it_key                      ../libspread/libspread.a(fl.to)
stderr_output                       ../libspread/libspread.a(fl.to)
stdhcode_sfh                        ../libspread/libspread.a(fl.to)
stdhash_destruct                    ../libspread/libspread.a(fl.to)
stddll_push_back                    ../libspread/libspread.a(fl.to)
stdcond_wait                        ../libspread/libspread.a(fl.to)
stddll_size                         ../libspread/libspread.a(fl.to)
stdcond_construct                   ../libspread/libspread.a(fl.to)
stddll_destruct                     ../libspread/libspread.a(fl.to)
stdmutex_grab                       ../libspread/libspread.a(fl.to)
stdmutex_drop                       ../libspread/libspread.a(fl.to)
stdcond_destruct                    ../libspread/libspread.a(fl.to)
stddll_begin                        ../libspread/libspread.a(fl.to)
stddll_empty                        ../libspread/libspread.a(fl.to)
stddll_clear                        ../libspread/libspread.a(fl.to)
stddll_erase                        ../libspread/libspread.a(fl.to)
stdmutex_construct                  ../libspread/libspread.a(fl.to)
stdhash_begin                       ../libspread/libspread.a(fl.to)
stdhash_empty                       ../libspread/libspread.a(fl.to)
stdhash_erase                       ../libspread/libspread.a(fl.to)
stddll_it_next                      ../libspread/libspread.a(fl.to)
stdhash_it_next                     ../libspread/libspread.a(fl.to)
stdflip32                           ../libspread/libspread.a(fl.to)
stdflip16                           ../libspread/libspread.a(fl.to)
stdhash_construct                   ../libspread/libspread.a(fl.to)
stdhash_copy_construct              ../libspread/libspread.a(fl.to)
stdcond_wake_all                    ../libspread/libspread.a(fl.to)
stdhash_size                        ../libspread/libspread.a(fl.to)
stdhash_find                        ../libspread/libspread.a(fl.to)
stddll_construct                    ../libspread/libspread.a(fl.to)
stdhash_insert                      ../libspread/libspread.a(fl.to)
ld: fatal: Symbol referencing errors. No output written to flush_user
collect2: ld returned 1 exit status
make[1]: *** [flush_user] Error 1
make[1]: Leaving directory `/opt/src/spread-src-4.1.0/examples'
make: *** [all] Error 2









More information about the Spread-users mailing list