#18364: Building libgd fails if libvpx 1.4 is installed
----------------------------------+----------------------------
   Reporter:  gagern              |            Owner:
       Type:  defect              |           Status:  new
   Priority:  major               |        Milestone:  sage-6.7
  Component:  packages: standard  |         Keywords:
  Merged in:                      |          Authors:
  Reviewers:                      |  Report Upstream:  N/A
Work issues:                      |           Branch:
     Commit:                      |     Dependencies:
   Stopgaps:                      |
----------------------------------+----------------------------
 I currently fail to build sage 6.7.beta1 from scratch:

 {{{
 libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I.
 -I…/sage/local/include/libpng12 -I…/sage/local/include/freetype2 -g
 -fvisibility=hidden -MT webpimg.lo -MD -MP -MF .deps/webpimg.Tpo -c
 webpimg.c  -fPIC -DPIC -o .libs/webpimg.o
 webpimg.c: In function 'VPXEncode':
 webpimg.c:714:24: error: 'IMG_FMT_I420' undeclared (first use in this
 function)
      vpx_img_wrap(&img, IMG_FMT_I420,
                         ^
 webpimg.c:714:24: note: each undeclared identifier is reported only once
 for each function it appears in
 webpimg.c:716:16: error: 'PLANE_Y' undeclared (first use in this function)
      img.planes[PLANE_Y] = (uint8*)(Y);
                 ^
 webpimg.c:717:16: error: 'PLANE_U' undeclared (first use in this function)
      img.planes[PLANE_U] = (uint8*)(U);
                 ^
 webpimg.c:718:16: error: 'PLANE_V' undeclared (first use in this function)
      img.planes[PLANE_V] = (uint8*)(V);
                 ^
 Makefile:773: recipe for target 'webpimg.lo' failed
 make[5]: *** [webpimg.lo] Error 1
 make[5]: Leaving directory
 '…/sage/local/var/tmp/sage/build/libgd-2.1.0.p0/src/src'
 Makefile:439: recipe for target 'all' failed
 make[4]: *** [all] Error 2
 make[4]: Leaving directory
 '…/sage/local/var/tmp/sage/build/libgd-2.1.0.p0/src/src'
 Makefile:341: recipe for target 'all-recursive' failed
 make[3]: *** [all-recursive] Error 1
 make[3]: Leaving directory
 '…/sage/local/var/tmp/sage/build/libgd-2.1.0.p0/src'
 Error building gd.
 }}}

 This is related to the auto-detected configure setting

 {{{
    Support for VPX library:          yes
 }}}

 Fortunately I've recently encountered the same issue for Gentoo with the
 libgd bundled with php ([https://bugs.gentoo.org/show_bug.cgi?id=547310
 Gentoo bug #547310]). The issue is related to
 
[http://git.chromium.org/gitweb/?p=webm/libvpx.git;a=blobdiff;f=vpx/vpx_image.h;h=ef6d1dd3092e5c8e70173a4fc9def62c8eedef01;hp=0b7bb90572da3c0d0048285dffb7ed847f762823;hb=9cdaa3d72eade9ad162ef8f78a93bd8f85c6de10;hpb=0ecc75c81986a277d2e8e387117edfc21cb2fed0
 this change] for libvpx, which removed some legacy symbols. Prefixing
 those symbols with `VPX_` solves the issue, as done in
 
[https://github.com/gagern/libgd/commit/d41eb72cd4545c394578332e5c102dee69e02ee8
 this commit] to the GD-2.1 branch.

 I think we have at least four solutions at our disposal:

 1. Fix symbol names in libgd 2.1 by patching in
 
[https://github.com/gagern/libgd/commit/d41eb72cd4545c394578332e5c102dee69e02ee8
 this commit]
 2. Explicitely disable libvpx support, to avoid linking against system
 library there
 3. Bundle libvpx at a given version to become independent of system
 library
 4. Upgrade to libgd 2.2 (once that's available), which should use libwebp
 instead of libvpx according to [https://github.com/libgd/libgd/issues/129
 libgd ticket #129]

 Which solution would you prefer? 1. differs the least from what we
 currently do, but that doesn't neccessarily make it the best solution.

--
Ticket URL: <http://trac.sagemath.org/ticket/18364>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to