ports/172147: sysutils/isomd5sum build fails with clang
Miklos Magyari
magyarimiki at gmail.com
Fri Sep 28 15:10:03 UTC 2012
>Number: 172147
>Category: ports
>Synopsis: sysutils/isomd5sum build fails with clang
>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: Fri Sep 28 15:10:02 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Miklos Magyari
>Release: 9.0-RELEASE
>Organization:
>Environment:
FreeBSD mira 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Building sysutils/isomd5sum build fails with clang
# make clean all
===> Cleaning for isomd5sum-1.0.4_1
===> Extracting for isomd5sum-1.0.4_1
=> SHA256 Checksum OK for isomd5sum-1.0.4.tar.bz2.
===> Patching for isomd5sum-1.0.4_1
===> Applying FreeBSD patches for isomd5sum-1.0.4_1
===> isomd5sum-1.0.4_1 depends on file: /usr/local/bin/python2.7 - found
===> isomd5sum-1.0.4_1 depends on executable: gmake - found
===> isomd5sum-1.0.4_1 depends on shared library: popt.0 - found
===> Configuring for isomd5sum-1.0.4_1
===> Building for isomd5sum-1.0.4_1
clang -c -O -Wall -Werror -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -fPIC -I/usr/local/include/python2.7 -I/usr/local/include -L/usr/local/lib -o implantisomd5.o implantisomd5.c
clang: error: argument unused during compilation: '-L/usr/local/lib'
gmake: *** [implantisomd5.o] Error 1
*** [do-build] Error code 1
Stop in /usr/ports/sysutils/isomd5sum.
*** [/usr/ports/sysutils/isomd5sum/work/.build_done.isomd5sum._usr_local] Error code 1
Stop in /usr/ports/sysutils/isomd5sum.
>How-To-Repeat:
cd /usr/ports/sysutils/isomd5sum
make
>Fix:
I have managed to compile after modifying two patchfiles under files/
# cat files/patch-Makefile
--- Makefile.orig 2008-02-08 05:30:07.000000000 +0100
+++ Makefile 2012-09-28 16:54:36.000000000 +0200
@@ -1,14 +1,14 @@
PYVER := $(shell python -c 'import sys; print sys.version[0:3]')
PYTHON = python$(PYVER)
-PYTHONINCLUDE = /usr/include/$(PYTHON)
+PYTHONINCLUDE = ${PYTHON_INCLUDEDIR}
-ifneq (,$(filter ppc64 x86_64 s390x,$(shell uname -m)))
-LIBDIR = lib64
-else
+#ifneq (,$(filter ppc64 x86_64 s390x,$(shell uname -m)))
+#LIBDIR = lib64
+#else
LIBDIR = lib
-endif
+#endif
-CFLAGS = $(RPM_OPT_FLAGS) -Wall -Werror -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -fPIC -I$(PYTHONINCLUDE)
+CFLAGS = $(RPM_OPT_FLAGS) -Wall -Werror -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -fPIC -I$(PYTHONINCLUDE) -I${LOCALBASE}/include
OBJECTS = md5.o libimplantisomd5.o checkisomd5.o implantisomd5
SOURCES = $(patsubst %.o,%.c,$(OBJECTS))
@@ -22,34 +22,34 @@
$(CC) -c -O $(CFLAGS) -o $@ $<
implantisomd5: implantisomd5.o libimplantisomd5.a
- $(CC) -lpopt $(CFLAGS) implantisomd5.o libimplantisomd5.a -o implantisomd5
+ $(CC) -L${LOCALBASE}/lib -lpopt $(CFLAGS) implantisomd5.o libimplantisomd5.a -o implantisomd5
checkisomd5: checkisomd5.o libcheckisomd5.a
- $(CC) -lpopt $(CFLAGS) checkisomd5.o libcheckisomd5.a -o checkisomd5
+ $(CC) -L${LOCALBASE}/lib -lpopt $(CFLAGS) checkisomd5.o libcheckisomd5.a -o checkisomd5
libimplantisomd5.a: libimplantisomd5.a(libimplantisomd5.o md5.o)
libcheckisomd5.a: libcheckisomd5.a(libcheckisomd5.o md5.o)
pyisomd5sum.so: $(PYOBJS)
- $(CC) -shared -g -o pyisomd5sum.so -fpic $(PYOBJS) $(LDFLAGS)
+ $(CC) -shared -o pyisomd5sum.so -fpic $(PYOBJS) $(LDFLAGS)
install: all
- mkdir -p $(DESTDIR)/usr/$(LIBDIR)/$(PYTHON)/site-packages
- mkdir -p $(DESTDIR)/usr/include
- mkdir -p $(DESTDIR)/usr/bin
- mkdir -p $(DESTDIR)/usr/share/man/man1
- install -m 755 implantisomd5 $(DESTDIR)/usr/bin
- install -m 755 checkisomd5 $(DESTDIR)/usr/bin
- install -m 755 implantisomd5.1 $(DESTDIR)/usr/share/man/man1
- install -m 755 checkisomd5.1 $(DESTDIR)/usr/share/man/man1
- install -m 755 pyisomd5sum.so $(DESTDIR)/usr/$(LIBDIR)/$(PYTHON)/site-packages
+ mkdir -p $(PYTHONPREFIX_SITELIBDIR)
+ mkdir -p $(PREFIX)/include
+ mkdir -p $(PREFIX)/bin
+ mkdir -p $(PREFIX)/man/man1
+ install -m 755 implantisomd5 $(PREFIX)/bin
+ install -m 755 checkisomd5 $(PREFIX)/bin
+ install -m 755 implantisomd5.1 $(PREFIX)/man/man1
+ install -m 755 checkisomd5.1 $(PREFIX)/man/man1
+ install -m 755 pyisomd5sum.so $(PYTHONPREFIX_SITELIBDIR)
# ln -s ../../bin/implantisomd5 $(DESTDIR)/usr/lib/anaconda-runtime/implantisomd5
# ln -s ../../bin/checkisomd5 $(DESTDIR)/usr/lib/anaconda-runtime/checkisomd5
- install -m 644 libimplantisomd5.h $(DESTDIR)/usr/include/
- install -m 644 libcheckisomd5.h $(DESTDIR)/usr/include/
- install -m 644 libimplantisomd5.a $(DESTDIR)/usr/$(LIBDIR)
- install -m 644 libcheckisomd5.a $(DESTDIR)/usr/$(LIBDIR)
+ install -m 644 libimplantisomd5.h $(PREFIX)/include/
+ install -m 644 libcheckisomd5.h $(PREFIX)/include/
+ install -m 644 libimplantisomd5.a $(PREFIX)/$(LIBDIR)
+ install -m 644 libcheckisomd5.a $(PREFIX)/$(LIBDIR)
clean:
rm -f *.o *.so *.pyc *.a .depend *~
# cat files/patch-md5.c
--- md5.c.orig 2008-02-08 05:30:07.000000000 +0100
+++ md5.c 2012-09-28 16:54:40.000000000 +0200
@@ -20,13 +20,13 @@
*/
#include <string.h>
-#include <endian.h>
+#include <sys/endian.h>
#include "md5.h"
void MD5_Transform(uint32 *buf, uint32 const *in);
-#define IS_BIG_ENDIAN() (__BYTE_ORDER == __BIG_ENDIAN)
-#define IS_LITTLE_ENDIAN() (__BYTE_ORDER == __LITTLE_ENDIAN)
+#define IS_BIG_ENDIAN() (_BYTE_ORDER == _BIG_ENDIAN)
+#define IS_LITTLE_ENDIAN() (_BYTE_ORDER == _LITTLE_ENDIAN)
static void byteReverse(unsigned char *buf, unsigned longs);
@@ -157,7 +157,7 @@
MD5_Transform(ctx->buf, (uint32 *) ctx->in);
if (ctx->doByteReverse) byteReverse((unsigned char *) ctx->buf, 4);
memcpy(digest, ctx->buf, 16);
- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
+ memset(ctx, 0, sizeof(struct MD5Context)); /* In case it's sensitive */
}
#ifndef ASM_MD5
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list