This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Compiling libstdc++-2.90.7 on Solaris 7
- To: libstdc++ at sourceware dot cygnus dot com
- Subject: Compiling libstdc++-2.90.7 on Solaris 7
- From: Viraj Alankar <valankar at cse dot fau dot edu>
- Date: Wed, 2 Feb 2000 09:12:54 -0500 (EST)
Hello,
We are having a problem compiling libstc++-2.90.7 on Solaris 7
with gcc 2.95.2:
c++ -DHAVE_CONFIG_H -I. -I../../libstdc++-2.90.7/src -I.. -nostdinc++
-I../../libstdc++-2.90.7/config/solaris -I../../libstdc++-2.90.7
-I../../libstdc++-2.90.7/stl -I../../libstdc++-2.90.7/libio -D_GNU_SOURCE
-fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline
-Werror -g -fno-honor-std -c -fPIC -DPIC
../../libstdc++-2.90.7/src/locale.cc -o .libs/locale.lo
In file included from ../../libstdc++-2.90.7/src/locale.cc:446:
../../libstdc++-2.90.7/config/solaris/ctype.cc:36: converting to `long int
*' from `int *'
../../libstdc++-2.90.7/config/solaris/ctype.cc:37: converting to `long int
*' from `int *'
../../libstdc++-2.90.7/config/solaris/ctype.cc:41: converting to `long int
*' from `int *'
../../libstdc++-2.90.7/config/solaris/ctype.cc:42: converting to `long int
*' from `int *'
gmake[2]: *** [locale.lo] Error 1
gmake[2]: Leaving directory `/home/home4/valankar/gcc/bld-libstdc++/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/home4/valankar/gcc/bld-libstdc++'
gmake: *** [all-recursive-am] Error 2
I noticed mention of this on the mailing list, and tried the patch
to config/solaris/bits/ctype_base.h changing:
typedef long* __to_type;
to
typedef int* __to_type;
After this change I was able to compile the library successfully.
However, when I tried using the lib my executables would core dump:
uname -a
SunOS trout 5.7 Generic_106541-05 sun4u sparc SUNW,Ultra-250
g++ --version
2.95.2
env |grep STDC
STDC3LIB=/usr/local/libstdc++-v3/lib
STDC3INC=/usr/local/libstdc++-v3/include/g++-v3
g++ -Wall -I$STDC3INC -L$STDC3LIB cool.cc -o cool
cool.cc: In function `int main()':
cool.cc:14: warning: unused variable `int count'
./cool
Segmentation Fault
ldd cool
libstdc++.so.3 => /usr/local/libstdc++-v3/lib/libstdc++.so.3
libm.so.1 => /usr/lib/libm.so.1
libc.so.1 => /usr/lib/libc.so.1
libdl.so.1 => /usr/lib/libdl.so.1
gdb cool
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (sparc-sun-solaris2.5.1),
Copyright 1996 Free Software Foundation, Inc...
(gdb) run
Starting program: /home/home3/sysadm/valankar/cool
warning: Unable to find dynamic linker breakpoint function.
warning: GDB will be unable to debug shared library initializers
warning: and track explicitly loaded dynamic code.
Program received signal SIGSEGV, Segmentation fault.
0xff294d98 in ctype<char>::ctype (this=0x36310, __table=0x0, __del=false,
__refs=0) at ../../libstdc++-2.90.7/bits/locale_facets.h:320
320 : _Ctype_nois<char>(__refs), _M_table(__table == 0 ? _S_table: __table),
Current language: auto; currently c++
(gdb)
Anyone know what may be wrong? Thanks for any help.
Viraj.