pkgconfig compile failure



Building pkgconfig-0.14.0 on AIX 5.1 with the IBM compiler fails with
the following error:

  "pkg.c", line 816.61: 1506-068 (S) 
  Operation between types "void*" and "int" is not allowed.

Compile command was

  CC='cc -O2 -D_POSIX_C_SOURCE -qlanglvl=ansi' ./configure; gmake

The following simple patch fixed this:

-------------------------> CUT <-------------------------------
--- pkg.c~      Thu Oct 10 23:14:59 2002
+++ pkg.c       Mon Oct 28 16:42:47 2002
@@ -813,7 +813,7 @@
          system_dir_iter = system_directories;
          while (system_dir_iter != NULL)
            {
-             if (strcmp (system_dir_iter->data, iter->data + offset) == 0)
+             if (strcmp (system_dir_iter->data, (const char*)((int)iter->data + offset)) == 0)
                {
                  debug_spew ("Package %s has %s in Cflags\n",
                              pkg->name, (gchar *)iter->data);
-------------------------> CUT <-------------------------------

Forcing the compiler to accept the "bug" is probably not the best
solution, but at least it compiles... I'll leave it to someone more
proficient in pkgconfig to provide the correct fix :)

BTW, the HP-UX compiler (and a couple more, can't remember which) also
whined about the same problem before my "fix". Darwin (MacOS X) is
utterly broken and I won't even _try_ to make that work :/

The compiler also complained about other type mixups in different
parts of the code, but nothing too serious it seems.

Hope this helps.

Best Regards,

-- 
Trond



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]