Ups. Patch attached

                Zdenek

Zdenek Kotala napsal(a):
Tom Lane napsal(a):
Zdenek Kotala <[EMAIL PROTECTED]> writes:
I attached patch which replaces any "--..." occurrence with "-c..." on command line.

Please see whether forcibly using src/port/getopt.c fixes this,
instead.  A saner patch would probably add something like this
to configure.in:

if test "$PORTNAME" = "solaris"; then
AC_LIBOBJ(getopt)
AC_LIBOBJ(getopt_long)
fi

Yeah, this is the best solution. I attach a patch. Is possible to backport it back to 8.3, 8.2?

Just for completeness Solaris getopt function has a extension which processes long option argument. This extension is called CLIP. This implementation collides with unusual getopt usage for long option processing in PostgreSQL.

More info are there:
http://docs.sun.com/app/docs/doc/819-2243/getopt-3c?l=en&a=view
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/getopt.c
http://docs.sun.com/app/docs/doc/819-2239/6n4hsf6e5?l=en&a=view

By the way old solaris getopt version is similary with postgres implementation. :-)

http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libbc/libc/gen/common/getopt.c


        Thanks for help
                Zdenek

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Index: configure.in
===================================================================
RCS file: /zfs_data/cvs_pgsql/cvsroot/pgsql/configure.in,v
retrieving revision 1.551
diff -c -r1.551 configure.in
*** configure.in	19 Feb 2008 01:05:28 -0000	1.551
--- configure.in	22 Feb 2008 20:16:05 -0000
***************
*** 1102,1107 ****
--- 1102,1115 ----
    AC_LIBOBJ(getopt_long)
  fi
  
+ # Solaris has getopt implementation which is not compatible with unusual
+ # parsing for long options used in PostgreSQL. Replace it by own implementation
+ # is best solution how to avoid complication.
+ if test "$PORTNAME" = "solaris"; then
+   AC_LIBOBJ(getopt)
+   AC_LIBOBJ(getopt_long)
+ fi
+ 
  # Win32 support
  if test "$PORTNAME" = "win32"; then
  AC_REPLACE_FUNCS(gettimeofday)
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to