DragonFlyBSD / DPorts

The dedicated application build system for DragonFly BSD
Other
89 stars 44 forks source link

graphics/openjpeg15 on i386 libopenjpeg.so.1.5.2: undefined reference to `memalign' #93

Closed davshao closed 10 years ago

davshao commented 10 years ago

Building graphics/openjpeg15 from source, current dports master, fails on at least two machines running i386 3.9-DEVELOPMENT.

cat /etc/make.conf CFLAGS+=-g STRIP= DISABLE_VULNERABILITIES=yes WITH_PKGNG=yes WITH_VIM_OPTIONS=yes

The build output is:

CMake Warning: Manually-specified variables were not used by the project:

CMAKE_CXX_COMPILER
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_RELEASE
CMAKE_C_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS
THREADS_HAVE_PTHREAD_ARG

... [ 7%] Building C object libopenjpeg/CMakeFiles/openjpeg.dir/bio.c.o In file included from /usr/obj/dports/graphics/openjpeg15/work/openjpeg-1.5.2/libopenjpeg/opj_malloc.h:91:0, from /usr/obj/dports/graphics/openjpeg15/work/openjpeg-1.5.2/libopenjpeg/opj_includes.h:107, from /usr/obj/dports/graphics/openjpeg15/work/openjpeg-1.5.2/libopenjpeg/bio.c:32: /usr/include/malloc.h:2:2: warning: #warning "this file includes which is deprecated, use instead" [-Wcpp] ... [ 89%] Building C object applications/codec/CMakeFiles/j2k_dump.dir/__/common/color.c.o Linking C executable ../../bin/image_to_j2k ../../bin/libopenjpeg.so.1.5.2: undefined reference to `memalign' --- bin/image_to_j2k --- *\ [bin/image_to_j2k] Error code 1

make[3]: stopped in /usr/obj/dports/graphics/openjpeg15/work/openjpeg-1.5.2

jrmarino commented 10 years ago

I'm not actively testing or supporting i386, and don't believe anyone else is either. Release 3.8 is the last supported release but packages aren't even being built for it.

That being said, if you have a patch I'm happy to incorporate it.

jrmarino commented 10 years ago

Feel free to reopen report if a patch is submitted

prodigeinfo commented 9 years ago

I'm still using a 32 bit server that I'm now updating to 3.8.2. This fix worked for me:

*** libopenjpeg/opj_malloc.h    Sat Oct 25 01:50:38 2014
--- libopenjpeg/opj_malloc.h.orig   Sat Oct 25 00:48:13 2014
***************
*** 83,89 ****
  #else /* Not _WIN32 */
    #if defined(__sun)
        #define HAVE_MEMALIGN
!   #elif defined(__FreeBSD__) || defined(__DragonFly__)
      #define HAVE_POSIX_MEMALIGN
    /* Linux x86_64 and OSX always align allocations to 16 bytes */
    #elif !defined(__amd64__) && !defined(__APPLE__) && !defined(_AIX)
--- 83,89 ----
  #else /* Not _WIN32 */
    #if defined(__sun)
        #define HAVE_MEMALIGN
!   #elif defined(__FreeBSD__)
      #define HAVE_POSIX_MEMALIGN
    /* Linux x86_64 and OSX always align allocations to 16 bytes */
    #elif !defined(__amd64__) && !defined(__APPLE__) && !defined(_AIX)
jrmarino commented 9 years ago

okay, thanks. I put the patch in dports: 838abb11d1ee3dd4f735f1870299bdeda4fb3c4f