oaeproject / Hilary

Open Academic Environment (OAE) Back-End
http://www.oaeproject.org
Educational Community License v2.0
106 stars 96 forks source link

animated gifs are not preview processed properly #635

Closed stuartf closed 11 years ago

stuartf commented 11 years ago

Animated gif files result in an error status from the preview processor.

simong commented 11 years ago

I couldn't reproduce this locally but I could reproduce it on QA0. I'll

simon@local$ gm -version
GraphicsMagick 1.3.17 2012-10-13 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2012 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
  Thread Safe              yes
  Large Files (> 32 bit)   yes
  Large Memory (> 32 bit)  yes
  BZIP                     yes
  DPS                      no
  FlashPix                 no
  FreeType                 yes
  Ghostscript (Library)    no
  JBIG                     no
  JPEG-2000                no
  JPEG                     yes
  Little CMS               yes
  Loadable Modules         no
  OpenMP                   no
  PNG                      yes
  TIFF                     yes
  TRIO                     no
  UMEM                     no
  WMF                      no
  X11                      no
  XML                      yes
  ZLIB                     yes

Host type: x86_64-apple-darwin12.2.0

Configured using the command:
  ./configure  '--prefix=/opt/local' '--with-jbig=no' '--with-wmf=no' '--with-dps=no' '--with-lcms=yes' '--with-x=no' '--with-perl=no' '--with-trio=no' '--with-jp2=no' '--with-fpx=no' '--with-png=yes' '--with-tiff=yes' '--with-bzlib=yes' '--with-zlib=yes' '--with-xml=yes' '--with-ttf=yes' '--without-included-ltdl' '--enable-shared=yes' '--with-quantum-depth=8' 'CC=/usr/bin/clang' 'CFLAGS=-pipe -O2 -arch x86_64' 'LDFLAGS=-L/opt/local/lib -arch x86_64' 'CPPFLAGS=-I/opt/local/include' 'CXX=/usr/bin/clang++' 'CXXFLAGS=-pipe -O2 -arch x86_64'

Final Build Parameters:
  CC       = /usr/bin/clang
  CFLAGS   = -pipe -O2 -arch x86_64 -Wall -D_THREAD_SAFE
  CPPFLAGS = -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include/libxml2
  CXX      = /usr/bin/clang++
  CXXFLAGS = -pipe -O2 -arch x86_64 -D_THREAD_SAFE
  LDFLAGS  = -L/opt/local/lib -arch x86_64 -L/opt/local/lib -L/opt/local/lib
  LIBS     = -llcms -ltiff -lfreetype -ljpeg -lpng15 -llzma -lbz2 -lxml2 -lz -lm -lpthread

root@qa0 $ gm -version
GraphicsMagick 1.3.12 2010-03-08 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2010 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
  Thread Safe              yes
  Large Files (> 32 bit)   yes
  Large Memory (> 32 bit)  yes
  BZIP                     yes
  DPS                      no
  FlashPix                 no
  FreeType                 yes
  Ghostscript (Library)    no
  JBIG                     no
  JPEG-2000                yes
  JPEG                     yes
  Little CMS               yes
  Loadable Modules         yes
  OpenMP                   yes (200805)
  PNG                      yes
  TIFF                     yes
  TRIO                     no
  UMEM                     no
  WMF                      yes
  X11                      yes
  XML                      yes
  ZLIB                     yes

Host type: x86_64-pc-linux-gnu

Configured using the command:
  ./configure  '--build' 'x86_64-linux-gnu' '--enable-shared' '--enable-static' '--enable-libtool-verbose' '--prefix=/usr' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--docdir=${prefix}/share/doc/graphicsmagick' '--with-gs-font-dir=/usr/share/fonts/type1/gsfonts' '--with-x' '--x-includes=/usr/include/X11' '--x-libraries=/usr/lib/X11' '--without-dps' '--without-modules' '--without-frozenpaths' '--with-perl' '--with-perl-options=INSTALLDIRS=vendor' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-Wall -g -fno-strict-aliasing  -fPIE  -fstack-protector --param ssp-buffer-size=4  -D_FORTIFY_SOURCE=2  -Wformat -Wformat-security -Werror=format-security  -O2' 'LDFLAGS=  -fPIE -pie  -Wl,-z,relro  -Wl,-z,now ' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-Wall -g -fno-strict-aliasing  -fPIE  -fstack-protector --param ssp-buffer-size=4  -D_FORTIFY_SOURCE=2  -Wformat -Wformat-security -Werror=format-security  -O2'

Final Build Parameters:
  CC       = gcc -std=gnu99
  CFLAGS   = -fopenmp -Wall -g -fno-strict-aliasing -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -Wall -pthread
  CPPFLAGS = -I/usr/include/freetype2 -D_FORTIFY_SOURCE=2 -I/usr/include/X11 -I/usr/include/libxml2
  CXX      = g++
  CXXFLAGS = -Wall -g -fno-strict-aliasing -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -O2 -pthread
  LDFLAGS  = -fPIE -pie -Wl,-z,relro -Wl,-z,now -L/usr/lib/X11 -L/usr/lib -L/usr/lib
  LIBS     = -llcms -ltiff -lfreetype -ljasper -ljpeg -lpng -lwmflite -lXext -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lpthread

I'll dig around a bit

simong commented 11 years ago

Upgrading to the latest GraphicsMagick (1.3.18) seems to fix this. @stuartf can you give that a try?

simong commented 11 years ago

I deployed 1.3.18 on release0 [1], so you can try it out on there as well

[1] https://oae.oae-release0.oaeproject.org

stuartf commented 11 years ago

It now creates previews as expected, but viewing the content profile uses a preview image which isn't animated. I'm not sure if that's the expected behavior or not: https://oae.oae-release0.oaeproject.org/content/oae/xJC58DNJl

nicolaasmatthijs commented 11 years ago

It's probably acceptable for us to use the processed image for now, as using the original uploaded ones could end up introducing potential page load performance problems again. If we get a lot of production feedback on this, we can still consider changing it.

simong commented 11 years ago

Submitted a PR to puppet-hilary for a later version of graphicsmagick at https://github.com/oaeproject/puppet-hilary/pull/41