Re: DBD::Oracle Install Fails on Gentoo Linux



tom r schrieb:
Installing DBD::Oracle on Gentoo Linux fails with the following error:

x86_64-pc-linux-gnu-gcc: unrecognized option '-wchar-stdc++'
x86_64-pc-linux-gnu-gcc: unrecognized option '-cxxlib-gcc'
cc1: error: /ee/dev/bastring.h: No such file or directory

I tracked this down to the Oracle XE install problem. Makefile.PL is reading $OH/rdbms/demo/demo_xe.mk which has these paragraphs at the end:

ifdef BUILD_CCC296
CC=/usr/bin/g++296
CCFLAGS = -include /ee/dev/bastring.h $(CCINCLUDES) -wchar-stdc++ -DLINUX -D_GNU_SOURCE -D_REENTRANT -g
endif

ifdef BUILD_ICC
COMPDIR=/usr/local/remote/packages/icc_remote/8.1-022
CC=$(COMPDIR)/bin/icpc
CCFLAGS += -DOCCI_NO_WSTRING=1 -cxxlib-gcc
endif

This creates a CCFLAGS value of

'-include /ee/dev/bastring.h -I../ -wchar-stdc++ -DLINUX -D_GNU_SOURCE -D_REENTRANT -g -DOCCI_NO_WSTRING=1 -cxxlib-gcc';

where '-wchar-stdc++' and '-cxxlib-gcc' are, apparently invalid options to gcc and furthermore /ee/dev/bastring.h doesn't exist. By commenting out these last two paragraphs Makefile.PL builds CCFLAGS with a value of

'-I../ -DLINUX -D_GNU_SOURCE -D_REENTRANT -g'

which gcc likes much better. This modification to demo_xe.mk allows DBD::Oracle to install and work properly. I don't know what BUILD_CCC296 or BUILD_ICC mean but I suppose it's a Solaris thing that doesn't work under Linux. Just a guess. In any event it would be nice if Makefile.PL took this into account.

tom



No, I don´t think so.

Looking at the names of those variable I would assume BUILD_CCC296 to be options for GCC V2.96 (rather old, but used by Oracle V9) and BUILD_ICC to be options for the non-free Intel C-compiler for Linux (didn´t expect anybody to care about that one). Since you are using Oracle XE (definitely 10g) the first option should not be active.

Hannes