FS#34769 - [sage-mathematics] missing symbols, R plots do not work - build sage without freetype

Attached to Project: Community Packages
Opened by Andrzej Giniewicz (Giniu) - Saturday, 13 April 2013, 21:55 GMT
Last edited by Evgeniy Alexeev (arcan1s) - Tuesday, 24 December 2013, 07:30 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Evgeniy Alexeev (arcan1s)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

R package inside Sage uses system version of cairo for plotting, but provides it's own freetype for other uses. Our libharfbuzz (dependency of pango/cairo) is to new for freetype provided by Sage, thus when plotting one gets:

Error in png() : X11 module cannot be loaded
In addition: Warning message:
In png() :
unable to load shared object
'/opt/sage/local/lib/R//modules//R_X11.so':
/usr/lib/libharfbuzz.so.0: undefined symbol: FT_Get_Advance

The FT_Get_Advance is defined in freetype provided by ArchLinux (2.4.x) but not in Sage (2.3.x). Simple solution is:

rm -rf spkg/standard/freetype-*
sed -i -e 's/FREETYPE/#FREETYPE/' spkg/install

before calling make to not build Sage version of freetype, so our system wide freetype is used. This requires adding freetype to dependencies though. Also, might be good to add cairo as optepend for R plots. I already tested it with sage 5.8 and all tests pass with our freetype.

I've submitted this upstream, and official solution most likely will be not building freetype when it's available and working (i.e. with headers and with version high enough).
This task depends upon

Closed by  Evgeniy Alexeev (arcan1s)
Tuesday, 24 December 2013, 07:30 GMT
Reason for closing:  Fixed
Comment by Evgeniy Alexeev (arcan1s) - Tuesday, 24 December 2013, 07:29 GMT
I built 6.0 with system wide freetype, although it required the use of additional patch for pil. Anyway I'm not sure that is a good idea because our freetype has 2.5.2 version, but the package builds with 2.3.5 version by default and all sage components have older versions.

Loading...