Date: Fri, 28 Sep 2012 15:00:54 GMT From: Miklos Magyari <magyarimiki@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/172147: sysutils/isomd5sum build fails with clang Message-ID: <201209281500.q8SF0sPH038694@red.freebsd.org> Resent-Message-ID: <201209281510.q8SFA3vE058879@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209281500.q8SF0sPH038694>