Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freeimage missing symbols for 32bit for 0.9.3 on OS X #4993

Closed
ofTheo opened this issue Mar 14, 2016 · 27 comments
Closed

Freeimage missing symbols for 32bit for 0.9.3 on OS X #4993

ofTheo opened this issue Mar 14, 2016 · 27 comments

Comments

@ofTheo
Copy link
Member

ofTheo commented Mar 14, 2016

From the forum: https://forum.openframeworks.cc/t/of-0-9-3-not-building-32-bit-on-osx/22777

Doing a lipo -i it shows a FAT lib.
But it looks like its missing 32bit for TIFF/PNG etc
I am able to reproduce with the current 0.9.3 download building an example with 32bit target.

ping @bakercp

Ld bin/videoPlayerExampleDebug.app/Contents/MacOS/videoPlayerExampleDebug normal i386
    cd /Users/theo/Downloads/of_v0.9.3_osx_release/examples/video/videoPlayerExample
    export MACOSX_DEPLOYMENT_TARGET=10.7
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -L/Users/theo/Downloads/of_v0.9.3_osx_release/examples/video/videoPlayerExample/bin -F/Users/theo/Downloads/of_v0.9.3_osx_release/examples/video/videoPlayerExample/bin -F/Users/theo/Downloads/of_v0.9.3_osx_release/examples/video/videoPlayerExample/../../../libs/glut/lib/osx -filelist /Users/theo/Downloads/of_v0.9.3_osx_release/examples/video/videoPlayerExample/DerivedData/videoPlayerExample/Build/Intermediates/videoPlayerExample.build/Debug/videoPlayerExample.build/Objects-normal/i386/videoPlayerExampleDebug.LinkFileList -mmacosx-version-min=10.7 -dead_strip ../../../libs/poco/lib/osx/PocoCrypto.a ../../../libs/poco/lib/osx/PocoData.a ../../../libs/poco/lib/osx/PocoDataSQLite.a ../../../libs/poco/lib/osx/PocoJSON.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoNetSSL.a ../../../libs/poco/lib/osx/PocoZip.a ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a ../../../libs/openssl/lib/osx/crypto.a ../../../libs/openssl/lib/osx/ssl.a ../../../libs/glfw/lib/osx/glfw3.a ../../../libs/FreeImage/lib/osx/freeimage.a ../../../libs/freetype/lib/osx/freetype.a ../../../libs/boost/lib/osx/boost_filesystem.a ../../../libs/boost/lib/osx/boost_system.a -framework Accelerate -framework AGL -framework AppKit -framework ApplicationServices -framework AudioToolbox -framework AVFoundation -framework Cocoa -framework CoreAudio -framework CoreFoundation -framework CoreMedia -framework CoreServices -framework CoreVideo -framework IOKit -framework OpenGL -framework QuartzCore -framework QuickTime -framework QTKit -framework GLUT -stdlib=libc++ /Users/theo/Downloads/of_v0.9.3_osx_release/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a -Xlinker -dependency_info -Xlinker /Users/theo/Downloads/of_v0.9.3_osx_release/examples/video/videoPlayerExample/DerivedData/videoPlayerExample/Build/Intermediates/videoPlayerExample.build/Debug/videoPlayerExample.build/Objects-normal/i386/videoPlayerExampleDebug_dependency_info.dat -o /Users/theo/Downloads/of_v0.9.3_osx_release/examples/video/videoPlayerExample/bin/videoPlayerExampleDebug.app/Contents/MacOS/videoPlayerExampleDebug

Undefined symbols for architecture i386:
  "_uncompress", referenced from:
      Imf_2_2::DwaCompressor::uncompress(char const*, int, Imath_2_2::Box<Imath_2_2::Vec2<int> >, char const*&) in freeimage.a(ImfDwaCompressor.o-i386)
      Imf_2_2::Pxr24Compressor::uncompress(char const*, int, Imath_2_2::Box<Imath_2_2::Vec2<int> >, char const*&) in freeimage.a(ImfPxr24Compressor.o-i386)
      Imf_2_2::Zip::uncompress(char const*, int, char*) in freeimage.a(ImfZip.o-i386)
     (maybe you meant: _ssl3_do_uncompress)
  "_opj_stream_set_user_data", referenced from:
      opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
  "_opj_stream_set_user_data_length", referenced from:
      opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
  "_opj_stream_set_skip_function", referenced from:
      opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
  "_TIFFDataWidth", referenced from:
      l002 in freeimage.a(XTIFF.o-i386)
  "_TIFFGetTagListEntry", referenced from:
      tiff_read_exif_tags(tiff*, TagLib::MDMODEL, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
  "_TIFFMergeFieldInfo", referenced from:
      l001 in freeimage.a(XTIFF.o-i386)
  "_WebPConfigInitInternal", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_WebPValidateConfig", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_WebPPictureImportBGR", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_WebPEncode", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_TIFFFieldDataType", referenced from:
      l002 in freeimage.a(XTIFF.o-i386)
      tiff_write_exif_tags(tiff*, TagLib::MDMODEL, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
  "_WebPPictureFree", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_WebPMuxSetImage", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_WebPMuxAssemble", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_WebPMuxGetFeatures", referenced from:
      l007 in freeimage.a(PluginWebP.o-i386)
  "_WebPInitDecoderConfigInternal", referenced from:
      l007 in freeimage.a(PluginWebP.o-i386)
  "_WebPGetFeaturesInternal", referenced from:
      l007 in freeimage.a(PluginWebP.o-i386)
  "_WebPFreeDecBuffer", referenced from:
      l007 in freeimage.a(PluginWebP.o-i386)
  "_TIFFDefaultStripSize", referenced from:
      l018 in freeimage.a(PluginTIFF.o-i386)
  "__TIFFDataSize", referenced from:
      tiff_write_exif_tags(tiff*, TagLib::MDMODEL, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
  "_TIFFWriteDirectory", referenced from:
      l018 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFReadRGBAImage", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFTileSize", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFReadTile", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_WebPPictureInitInternal", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_TIFFIsByteSwapped", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
      l018 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFSwabArrayOfLong", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
      l018 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFReadEXIFDirectory", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFCurrentDirectory", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFSetSubDirectory", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFFieldTag", referenced from:
      tiff_read_exif_tags(tiff*, TagLib::MDMODEL, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
      l002 in freeimage.a(XTIFF.o-i386)
      tiff_write_exif_tags(tiff*, TagLib::MDMODEL, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
  "_TIFFSetDirectory", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFSetTagExtender", referenced from:
      XTIFFInitialize() in freeimage.a(XTIFF.o-i386)
  "_jpeg_CreateCompress", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_WebPNewInternal", referenced from:
      l005 in freeimage.a(PluginWebP.o-i386)
  "_jpeg_simple_progression", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_write_m_header", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_write_m_byte", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_write_scanlines", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_finish_compress", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_destroy_compress", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_std_error", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_CreateDecompress", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_save_markers", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_start_decompress", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_finish_decompress", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
  "_opj_stream_set_read_function", referenced from:
      opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
  "_TIFFWriteScanline", referenced from:
      l018 in freeimage.a(PluginTIFF.o-i386)
  "_jpeg_destroy_decompress", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
  "_png_get_io_ptr", referenced from:
      l015 in freeimage.a(PluginPNG.o-i386)
      l017 in freeimage.a(PluginPNG.o-i386)
  "_png_set_pHYs", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_get_iCCP", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_compression_strategy", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_set_PLTE", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_set_tRNS", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_destroy_write_struct", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_create_read_struct", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_WebPMuxSetChunk", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_png_set_read_fn", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_longjmp_fn", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_read_info", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_expand_gray_1_2_4_to_8", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_packing", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_tRNS_to_alpha", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_get_PLTE", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_get_gAMA", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_TIFFComputeStrip", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_jpeg_read_header", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
  "_png_write_end", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_set_gamma", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_WebPDecode", referenced from:
      l007 in freeimage.a(PluginWebP.o-i386)
  "_png_sig_cmp", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_WebPMuxCreateInternal", referenced from:
      l005 in freeimage.a(PluginWebP.o-i386)
  "_png_read_update_info", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_TIFFTileRowSize", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFGetField", referenced from:
      l005 in freeimage.a(PluginG3.o-i386)
      l017 in freeimage.a(PluginTIFF.o-i386)
      l018 in freeimage.a(PluginTIFF.o-i386)
      l026 in freeimage.a(PluginTIFF.o-i386)
      l027 in freeimage.a(PluginTIFF.o-i386)
      tiff_read_geotiff_profile(tiff*, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
      l002 in freeimage.a(XTIFF.o-i386)
      ...
  "_opj_set_default_encoder_parameters", referenced from:
      l008 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_GUID_PKPixelFormatDontCare", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_png_get_color_type", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_TIFFReadDirectory", referenced from:
      l016 in freeimage.a(PluginTIFF.o-i386)
  "_jpeg_set_defaults", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_png_set_interlace_handling", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_TIFFGetTagListCount", referenced from:
      tiff_read_exif_tags(tiff*, TagLib::MDMODEL, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
  "_png_free", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_get_channels", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_opj_encode", referenced from:
      l008 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_png_get_tRNS", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_get_pHYs", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_get_valid", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_get_tIME", referenced from:
      l016 in freeimage.a(PluginPNG.o-i386)
  "_png_read_end", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_GUID_PKPixelFormat24bppRGB", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_png_set_gray_to_rgb", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_swap", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
      l006 in freeimage.a(PluginPNG.o-i386)
  "_opj_stream_set_write_function", referenced from:
      opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
  "_opj_stream_set_seek_function", referenced from:
      opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
  "_png_set_iCCP", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_WebPMuxGetFrame", referenced from:
      l007 in freeimage.a(PluginWebP.o-i386)
  "_png_destroy_read_struct", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_GUID_PKPixelFormatBlackWhite", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_jpeg_resync_to_restart", referenced from:
      jpeg_freeimage_src(jpeg_decompress_struct*, void*, FreeImageIO*) in freeimage.a(PluginJPEG.o-i386)
  "_opj_setup_encoder", referenced from:
      l008 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_png_set_filter", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_jpeg_start_compress", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_jpeg_read_scanlines", referenced from:
      l012 in freeimage.a(PluginJPEG.o-i386)
  "_GUID_PKPixelFormat16bppGray", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_png_get_bit_depth", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_benign_errors", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_TIFFFieldWithTag", referenced from:
      l002 in freeimage.a(XTIFF.o-i386)
  "_GUID_PKPixelFormat64bppRGBA", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_PKFormatConverter_Release", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_GUID_PKPixelFormat16bppRGB565", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_opj_stream_destroy", referenced from:
      opj_freeimage_stream_destroy(tagJ2KFIO_t*) in freeimage.a(J2KHelper.o-i386)
  "_TIFFScanlineSize", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_GUID_PKPixelFormat128bppRGBAFloat", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_TIFFGetFieldDefaulted", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
      l002 in freeimage.a(XTIFF.o-i386)
  "_png_get_text", referenced from:
      l016 in freeimage.a(PluginPNG.o-i386)
  "_PKImageEncode_Create_WMP", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_png_set_tIME", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_PixelFormatLookup", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
      l008 in freeimage.a(PluginJXR.o-i386)
  "_png_set_bKGD", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_jpeg_write_marker", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_png_set_IHDR", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_PKImageEncode_SetIPTCNAAMetadata_WMP", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_opj_create_decompress", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
  "_GUID_PKPixelFormat96bppRGBFloat", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_opj_end_compress", referenced from:
      l008 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_PKImageEncode_SetXMPMetadata_WMP", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_png_get_IHDR", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_GUID_PKPixelFormat24bppBGR", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_GUID_PKPixelFormat16bppRGB555", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_PKImageEncode_SetGPSInfoMetadata_WMP", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_png_malloc", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_PKFormatConverter_EnumConversions", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_PKImageEncode_SetEXIFMetadata_WMP", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_WebPPictureImportBGRA", referenced from:
      l008 in freeimage.a(PluginWebP.o-i386)
  "_png_set_bgr", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
      l006 in freeimage.a(PluginPNG.o-i386)
  "_TIFFStripSize", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_opj_setup_decoder", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
  "_png_write_row", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_opj_set_error_handler", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_png_create_write_struct", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_png_write_info", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_TIFFFieldReadCount", referenced from:
      l002 in freeimage.a(XTIFF.o-i386)
  "_TIFFClientOpen", referenced from:
      l005 in freeimage.a(PluginG3.o-i386)
      l014 in freeimage.a(PluginTIFF.o-i386)
  "_GUID_PKPixelFormat32bppBGRA", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_opj_stream_create", referenced from:
      opj_freeimage_stream_create(FreeImageIO*, void*, int) in freeimage.a(J2KHelper.o-i386)
  "_png_read_image", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_opj_image_destroy", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
      FIBITMAPToJ2KImage(int, FIBITMAP*, opj_cparameters const*) in freeimage.a(J2KHelper.o-i386)
  "_GUID_PKPixelFormat32bppRGB", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_opj_set_default_decoder_parameters", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
  "_WebPMuxGetChunk", referenced from:
      l007 in freeimage.a(PluginWebP.o-i386)
  "_jpeg_set_quality", referenced from:
      l013 in freeimage.a(PluginJPEG.o-i386)
  "_opj_decode", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
  "_png_set_invert_mono", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_TIFFReadEncodedStrip", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_opj_create_compress", referenced from:
      l008 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_png_set_compression_level", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_opj_set_warning_handler", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_PKImageDecode_Create_WMP", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_png_get_bKGD", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_opj_end_decompress", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
  "_opj_start_compress", referenced from:
      l008 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_opj_set_info_handler", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_GUID_PKPixelFormat48bppRGB", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_opj_image_create", referenced from:
      FIBITMAPToJ2KImage(int, FIBITMAP*, opj_cparameters const*) in freeimage.a(J2KHelper.o-i386)
  "_png_set_text", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_TIFFSetMode", referenced from:
      l005 in freeimage.a(PluginG3.o-i386)
  "_jpeg_destroy", referenced from:
      l002 in freeimage.a(PluginJPEG.o-i386)
      l006 in freeimage.a(PluginJPEG.o-i386)
      l007 in freeimage.a(PluginJPEG.o-i386)
      l020 in freeimage.a(PluginJPEG.o-i386)
  "_opj_destroy_codec", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l008 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
      l008 in freeimage.a(PluginJP2.o-i386)
  "_opj_read_header", referenced from:
      l007 in freeimage.a(PluginJ2K.o-i386)
      l007 in freeimage.a(PluginJP2.o-i386)
  "_PKAllocAligned", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_png_set_sig_bytes", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
  "_png_set_write_fn", referenced from:
      l006 in freeimage.a(PluginPNG.o-i386)
  "_PKFreeAligned", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_TIFFSetField", referenced from:
      l005 in freeimage.a(PluginG3.o-i386)
      l017 in freeimage.a(PluginTIFF.o-i386)
      l018 in freeimage.a(PluginTIFF.o-i386)
      tiff_write_geotiff_profile(tiff*, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
      tiff_write_exif_tags(tiff*, TagLib::MDMODEL, FIBITMAP*) in freeimage.a(XTIFF.o-i386)
  "_GUID_PKPixelFormat32bppGrayFloat", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_png_create_info_struct", referenced from:
      l005 in freeimage.a(PluginPNG.o-i386)
      l006 in freeimage.a(PluginPNG.o-i386)
  "_WebPMuxDelete", referenced from:
      l006 in freeimage.a(PluginWebP.o-i386)
  "_PKCodecFactory_CreateFormatConverter", referenced from:
      l007 in freeimage.a(PluginJXR.o-i386)
  "_TIFFFieldName", referenced from:
      l002 in freeimage.a(XTIFF.o-i386)
  "_TIFFIsTiled", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_TIFFLastDirectory", referenced from:
      l017 in freeimage.a(PluginTIFF.o-i386)
  "_GUID_PKPixelFormat8bppGray", referenced from:
      l008 in freeimage.a(PluginJXR.o-i386)
  "_TIFFFieldPassCount", referenced from:
      l002 in freeimage.a(XTIFF.o-i386)
  "_TIFFClose", referenced from:
      l005 in freeimage.a(PluginG3.o-i386)
      l015 in freeimage.a(PluginTIFF.o-i386)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Showing first 200 notices only
@ofTheo
Copy link
Member Author

ofTheo commented Mar 14, 2016

Can be tracked back to PR #4977
I think in general even for patch releases like 0.9.2 / 0.9.3 it would be worth to go through the RC process.
It might add an extra couple of days but it could be likely we would catch this issue then and not have to put another another patch release.

@bakercp
Copy link
Member

bakercp commented Mar 14, 2016

Argh. Sorry. It appears that the apothecary script is not building both for some reason ... seems like travis could also catch things like this no?

@bakercp
Copy link
Member

bakercp commented Mar 14, 2016

@danoli3 Any thoughts on this?

@danoli3
Copy link
Member

danoli3 commented Mar 14, 2016

Ah, I'd say it could be the merge into 1 pass optimisations @arturoc made, it must be skipping past i386 instead of doing both.

@danoli3
Copy link
Member

danoli3 commented Mar 14, 2016

I just checked the Makefile, it looks like it should be correct, I'll have a look internally at the objects during a test build... trying now.

@danoli3
Copy link
Member

danoli3 commented Mar 14, 2016

Hmmm my generated build seems okay in terms of creating the objects:

Fat header in: libfreeimage.a
fat_magic 0xcafebabe
nfat_arch 2
architecture i386
    cputype CPU_TYPE_I386
    cpusubtype CPU_SUBTYPE_I386_ALL
    offset 48
    size 6801056
    align 2^2 (4)
architecture x86_64
    cputype CPU_TYPE_X86_64
    cpusubtype CPU_SUBTYPE_X86_64_ALL
    offset 6801104
    size 9638824
    align 2^3 (8)

@ofTheo
Copy link
Member Author

ofTheo commented Mar 15, 2016

Thanks @bakercp @danoli3 for looking into this!

What is strange is if I do a diff between the 0.9.0 release apothecary scripts and the 0.9.3 ones there isn't any difference minus the tvOS stuff and there is zero difference between the 0.9.2 and 0.9.3 scripts.

Hmm...

@danoli3
Copy link
Member

danoli3 commented Mar 15, 2016

It has to be related to the damn FreeImage header.

@bakercp
Copy link
Member

bakercp commented Mar 15, 2016

Sounds like we need to revert the header to 0.9.2 and recompile on a 10.9+ machine to get the best of all solutions.

@danoli3
Copy link
Member

danoli3 commented Mar 15, 2016

Yeah definitely: Look here:
extern int TIFFSetSubDirectory(TIFF*, uint64);

"_TIFFSetSubDirectory", referenced from:
l017 in freeimage.a(PluginTIFF.o-i386)

Issue: Being of course the type in the function... "uint64"

@danoli3
Copy link
Member

danoli3 commented Mar 15, 2016

I'll revert the FreeImage repo changes we made, should be good from there I think

@ofTheo
Copy link
Member Author

ofTheo commented Mar 15, 2016

The 0.9.0 freeimage.a is 18.6MB and the 0.9.3 one is 16.4MB so thats probably the missing symbols.
I tried running apothecary on 0.9.0 and it gets the same linker errors.

Probably erring the same as it pulls from: https://github.com/danoli3/FreeImage

@danoli3 sounds good - reading your replies as I write this :)

@danoli3
Copy link
Member

danoli3 commented Mar 15, 2016

Alrighty, @ofTheo, @bakercp make sure to delete the FreeImage build folder in apothecary, and rebuild now.

Edit: I've just reverted the header changes we did.

@ofTheo
Copy link
Member Author

ofTheo commented Mar 15, 2016

@danoli3 did it work for you? still getting the same errors over here.
Looking at https://github.com/danoli3/FreeImage it looks like there weren't recent commits.
Did you push?

@danoli3
Copy link
Member

danoli3 commented Mar 15, 2016

It was a force reset, and yeah, same error, baffled.

On Tuesday, 15 March 2016, Theodore Watson notifications@github.com wrote:

@danoli3 https://github.com/danoli3 did it work for you? still getting
the same errors over here.
Looking at https://github.com/danoli3/FreeImage it looks like there
weren't recent commits.
Did you push?


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:

#4993 (comment)

@danoli3
Copy link
Member

danoli3 commented Mar 15, 2016

Maybe remove that strip -x from the script

On Tuesday, 15 March 2016, Daniel Rosser danoli3@gmail.com wrote:

It was a force reset, and yeah, same error, baffled.

On Tuesday, 15 March 2016, Theodore Watson <notifications@github.com
javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

@danoli3 https://github.com/danoli3 did it work for you? still getting
the same errors over here.
Looking at https://github.com/danoli3/FreeImage it looks like there
weren't recent commits.
Did you push?


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:

#4993 (comment)

@arturoc
Copy link
Member

arturoc commented Mar 15, 2016

hey, just to let you know that i didn't modify the freeimage script to use one pass. only poco but in any case since it'll use clang to compile if you manage to pass:

-arch=i386 -arch=x86_64

to the compiler it'll compile for both architectures without need to compile twice, use lipo....

@danoli3
Copy link
Member

danoli3 commented Mar 15, 2016

Yeah sorry @arturoc yeah we realized it wasn't any of that, still unsure why it's doing this now. Any ideas,

Sent from my iPhone

On 15 Mar 2016, at 8:00 PM, arturo notifications@github.com wrote:

hey, just to let you know that i didn't modify the freeimage script to use one pass. only poco but in any case since it'll use clang to compile if you manage to pass:

-arch=i386 -arch=x86_64
to the compiler it'll compile for both architectures without need to compile twice, use lipo....


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#4993 (comment)

@ofTheo
Copy link
Member Author

ofTheo commented Mar 16, 2016

okay I have a fix for this.
@arturoc should I do a PR against the 0.9.3 branch and a PR against master.
Should we do a 0.9.4 release for this or just update the 0.9.3 download?

@arturoc
Copy link
Member

arturoc commented Mar 16, 2016

yeah i reopened the 0.9.4 milestone this morning. we shouldn't touch the 0.9.3 branch anymore since it's already released.

there's also a couple of other issues that are milestoned for 0.9.4 so let's create a 0.9.4 branch from current stable or 0.9.3 and PR this against that branch

@arturoc
Copy link
Member

arturoc commented Mar 16, 2016

just created the branch

@ofTheo
Copy link
Member Author

ofTheo commented Mar 16, 2016

Okay this should be fixed now in the 0.9.4 branch.

@arturoc
Copy link
Member

arturoc commented Mar 16, 2016

can you send a PR to the apothecary repo too so this doesn't get lost once we move to having the libraries built there?

@danoli3
Copy link
Member

danoli3 commented Mar 17, 2016

Nice work @ofTheo !

@ofTheo
Copy link
Member Author

ofTheo commented Mar 17, 2016

@arturoc okay there is a PR for master here: #5001
Going to push the changes to the apothecary repo now.

@ofTheo
Copy link
Member Author

ofTheo commented Mar 17, 2016

@danoli3 I just removed the 32bit part of the makefile as it seemed the 64bit part was working fine. then added the -i386 flag to the 64bit build from @arturoc 's tip about clang begin able to build universal. Glad it worked! :)

@ofTheo ofTheo closed this as completed Mar 17, 2016
@danoli3
Copy link
Member

danoli3 commented Mar 17, 2016

Yeah I had a look! Very interesting, I wonder why it started messing up now, maybe something in the new clang merging the libs, no idea, lets keep this in mind for issues post 0.10.x libs merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants