Hi,
let's have a look at the output you posted:
gcc: unrecognized option `-q64'
gcc: unrecognized option `-qwarn64'
gcc: unrecognized option `-qinfo=uni'
Some Options are not recognized, obviously they have to do with 64-Bit
support, especially, ifg we consider:
ld: 0711-736 ERROR: Input file /lib/crt0_64.o:
XCOFF64 object files are not allowed in 32-bit mode.
collect2: ld returned 8 exit status
A short google search gives us the following page:
http://www-128.ibm.com/developerworks/eserver/articles/gnu.html
You might want to check the page, but there is one thing, that jumps
quite at you:
To compile an application in 64 bit mode, one should use the option
|-maix64|, which enables the 64-bit AIX ABI such as: 64-bit pointers,
64-bit long type, and the infrastructure needed to support them.
Specifying |-maix64| implies |-mpowerpc64| and |-mpowerpc|, while
|-maix32| disables the 64-bit ABI and implies |-mno-powerpc64|. GCC
defaults to -maix32.
Which would let me conclude:
the 3 unrecognized options are intended for 64-bit mode on another (the
native) compiler or rather maybe linker and that maybe the -maix64
option is missing.
check the makefile, the native compiler's options and see if this helps
you ....
-Sven
Rachit.Verma@xxxxxxxxxxxx wrote:
Hi,
We are compiling the sample Pro*C programs provided by Oracle and are using
GCC 3.3.2. Our database is Oracle 10.2.0 and environment is on IBM AIX 5.3.
We are successfully able to convert the .pc to .c file and then .c to .o,
but while linking the .o file to generate executable, we are getting the
following output/error:
$ make -f demo_proc.mk build OBJS=sample1.o EXE=sample1
/bin/make -f
/fsoracle/product/10.2.0/precomp/demo/proc/demo_proc.mk PROCFLAGS=""
PCCSRC=sample1 I_SYM=include= pc1
proc iname=sample1 include=.
include=/fsoracle/product/10.2.0/precomp/public
include=/fsoracle/product/10.2.0/rdbms/public
include=/fsoracle/product/10.2.0/rdbms/demo
include=/fsoracle/product/10.2.0/plsql/public
include=/fsoracle/product/10.2.0/network/public
Pro*C/C++: Release 10.2.0.2.0 - Production on Tue Jun 6 16:28:13 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
System default option values taken from:
/fsoracle/product/10.2.0/precomp/admin/pcscfg.cfg
/usr/local/bin/gcc -O3 -q64 -DSS_64BIT_SERVER -qwarn64 -qinfo=uni
-DAIXRIOS -I. -I/fsoracle/product/10.2.0/precomp/public
-I/fsoracle/product/10.2.0/rdbms/public
-I/fsoracle/product/10.2.0/rdbms/demo
-I/fsoracle/product/10.2.0/plsql/public
-I/fsoracle/product/10.2.0/network/public -c sample1.c
gcc: unrecognized option `-q64'
gcc: unrecognized option `-qwarn64'
gcc: unrecognized option `-qinfo=uni'
sample1.c: In function `main':
sample1.c:241: warning: return type of `main' is not `int'
/usr/local/bin/gcc -o sample1 sample1.o
-L/fsoracle/product/10.2.0/lib/ -lclntsh -lld -lm `cat
/fsoracle/product/10.2.0/lib/sysliblist` -lm -lc_r -lpthreads
ld: 0711-736 ERROR: Input file /lib/crt0_64.o:
XCOFF64 object files are not allowed in 32-bit mode.
collect2: ld returned 8 exit status
make: The error code from the last command is 1.
Stop.
Are we using the correct version of GCC? Is a 64 bit version of GCC
available for use with IBM AIX 5.3? Could you please suggest the possible
solution to this problem? Please let me know in case you require any more
details.
Warm Regards,
______________________________________________
Rachit Verma
External: 01455 89 5644
______________________________________________
Unless expressly stated to the contrary, the views expressed in this email
are not necessarily the views of National Grid plc or any of its
subsidiaries or affiliates (Group Companies), and the Group Companies,
their directors, officers and employees make no representation and accept
no liability for its accuracy or completeness.
This e-mail, and any attachments are strictly confidential and intended for
the addressee(s) only. The content may also contain legal, professional or
other privileged information. If you are not the intended recipient, please
notify the sender immediately and then delete the e-mail and any
attachments. You should not disclose, copy or take any action in reliance
on this transmission.
You may report the matter by calling us on 0800 085 4806.
Please ensure you have adequate virus protection before you open or detach
any documents from this transmission. The Group Companies do not accept
any liability for viruses. An e-mail reply to this address may be subject
to monitoring for operational reasons or lawful business practices.