Syck compiling error on HPUX - aCC

I am getting the following error when compiling ruby-1.8
HP-UX B.11.00
compiling syck
aCC -Ae +Z -g +Z -I. -I/opt/ruby-1.8.0 -I/opt/ruby-1.8.0
-I/opt/ruby-1.8.0/ext/syck -DHAVE_ST_H -c gram.c
Error 173: “syck.h”, line 183 # Redefined symbol ‘_syck_file’;
previously defined at [“syck.h”, line 127].
struct _syck_file {
^^^^^^^^^^^^^^^^^
Error 173: “syck.h”, line 187 # Redefined symbol ‘_syck_str’; previously
defined at [“syck.h”, line 128].
struct _syck_str {
^^^^^^^^^^^^^^^^
Error 173: “syck.h”, line 197 # Redefined symbol ‘_syck_level’;
previously defined at [“syck.h”, line 129].
struct _syck_level {
^^^^^^^^^^^^^^^^^^
*** Error exit code 2

Stop.
*** Error exit code 1

Any clue ?

what if I dont want syck to be installed ?

I have tried deleting its line on the ext/Setup file, run configure
again, but it still trying to compile it

Thanks guys.

-rbermejo

I am getting the following error when compiling ruby-1.8
compiling syck

If you could please try the patch to syck.h below, I’d much appreciate. I’d
ultimately like to get this extension working on your platform. I know you
may not use Syck, but we at least want Ruby to work out of the bag for you.

what if I dont want syck to be installed ?

Just delete ext/syck/.

_why

— /home/why/cvs/ruby/ruby/ext/syck/syck.h Mon Jul 28 13:27:42 2003
+++ lib/syck.h Fri Aug 15 18:15:36 2003
@@ -152,8 +156,28 @@
};

/*

  • Parser struct
    */
    +struct _syck_file {
  • /* File pointer */
  • FILE *ptr;
  • /* Function which FILE → buffer */
  • SyckIoFileRead read;
    +};
···

On Friday 15 August 2003 05:45 pm, Bermejo, Rodrigo (GEAE, Foreign National) wrote:
+
+struct _syck_str {

  • /* String buffer pointers */
  • char *beg, *ptr, *end;
  • /* Function which string → buffer */
  • SyckIoStrRead read;
    +};

+struct _syck_level {

  • int spaces;
  • char *domain;
  • enum syck_level_status status;
    +};

struct _syck_parser {
/* Root node /
SYMID root, root_on_error;
@@ -180,25 +204,15 @@
/
EOF flag */
int eof;
union {

  •    struct _syck_file {
    
  •        FILE *ptr;
    
  •        SyckIoFileRead read;
    
  •    } *file;
    
  •    struct _syck_str {
    
  •        char *beg, *ptr, *end;
    
  •        SyckIoStrRead read;
    
  •    } *str;
    
  •    SyckIoFile *file;
    
  •    SyckIoStr *str;
    
    } io;
    /* Symbol table for anchors */
    st_table *anchors, bad_anchors;
    /
    Optional symbol table for SYMIDs */
    st_table syms;
    /
    Levels of indentation */
  • struct _syck_level {
  •    int spaces;
    
  •    char *domain;
    
  •    enum syck_level_status status;
    
  • } *levels;
  • SyckLevel *levels;
    int lvl_idx;
    int lvl_capa;
    void *bonus;

After syck.h patched

#irb
irb(main):001:0> require ‘syck’
=> true
irb(main):002:0> uname -a
=> “HP-UX aeaehn07 B.11.00 A 9000/785 2009896547 two-user license\n”

Thanks a lot Mr._why

why the lucky stiff wrote:

···

On Friday 15 August 2003 05:45 pm, Bermejo, Rodrigo (GEAE, Foreign National) >wrote:

I am getting the following error when compiling ruby-1.8
compiling syck

If you could please try the patch to syck.h below, I’d much appreciate. I’d
ultimately like to get this extension working on your platform. I know you
may not use Syck, but we at least want Ruby to work out of the bag for you.

what if I dont want syck to be installed ?

Just delete ext/syck/.

_why

— /home/why/cvs/ruby/ruby/ext/syck/syck.h Mon Jul 28 13:27:42 2003
+++ lib/syck.h Fri Aug 15 18:15:36 2003
@@ -152,8 +156,28 @@
};

/*

  • Parser struct
    */
    +struct _syck_file {
  • /* File pointer */
  • FILE *ptr;
  • /* Function which FILE → buffer */
  • SyckIoFileRead read;
    +};

+struct _syck_str {

  • /* String buffer pointers */
  • char *beg, *ptr, *end;
  • /* Function which string → buffer */
  • SyckIoStrRead read;
    +};

+struct _syck_level {

  • int spaces;
  • char *domain;
  • enum syck_level_status status;
    +};

struct _syck_parser {
/* Root node /
SYMID root, root_on_error;
@@ -180,25 +204,15 @@
/
EOF flag */
int eof;
union {

  •    struct _syck_file {
    
  •        FILE *ptr;
    
  •        SyckIoFileRead read;
    
  •    } *file;
    
  •    struct _syck_str {
    
  •        char *beg, *ptr, *end;
    
  •        SyckIoStrRead read;
    
  •    } *str;
    
  •    SyckIoFile *file;
    
  •    SyckIoStr *str;
    
    } io;
    /* Symbol table for anchors */
    st_table *anchors, bad_anchors;
    /
    Optional symbol table for SYMIDs */
    st_table syms;
    /
    Levels of indentation */
  • struct _syck_level {
  •    int spaces;
    
  •    char *domain;
    
  •    enum syck_level_status status;
    
  • } *levels;
  • SyckLevel *levels;
    int lvl_idx;
    int lvl_capa;
    void *bonus;