Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Errors when compiling 1.6.4 against PostgreSQL 15 #412

@danielgustafsson

Description

@danielgustafsson

When compiling PL/Java 1.6.4 against PostgreSQL 15.0 I get (many instances of) the below error:

[INFO] Using compiling/linking rules for Linux
In file included from /home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/c/Backend.c:59:
/home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/include/pljava/type/String.h:32:25: error: conflicting types for ‘String’
 typedef struct String_* String;
                         ^~~~~~
In file included from /opt/foo/postgres/15/include/server/nodes/parsenodes.h:28,
                 from /opt/foo/postgres/15/include/server/utils/guc.h:16,
                 from /opt/foo/postgres/15/include/server/access/tableam.h:23,
                 from /opt/foo/postgres/15/include/server/commands/trigger.h:16,
                 from /opt/foo/postgres/15/include/server/executor/spi.h:16,
                 from /home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/c/Backend.c:19:
/opt/foo/postgres/15/include/server/nodes/value.h:61:3: note: previous declaration of ‘String’ was here
 } String;
   ^~~~~~

As well as these:

/home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/c/type/Type.c: In function ‘TypeClass_alloc2’:
/home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/c/type/Type.c:1084:26: warning: cast between incompatible function types from ‘void (*)(struct PgObject_ *)’ to ‘jvalue (*)(struct Type_ *, Datum)’ {aka ‘union jvalue (*)(struct Type_ *, long unsigned int)’} [-Wcast-function-type]
  self->coerceDatum     = (DatumCoercer)_PgObject_pureVirtualCalled;
                          ^
/home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/c/type/Type.c:1085:26: warning: cast between incompatible function types from ‘void (*)(struct PgObject_ *)’ to ‘Datum (*)(struct Type_ *, struct _jobject *)’ {aka ‘long unsigned int (*)(struct Type_ *, struct _jobject *)’} [-Wcast-function-type]
  self->coerceObject    = (ObjectCoercer)_PgObject_pureVirtualCalled;
                          ^
/home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/c/type/Type.c: In function ‘Type_registerType’:
/home/builder/rpmbuild/BUILD/pljava-1_6_4/pljava-so/src/main/c/type/Type.c:1176:3: warning: cast between incompatible function types from ‘void (*)(struct PgObject_ *)’ to ‘struct Type_ * (*)(Oid)’ {aka ‘struct Type_ * (*)(unsigned int)’} [-Wcast-function-type]
   (TypeObtainer)_PgObject_pureVirtualCalled);
   ^

This particular compilation was against openjdk-latest on RHEL8 which is Java 19.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions