pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/38071: "xmlrpc-c" package doesn't build under Mac OS X
>Number: 38071
>Category: pkg
>Synopsis: "xmlrpc-c" package doesn't build under Mac OS X
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Feb 20 13:55:00 +0000 2008
>Originator: Matthias Scheler
>Release: Darwin 8.11.0, pkgsrc HEAD from 2008-02-20
>Organization:
Matthias Scheler http://zhadum.org.uk/
>Environment:
System: Darwin excalibur.zhadum.org.uk 8.11.0 Darwin Kernel Version 8.11.0: Wed
Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh
powerpc
Architecture: powerpc
Machine: Power Macintosh
>Description:
Building the "xmlrpc-c" package fails under Mac OS X:
===> Building for xmlrpc-c-1.09.00nb3
[...]
gcc -c -I/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00
-I/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/include
-I/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/util/include
-I/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/abyss/src
-I/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/curl_transport
-I/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/libwww_transport
-I/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/expat/xmlparse
-DNDEBUG -Wall -Wundef -Wimplicit -W -Winline -Wundef -Wmissing-declarations
-Wstrict-prototypes -Wmissing-prototypes -fno-common -g -O3 system_method.c -o
system_method.o >/dev/null 2>&1
/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/libtool
--mode=link gcc -o libxmlrpc_server.la -version-info 12:0:9 -rpath
/usr/pkg/lib -L.libs
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/libutil/.libs
\
registry.lo method.lo system_method.lo -lxmlrpc_util -lxmlrpc
*** [buildlink3] Warning: libtool replaced -lxmlrpc with
/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/src/libxmlrpc.la
gcc -dynamiclib ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o
.libs/libxmlrpc_server.3.9.0.dylib .libs/registry.o .libs/method.o
.libs/system_method.o
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/libutil/.libs/.libs
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/src/.libs
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/libutil/.libs
/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/libutil/.libs/libxmlrpc_util.dylib
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/.buildlink/lib
/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/src/.libs/libxmlrpc.dylib
libxmlrpc_util.dylib
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/expat/xmlparse/.libs
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/expat/xmlparse/.libs/.libs
libxmlrpc_xmlparse.dylib
-L/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib!
/expat/xmltok/.libs
/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/lib/expat/xmltok/.libs/libxmlrpc_xmltok.dylib
-install_name /usr/pkg/lib/libxmlrpc_server.3.dylib -compatibility_version
13 -current_version 13.0
powerpc-apple-darwin8-gcc-4.0.1: libxmlrpc_util.dylib: No such file or directory
powerpc-apple-darwin8-gcc-4.0.1: libxmlrpc_xmlparse.dylib: No such file or
directory
gmake[1]: *** [libxmlrpc_server.la] Error 1
gmake[1]: Leaving directory
`/Users/tron/obj/textproc/xmlrpc-c/work.excalibur/xmlrpc-c-1.09.00/src'
gmake: *** [src/all] Error 2
*** Error code 2
This is rather unfortunate because "cmake" requires "xmlrpc-c". And it
seems that an increasing number of package require "cmake" for building.
>How-To-Repeat:
cd pkgsrc/textproc/xmlrpc-c
>Fix:
Here are some changes which make the build go further. The patch for
"lib/abyss/src/Makefile" is probably correct, the one for "src/Makefile"
isn't necesarily. I don't understand enough about "libtool" and
buildlink3 to figure out what is going wrong here.
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/textproc/xmlrpc-c/distinfo,v
retrieving revision 1.3
diff -u -r1.3 distinfo
--- distinfo 6 Apr 2007 11:44:33 -0000 1.3
+++ distinfo 20 Feb 2008 13:40:40 -0000
@@ -9,3 +9,4 @@
SHA1 (patch-ad) = 8b7ad5b7aacb6b13f04792bc157e228deaf2de72
SHA1 (patch-ae) = 683239483a9bfee5defe2b0c8f3ef9fd0d5735f9
SHA1 (patch-af) = c679a0cc1b867c093e9f1c1990993f18e1f50b2a
+SHA1 (patch-ag) = f245e946e8abc405d87ca5d2df1dbb290e9c977f
Index: patches/patch-ag
===================================================================
RCS file: patches/patch-ag
diff -N patches/patch-ag
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-ag 20 Feb 2008 13:40:40 -0000
@@ -0,0 +1,24 @@
+$NetBSD$
+
+--- src/Makefile.orig 2006-12-23 21:45:21.000000000 +0000
++++ src/Makefile 2008-02-20 13:32:12.000000000 +0000
+@@ -83,15 +83,14 @@
+ LIBXMLRPC_CLIENT_LIBDEP_DEP = $(LIBXMLRPC_UTIL) $(LIBXMLRPC)
+
+ LIBXMLRPC_SERVER_OBJS = registry.lo method.lo system_method.lo
+-LIBXMLRPC_SERVER_LIBDEP = -lxmlrpc_util -lxmlrpc
+-LIBXMLRPC_SERVER_LIBDEP_DEP = $(LIBXMLRPC_UTIL) $(LIBXMLRPC)
++LIBXMLRPC_SERVER_LIBDEP = -lxmlrpc_util
++LIBXMLRPC_SERVER_LIBDEP_DEP = $(LIBXMLRPC_UTIL)
+
+ LIBXMLRPC_SERVER_ABYSS_OBJS = xmlrpc_server_abyss.lo
+ LIBXMLRPC_SERVER_ABYSS_LIBDEP = \
+- -lxmlrpc_util -lxmlrpc_server -L$(ABYSS_LIBDIR) -lxmlrpc_abyss -lxmlrpc
++ -lxmlrpc_util
+ LIBXMLRPC_SERVER_ABYSS_LIBDEP_DEP = \
+- $(LIBXMLRPC_UTIL) $(LIBXMLRPC_SERVER) $(LIBXMLRPC_ABYSS) \
+- $(LIBXMLRPC)
++ $(LIBXMLRPC_UTIL) $(BLDDIR)/lib/abyss/src/libxmlrpc_abyss.la
+
+ LIBXMLRPC_SERVER_CGI_OBJS = xmlrpc_server_cgi.lo
+ LIBXMLRPC_SERVER_CGI_LIBDEP = -lxmlrpc_util -lxmlrpc_server -lxmlrpc
Index: patches/patch-ah
===================================================================
RCS file: patches/patch-ah
diff -N patches/patch-ah
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-ah 20 Feb 2008 13:40:40 -0000
@@ -0,0 +1,173 @@
+$NetBSD$
+
+--- lib/abyss/src/Makefile.orig 2006-09-29 03:40:34.000000000 +0100
++++ lib/abyss/src/Makefile 2008-02-20 13:20:43.000000000 +0000
+@@ -1,3 +1,13 @@
++###############################################################################
++# This directory builds libxmlrpc_abyss, which contains utility
++# functions that are used by the Xmlprc-c # libraries, and also
++# directly by Xmlrpc-c programs.
++#
++# The functions in this library are characterized by being general purpose
++# programming functions, such as one might wish were in the standard C
++# library, which have nothing in particular to do with XML-RPC.
++###############################################################################
++
+ ifeq ($(SRCDIR),)
+ updir = $(shell echo $(dir $(1)) | sed 's/.$$//')
+ ABYSSDIR := $(call updir,$(CURDIR))
+@@ -5,107 +15,72 @@
+ SRCDIR := $(call updir,$(LIBDIR))
+ BLDDIR := $(SRCDIR)
+ endif
+-SUBDIR := lib/abyss/src
++SUBDIR := lib/libutil
+
+ include $(BLDDIR)/Makefile.config
+
+ default: all
+
+-TARGET_LIBRARY_NAMES := libxmlrpc_abyss
+-
+-STATIC_LIBRARIES_TO_INSTALL = libxmlrpc_abyss.a
+-
+-SHARED_LIBS_TO_BUILD := libxmlrpc_abyss
+-SHARED_LIBS_TO_INSTALL := libxmlrpc_abyss
+-
+-ifeq ($(ENABLE_ABYSS_THREADS),yes)
+- THREAD_MODULE = thread_pthread
+-else
+- THREAD_MODULE = thread_fork
+-endif
+-
+-TARGET_MODS = \
+- channel \
+- chanswitch \
+- conf \
+- conn \
+- data \
+- date \
+- file \
+- http \
+- init \
+- response \
+- server \
+- session \
+- socket \
+- socket_unix \
+- token \
+- $(THREAD_MODULE) \
+- trace \
+-
+-OMIT_ABYSS_LIB_RULE = Y
+-
+-include $(SRCDIR)/Makefile.common
+-
+-CFLAGS = $(CFLAGS_COMMON) -D_UNIX $(CFLAGS_PERSONAL) $(CADD)
+-
+-INCLUDES = -Iblddir -Isrcdir -Isrcdir/include -Isrcdir/lib/util/include
+-
+-ABYSS_SHLIB = $(call shlibfn,libxmlrpc_abyss)
+-#ABYSS_SHLIB is e.g. libxmlrpc_abyss.so.3.1
+-ABYSS_SHLIBLE = $(call shliblefn,libxmlrpc_abyss)
+-#ABYSS_SHLIBLE is e.g. libxmlrpc_abyss.so
+-
+-ifneq ($(SHARED_LIB_TYPE),NONE)
+- TARGET_SHARED_LIBS := $(ABYSS_SHLIB) $(ABYSS_SHLIBLE)
+- endif
+-
+-# This 'Makefile.common' dependency makes sure the symlinks get built before
+-# this make file is used for anything.
+-
+-$(SRCDIR)/Makefile.common: srcdir blddir
+-
+-.PHONY: all
+-all: libxmlrpc_abyss.a $(TARGET_SHARED_LIBS) $(TARGET_SHARED_LE_LIBS)
++# LIBDEP is the shared libraries on which libxmlrpc_abyss depends.
++# The runtime loader should load these libraries when it loads
libxmlrpc_abyss.
+
++LIBDEP = $(LIBXMLRPC_UTIL)
+
+-# Rule for this is in Makefile.common, courtesy of TARGET_SHARED_LIBRARIES:
+-$(ABYSS_SHLIB): $(TARGET_MODS:%=%.osh)
+-$(ABYSS_SHLIB): LIBOBJECTS = $(TARGET_MODS:%=%.osh)
++all: libxmlrpc_abyss.la
+
+-# Rule for this is in Makefile.common, courtesy of TARGET_STATIC_LIBRARIES:
++LIBXMLRPC_ABYSS_OBJS = \
++ channel.lo \
++ chanswitch.lo \
++ conf.lo \
++ conn.lo \
++ data.lo \
++ date.lo \
++ file.lo \
++ http.lo \
++ init.lo \
++ response.lo \
++ server.lo \
++ session.lo \
++ socket.lo \
++ socket_unix.lo \
++ token.lo \
++ thread_pthread.lo \
++ trace.lo \
++
++
++INCLUDES = -I$(BLDDIR) -Isrcdir \
++ -I$(BLDDIR)/include -Isrcdir/include -Isrcdir/lib/util/include
++
++LIBLDFLAGS = $(LDFLAGS_VERSINFO) $(RPATH) $(LADD)
++
++libxmlrpc_abyss.la: $(LIBXMLRPC_ABYSS_OBJS) $(LIBXMLRPC_UTIL)
++ $(LIBTOOL) --mode=link $(CCLD) -o $@ $(LIBLDFLAGS) $^
+
+-libxmlrpc_abyss.a: $(TARGET_MODS:%=%.o)
+-libxmlrpc_abyss.a: LIBOBJECTS = $(TARGET_MODS:%=%.o)
++CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_PERSONAL) $(CADD)
+
+-#-----------------------------------------------------------------------------
+-# RULES TO COMPILE OBJECT MODULES FOR LIBRARIES
+-#-----------------------------------------------------------------------------
++$(LIBXMLRPC_ABYSS_OBJS):%.lo:%.c
++ $(LIBTOOL) --mode=compile $(CC) -c $(INCLUDES) $(CFLAGS) $<
+
+-# Rules to compile object modules from which to build the static and shared
+-# Abyss library are in Makefile.common, courtesy of TARGET_MODS.
++LTLIBRARIES_TO_INSTALL = libxmlrpc_abyss.la
+
++.PHONY: install
++install: install-common
+
+-# Need this dependency for those who don't use Makefile.depend.
+-# Without it, version.h doesn't get created.
+-response.o response.osh: version.h
+-
+-.PHONY: clean
++.PHONY: clean distclean
+ clean: clean-common
+
+-.PHONY: distclean
+ distclean: clean distclean-common
+
+-.PHONY: tags
+-tags: TAGS
++.PHONY: dep
++dep: dep-common
+
+-.PHONY: distdir
+-distdir:
++# This 'Makefile.common' dependency makes sure the symlinks get built before
++# this make file is used for anything.
+
+-.PHONY: install
+-install: install-common
++$(SRCDIR)/Makefile.common: srcdir
+
+-.PHONY: dep
+-dep: dep-common
++OMIT_ABYSS_LIB_RULE=Y
++
++include $(SRCDIR)/Makefile.common
+
+ include Makefile.depend
Home |
Main Index |
Thread Index |
Old Index