cmacosautotoolslibtoolgnulib

libpipeline fails to compile on Mac OS X


I am trying to build libpipeline on Mac OS X, but I am getting errors that I have not encountered with other programs that use autotools.

This is the first error I get:

/Developer/usr/bin/ranlib: file: .libs/libgnu.a(sig-handler.o) has no symbols

The second error is much more cryptic:

warning: /Developer/usr/bin/nm: no name list

Finally, I get this error, which is speculatively a culmination of the previous errors.

Undefined symbols for architecture x86_64:
  "_program_name", referenced from:
      _error in libgnu.a(error.o)
      _error_at_line in libgnu.a(error.o)
ld: symbol(s) not found for architecture x86_64

Full log: https://gist.github.com/ahyattdev/7e4da95d48a6d25ad77aad926a14e7b0

Steps to reproduce: Get the source of libpipeline 1.4.1, run configure; make.


Solution

  • This comment was the main contribution to this answer

    Configure command:

    CFLAGS="-Wl,-flat_namespace,-undefined,suppress -Iwindows.h" ./configure
    

    A few errors arise related to a header that is windows specific, but it only needs a few entries in the header to get this to compile.

    Contents of windows.h (I placed it in the project root)

    typedef intptr_t;
    #define INVALID_HANDLE_VALUE -1
    

    This will allow the project to successfully build.