Hello hackers,
During the Oracle migration tutorial by peter at PGCon, I took an action
item for myself to try orafce on Solaris/OpenSolaris.
As pg binaries are bundled with Solaris now (using Sun Studio compiler),
I decided to try out building orafce against the same bundled binaries
(with USE_PGXS=1).
I see following build error,
/opt/SUNWspro/SS11/bin/cc -xc99=none -xCC -KPIC -I.
-I/usr/include/pgsql/server -I/usr/include/pgsql/internal
-I/usr/sfw/include -I/usr/include/kerberosv5 -c -o pipe.o pipe.c
"pipe.c", line 149: null dimension: data
cc: acomp failed for pipe.c
gmake[1]: *** [pipe.o] Error 2
gmake[1]: Leaving directory `/builds2/postgres/orafce/orafce'
*** Error code 2
make: Fatal error: Command failed for target `orafce/config.status'
Current working directory /builds2/postgres/orafce
Sun Studio does not like array declarations with null as dimenstion.
So, In pipe.c we have,
typedef struct
{ LWLockId shmem_lock; pipe *pipes; alert_event *events; alert_lock *locks; size_t size;
unsigned int sid; char data[]; /* line 149 */
} sh_memory;
A quick look tells me that this should not be hard to fix, but have not
prepared any patch as I dont understand the code very well.
Is it possible to fix this soon ? This will increase the portability and
would help people use orafce with existing pg binaries on Solaris.
Thanks
Mayuresh