bugGNUstep - Bugs: bug #16436, Cairo-backwith glitz compilation...

 
 

bug #16436: Cairo-backwith glitz compilation fails with new release of Cairo-1.1.2 and recent glitz from CVS

Submitted by:  Alex Perez <aperez>
Submitted on:  Tue 25 Apr 2006 11:42:01 AM UTC  
 
Category:  Backend Severity:  3 - Normal
Item Group:  Bug Status:  Fixed
Privacy:  Public Assigned to:  Fred Kiefer <FredKiefer>
Open/Closed:  Closed

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Sun 04 Feb 2007 11:45:42 PM UTC, comment #6: 

Should be fixed in SVN for some time now.

Fred Kiefer <FredKiefer>
Project MemberIn charge of this item.
Tue 25 Apr 2006 11:47:35 PM UTC, comment #5: 

Looks like glitz did change this functions between December and now. Sorry, there is nothing I can do for you now.

Fred Kiefer <FredKiefer>
Project MemberIn charge of this item.
Tue 25 Apr 2006 11:13:18 PM UTC, comment #4: 

I never claimed that you claimed that it would be ;-) I updated from SVN and attempted to compile. I now get:

" Compiling file XGCairoGlitzSurface.m ...
XGCairoGlitzSurface.m: In function ‘-[XGCairoGlitzSurface initWithDevice:]’:
XGCairoGlitzSurface.m:52: warning: implicit declaration of function ‘glitz_glx_find_drawable_format’
XGCairoGlitzSurface.m:56: warning: assignment makes pointer from integer without a cast
XGCairoGlitzSurface.m:93: error: too many arguments to function ‘glitz_surface_attach’
"

Alex Perez <aperez>
Project Member
Tue 25 Apr 2006 10:43:17 PM UTC, comment #3: 

I never claimed that glitz support would be working, as glitz doesn't work on my machine. Still I rewrote the code in the glitz class to use the most current glitz interfaces I could find. Please feel free to test this new code, but don't expect it to work.

Fred Kiefer <FredKiefer>
Project MemberIn charge of this item.
Tue 25 Apr 2006 07:09:20 PM UTC, comment #2: 

Okay...thanks for the heads up about the snapshot release...I guess they had enough folks clamoring for a new release that they finally did something about it, in the form of a snapshot. In any event, I compiled the backend with the new snapshot and it compiled fine, without glitz. I was able to run Gorm, albeit with the alpha image issue. Cool!

When I tried to compile with glitz, however, I got the same error as before. I then (as of five minutes ago) updated glitz from the Ubuntu package I had installed to the cvs version from freedesktop.org, and then removed the glitz and glitz-dev packages with my package manager. After doing this, and verifying that gnustep-back was using the correct libs and headers from /usr/local, I still get the same glitz-specific compilation errors which are in the original report.

Thanks for the quick reply,
Alex Perez

Alex Perez <aperez>
Project Member
Tue 25 Apr 2006 06:23:37 PM UTC, comment #1: 

