As per Andy's suggestion, I installed the SUNWflexlex package and ensured that
/usr/sfw/bin was in my path. Then
I ran the configure script again (output below) after adding -lsocket -lnsl to
LIBS line in src/Makefile.
Now I get the folloging wrong ELF class errors when running make. Last time
when I got these errors I had to specify CFLAGS=-xarch=v9 in my environment.
However this time it is already in my environment.
Why am I getting this error again? What can I do to have the wrong ELF Class
error to go away?
Thanks
Frank
###############
OUTPUT FOLLOWS
###############
$ ./configure --with-mysql
checking for a BSD-compatible install... ./install-sh -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... missing
checking for sh... /bin/bash
checking for gcc... /opt/SUNWspro/bin/cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether /opt/SUNWspro/bin/cc accepts -g... yes
checking for /opt/SUNWspro/bin/cc option to accept ANSI C... none needed
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/local/bin/g++ accepts -g... yes
checking how to run the C preprocessor... /opt/SUNWspro/bin/cc -E
checking for a BSD-compatible install... ./install-sh -c
checking whether ln -s works... yes
checking for flex... flex
checking for flex... (cached) flex
checking for yywrap in -lfl... no
checking for yywrap in -ll... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for bison... no
checking for byacc... no
checking for compress in -lz... yes
checking for crypt in -lcrypt... yes
checking for crypt... yes
checking for libmysqlclient...
checking for mysql_real_connect in -lmysqlclient... yes
checking for mysql.h...
checking for egrep... egrep
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking return type of signal handlers... void
checking for gettimeofday... yes
checking for strerror... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing default-1 commands
Building with the following options:
MySQL Support..................... yes
PostgreSQL Support................ no
Oracle Support.................... no
If this is not what you intended, please re-run configure.
Thanks for using super-smack!
##############
$ make
make all-recursive
Making all in src
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c super-smack.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c client.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c engines.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c die.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c dictionary.cc
yacc -d super-smack-yacc.yy && mv y.tab.c super-smack-yacc.cc
if test -f y.tab.h; then \
if cmp -s y.tab.h super-smack-yacc.h; then rm -f y.tab.h; else mv y.tab.h
super-smack-yacc.h; fi; \
else :; fi
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c super-smack-yacc.cc
flex super-smack-lex.ll && mv lex.yy.c super-smack-lex.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c super-smack-lex.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c query.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c parse.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c libsmack.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c mysql-client.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c pg-client.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c ora-client.cc
/usr/local/bin/g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/local/mysql/include
-g -O2 -c tcp_client.cc
/usr/local/bin/g++ -g -O2 -lsocket -lnsl -lm -o super-smack super-smack.o
client.o engines.o die.o dictionary.o super-smack-yacc.o super-smack-lex.o
query.o parse.o libsmack.o mysql-client.o pg-client.o ora-client.o
tcp_client.o -L/usr/local/mysql/lib -lmysqlclient -L/usr/local/mysql/lib
-lcrypt -lz -lsocket -lnsl
ld: warning: file /usr/local/mysql/lib/libmysqlclient.a(libmysql.o): wrong ELF
class: ELFCLASS64
Undefined first referenced
symbol in file
mysql_fetch_row mysql-client.o
mysql_query mysql-client.o
mysql_errno mysql-client.o
mysql_error mysql-client.o
mysql_close mysql-client.o
mysql_free_result mysql-client.o
mysql_fetch_fields mysql-client.o
mysql_store_result mysql-client.o
mysql_init mysql-client.o
mysql_real_connect mysql-client.o
mysql_fetch_lengths mysql-client.o
yyerror(char const*) super-smack-yacc.o
mysql_num_fields mysql-client.o
mysql_escape_string mysql-client.o
ld: fatal: Symbol referencing errors. No output written to super-smack
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `super-smack'
Current working directory /home/fmashraqi/install/bench/super-smack-1.3/src
*** Error code 1
The following command caused the error:
set fnord ; amf=$2; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='src'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /home/fmashraqi/install/bench/super-smack-1.3
*** Error code 1
make: Fatal error: Command failed for target `all-recursive-am'
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
[email protected]