ports/181736: [patch] textproc/domc: unbreak on amd64 (r324422 regression) and sparc64

Jan Beich jbeich at tormail.org
Sun Sep 1 23:10:01 UTC 2013


>Number:         181736
>Category:       ports
>Synopsis:       [patch] textproc/domc: unbreak on amd64 (r324422 regression) and sparc64
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 01 23:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Jan Beich
>Release:        FreeBSD 10.0-CURRENT amd64
>Organization:
>Environment:

>Description:
The vendor Makefile uses same object files to build both static and
shared library. Before r324422 .c.a suffix rule contained a line to
clean up non-pic object files before building SONAME. This was broken
without removing ARNAME from `all' target. Which object files get
-fpic now depends on a race between .c.a and .c.o.

http://pb2.nyi.freebsd.org/bulk/nogcc-default/2013-08-30_22h26m46s/logs/errors/domc-0.8.0_1.log

>How-To-Repeat:
$ make MAKE_JOBS_NUMBER=1 |& fgrep pic
$ make MAKE_JOBS_NUMBER=16 |& fgrep pic
cc -O2 -pipe -I/usr/local/include -fno-strict-aliasing -Wall -W -g -DMSGNO -I/usr/local/include -L/usr/local/lib -fpic -c -o src/events.o src/events.c
cc -O2 -pipe -I/usr/local/include -fno-strict-aliasing -Wall -W -g -DMSGNO -I/usr/local/include -L/usr/local/lib -fpic -c -o src/node.o src/node.c

>Fix:
--- shared.diff begins here ---
Index: textproc/domc/Makefile
===================================================================
--- textproc/domc/Makefile	(revision 325711)
+++ textproc/domc/Makefile	(working copy)
@@ -28,10 +28,4 @@ MAN3=		DOM_CharacterData.3m DOM_Document.3m DOM_El
 		DOM_NodeList.3m DOM_Text.3m
 MANCOMPRESSED=	yes
 
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == "sparc64"
-BROKEN=		Does not compile on sparc64-8: duplicate definition of strlen
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
Index: textproc/domc/files/patch-Makefile
===================================================================
--- textproc/domc/files/patch-Makefile	(revision 325711)
+++ textproc/domc/files/patch-Makefile	(working copy)
@@ -1,6 +1,6 @@
 --- Makefile.orig	Fri Sep 10 00:31:42 2004
 +++ Makefile	Mon Mar  7 14:48:36 2005
-@@ -1,17 +1,15 @@
+@@ -1,25 +1,23 @@
 -prefix     = /usr/local
 +prefix     = ${PREFIX}
  includedir = $(prefix)/include
@@ -22,9 +22,10 @@
  #CFLAGS     = -Wall -W -DMSGNO -I$(includedir) -L$(libdir) $(RPM_OPT_FLAGS) -ansi -pedantic -Wbad-function-cast -Wcast-align -Wcast-qual -Wchar-subscripts -Winline -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings -Wtraditional -Wconversion -Waggregate-return -Wno-parentheses
  OBJS       = src/expatls.o src/events.o src/node.o src/nodelist.o src/namednodemap.o src/dom.o src/timestamp.o src/wcwidth.o src/mbs.o
  MAN        = DOM_CharacterData.3m.gz DOM_Document.3m.gz DOM_Element.3m.gz DOM_Implementation.3m.gz DOM_NamedNodeMap.3m.gz DOM_Node.3m.gz DOM_NodeList.3m.gz DOM_Text.3m.gz
-@@ -19,12 +17,11 @@
- all: $(ARNAME)($(OBJS)) $(SONAME) src/defines.h
  
+-all: $(ARNAME)($(OBJS)) $(SONAME) src/defines.h
++all: $(SONAME) src/defines.h
+ 
  $(SONAME): $(OBJS)
 -	$(CC) -shared $(OBJS) -L$(libdir) -lmba -lexpat -Wl,-h,$(SOVERSION) -o $(SONAME)
 +	$(CC) $(LDFLAGS) -shared $(OBJS) -L$(libdir) -lmba -lexpat -Wl,-h,$(SOVERSION) -o $(SONAME)
@@ -31,12 +32,7 @@
  
  .c.a:
  	$(CC) $(CFLAGS) -c -o $*.o $<
- 	ar rv $@ $*.o
--	rm $*.o
- 
- .c.o:
- 	$(CC) $(CFLAGS) -fpic -c -o $*.o $<
-@@ -33,12 +30,10 @@
+@@ -33,12 +31,10 @@
  	install -d $(libdir)
  	install -d $(includedir)
  	install -d $(mandir)/man3
Index: textproc/domc/files/patch-src_defines.h
===================================================================
--- textproc/domc/files/patch-src_defines.h	(revision 0)
+++ textproc/domc/files/patch-src_defines.h	(working copy)
@@ -0,0 +1,11 @@
+--- src/defines.h~
++++ src/defines.h
+@@ -1,7 +1,7 @@
+ #ifndef DEFINES_H
+ #define DEFINES_H
+ 
+-#if defined(__sparc__)
++#if 0 //defined(__sparc__)
+ 
+ #define NL "\n"
+ #define HAVE_ENCDEC 0
--- shared.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list