Sun 25 Aug 2013 01:27:39 PM UTC, comment #10:
Thanks for testing. Patch submitted:
http://hg.savannah.gnu.org/hgweb/octave/rev/219552139c18
|
Sun 25 Aug 2013 05:46:46 AM UTC, comment #9:
Patch works for me. Built successfully on both RHEL5 with Freetype 2.2.1 and on my usual Debian dev box. Thanks for looking into this.
|
Sun 25 Aug 2013 05:19:21 AM UTC, comment #8:
I now have very limited access to a RHEL5
system. I assume that this was what you wanted testing
on?
I will try to do the test if possible, but this is
not likely soon.
Sorry,
Michael Godfrey
|
Sun 25 Aug 2013 03:42:52 AM UTC, comment #7:
Would you mind testing the attached patch?
(file #28927)
|
Tue 20 Aug 2013 01:38:00 PM UTC, comment #6:
Well, I may have tried at a bad time. This was
a few months ago. I installed BLAS and LAPACK and
still had problems. Also, I think that this was
before the latest RedHat updates to RHEL5.
Posting a summary of "How to make it easy" might
be useful.
|
Tue 20 Aug 2013 11:36:36 AM UTC, comment #5:
No, it doesn't take "considerable" work to get current Octave working under RHEL5 at all. The only required libraries that are too old and need to be updated are BLAS and LAPACK. Some optional libraries are too old, and those are properly detected and disabled. Freetype is an optional library as well, the question here is whether we should spent the effort to make Octave work with an older one or not.
The only thing I don't know is how much work it would be to try to keep some degraded functionality in what's been added without the FT_Reference_Face function. I would use a simple preprocessor #if #else #endif as my reference, if it's any more complicated than simply not calling something or calling a function by a different name, then it's too much work.
If it's a lot of work to add in a complex workaround and not worth the additional maintenance burden, then we make that function required and disable Freetype if it's not available, like I did recently for the GLPK API changes.
|
Tue 20 Aug 2013 03:31:24 AM UTC, comment #4:
It takes considerable work to get the current Octave
devel to "work" under RHEL5. Quite a few of the required
packages are too old and have to be replaced by downloading
and compiling newer versions. In many commercial environments
this is discouraged or made impossible,
On the other hand, there are a large number of sites which
are stuck on RHEL5 due to the difficulty of migration to 6.
This is why RedHat has extended the life of RHEL5 and has
released new patches (mainly security).
A possibly useful path for these sites would be for someone to
put together an RPM which would install without the need
for any dependencies outside the RedHat-available RPM's.
Octave is just one of many packages to which which RHEL5 users
lack access, so this is not a time-critical issue.
|
Tue 20 Aug 2013 01:33:18 AM UTC, comment #3:
I suppose it's possible to disable font sharing for older Freetype versions. This wouldn't be very efficient, but you wouldn't loose any functionality.
On the other hand, I'm not sure what's the policy with older systems. Does octave work out of the box with stock RHEL5 without any customization?
Anyway, I won't be able to work on this for the coming few days.
|
Mon 19 Aug 2013 11:02:01 PM UTC, comment #2:
This was tested with freetype 2.2.1. I build and run Octave regularly on RHEL5, among other systems. Yes, this is an ancient version.
If it's not worth keeping backwards compatibility, then we will just have to disable freetype, which means disabling OpenGL graphics, right? That's fine, but we still need a check in configure.ac to automatically detect that freetype doesn't have the required functionality.
|
Mon 19 Aug 2013 10:46:11 PM UTC, comment #1:
What version of freetype are you using. FT_Reference_Face has been added since 2.4.2 more than 3 years ago.
This is used to do proper reference counting in freetype and allow to share font data structures.
|
Mon 19 Aug 2013 09:50:30 PM UTC, original submission:
Recent changes added new calls to the freetype API that break on older versions of libfreetype that used to work with Octave. AFAICT the only offending call is FT_Reference_Face:
This needs additional checks in configure.ac for the new required functionality and to disable building with freetype if the functions are not found.
Even better would be if we could conditionally compile out whatever new feature is using this call so we can still compile against an older freetype library.
|