Date: Wed, 3 Dec 2008 10:13:35 GMT From: Jacob Atzen <jatzen@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/129388: FreeImage builds with memalign Message-ID: <200812031013.mB3ADZ15024557@www.freebsd.org> Resent-Message-ID: <200812031020.mB3AK38G062811@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 129388 >Category: ports >Synopsis: FreeImage builds with memalign >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Wed Dec 03 10:20:03 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Jacob Atzen >Release: 6.3-RELEASE >Organization: >Environment: FreeBSD asmussen.crd.dk 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 04:45:45 UTC 2008 root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386 >Description: FreeImage builds with a dependency on memalign which is not present on FreeBSD. This leads to problems with other programs linking to FreeImage. In this case it is the image_science rubygem that fails to work with the following message: /usr/local/lib/libfreeimage.so.3: Undefined symbol "memalign" - /home/cruise/.ruby_inline/Inline_ImageScience_aa58.so >How-To-Repeat: Build FreeImage, try to use it from Ruby with image_science >Fix: The problem lies in the LibOpenJPEG/opj_malloc.h file where HAVE_MEMALIGN is defined except for OS X and linux_x64. Removing the #define HAVE_MEMALIGN from that file cures the problem. A patch is supplied. Patch attached with submission follows: diff --git a/Source/LibOpenJPEG/opj_malloc.h b/Source/LibOpenJPEG/opj_malloc.h index 6787aed..8ea2c51 100644 --- a/Source/LibOpenJPEG/opj_malloc.h +++ b/Source/LibOpenJPEG/opj_malloc.h @@ -76,8 +76,7 @@ Allocate memory aligned to a 16 byte boundry #if defined(__sun) #define HAVE_MEMALIGN /* Linux x86_64 and OSX always align allocations to 16 bytes */ - #elif !defined(__amd64__) && !defined(__APPLE__) - #define HAVE_MEMALIGN + #elif !defined(__amd64__) && !defined(__APPLE__) #include <stdlib.h> #endif #endif >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812031013.mB3ADZ15024557>