The current stable snapshot for cairo is 1.1.2 (Anonced today and available at: http://cairographics.org/news/cairo-1.1.2).
And the next release, 1.2, is expected within the next few weeks.

There is no point in trying to get the GNUstep cairo backend to work with an old cairo release which is still missing the important function cairo_scaled_font_text_extents.

The bug report is correct in the respect that the glitz functionality needs to be disabled (--disable-glitz). I have stated this in every mail I wrote on the cairo backend and it would be great if somebody with autoconfig knowledge could switch this setting permanently.

The last time I did recompile the cairo backend I did not get the Freetype errors mentioned. They may be either due to the old cairo version used or to a wrong Freetype release.

Fred Kiefer <FredKiefer>
Project MemberIn charge of this item.
Tue 25 Apr 2006 11:42:01 AM UTC, original submission:  

Compiling GNUstep-back-cairo with new release of cairo version 1.0.4:

First of all, to get it to compile at all, I have to fiddle a bit with some includes in CairoFontInfo.h. It appears that the Cairo folks have switched to using Freetype Macro names for includes instead of the previous way of directly importing header files. I had to add the the following to CairoFontInfo.h to get Cairo to compile:
"
#include <ft2build.h>
#include FT_FREETYPE_H

However, the FT_FREETYPE_H macro is defined in a header file which resides in /usr/include/freetype2 on my system, which I manually added to the Cairo GNUmakefile.preamble in the ADDITIONAL_INCLUDE_DIRS section. This is not the way it should be done, I realize. GNUstep-back's Configure script should be sticking that there depending on where the freetype headers reside on any given system. The GNUstep-back configure script does find all my freetype libs and headers fine, so it's strange that this isn't already happening.

On to compilation...

Fails with glitz, due to removed or renamed Glitz macros, notably GLITZ_FORMAT_OPTION_ONSCREEN_MASK,  GLITZ_FORMAT_OPTION_NO_MULTISAMPLE_MASK, and GLITZ_FORMAT_OPTION_SINGLEBUFFER_MASK.

And yes, I have the glitz library and headers installed on my machine.

The exact compilation error I get when compiling gsback-cairo with Glitz on is:
"Compiling file XGCairoGlitzSurface.m ...
XGCairoGlitzSurface.m: In function ‘-[XGCairoGlitzSurface initWithDevice:]’:
XGCairoGlitzSurface.m:35: error: ‘GLITZ_FORMAT_OPTION_ONSCREEN_MASK’ undeclared (first use in this function)
XGCairoGlitzSurface.m:35: error: (Each undeclared identifier is reported only once
XGCairoGlitzSurface.m:35: error: for each function it appears in.)
XGCairoGlitzSurface.m:51: error: ‘GLITZ_FORMAT_OPTION_NO_MULTISAMPLE_MASK’ undeclared (first use in this function)XGCairoGlitzSurface.m:52: error: ‘GLITZ_FORMAT_OPTION_SINGLEBUFFER_MASK’ undeclared (first use in this function)
XGCairoGlitzSurface.m:54: warning: implicit declaration of function ‘glitz_glx_find_standard_format’
XGCairoGlitzSurface.m:57: warning: assignment makes pointer from integer without a cast
XGCairoGlitzSurface.m:65: warning: implicit declaration of function ‘glitz_glx_get_visual_info_from_format’
XGCairoGlitzSurface.m:67: warning: assignment makes pointer from integer without a cast
XGCairoGlitzSurface.m:82: warning: implicit declaration of function ‘cairo_glitz_surface_create’
XGCairoGlitzSurface.m:82: warning: implicit declaration of function ‘glitz_glx_surface_create’
XGCairoGlitzSurface.m:85: warning: assignment makes pointer from integer without a cast
XGCairoGlitzSurface.m:33: warning: unused variable ‘cm’
make[3]: *** [shared_obj/XGCairoGlitzSurface.o] Error 1"

I get much further when using --disable-glitz: The compilation completes successfully, but I get only one warning:
"Compiling file CairoFontInfo.m ...
CairoFontInfo.m: In function ‘_cairo_extents_for_NSGlyph’:
CairoFontInfo.m:183: warning: implicit declaration of function ‘cairo_scaled_font_text_extents’"

Which then results in a symbol lookup error at runtime:
"/usr/GNUstep/System/Applications/Gorm.app/Gorm: symbol lookup error: /usr/GNUstep/System/Library/Bundles/libgnustep-back-010.bundle/./libgnustep-back-010: undefined symbol: cairo_scaled_font_text_extents"

Once again, looks like some more API instability to fix on our side.

Alex Perez <aperez>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by FredKiefer (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 12 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2007-02-04 FredKiefer StatusIn Progress => Fixed
        Open/ClosedOpen => Closed
    2006-04-25 FredKiefer StatusReady For Test => In Progress
        Open/ClosedIn Test => Open
    2006-04-25 FredKiefer Severity4 - Important => 3 - Normal
        StatusNone => Ready For Test
        Open/ClosedOpen => In Test
    2006-04-25 aperez SummaryCairo-back compilation fails with new release of Cairo-1.0.4 due to API instability => Cairo-backwith glitz compilation fails with new release of Cairo-1.1.2 and recent glitz from CVS
    2006-04-25 aperez StatusWont Fix => None
        Open/ClosedDeclined => Open
    2006-04-25 FredKiefer StatusNone => Wont Fix
        Open/ClosedOpen => Declined

    Back to the top


    Powered by Savane 3.6