Re: gd.trm issue for mingw-gcc-4.3.0 building

[email protected] (Ethan Merritt) Mon, 1 Dec 2008 09:27:38 -0800
Newsgroups php.gd.devel
Organization University of Washington
Message-ID <[email protected]>
Tatsuro:

I am forwarding your question to the libgd development list.
Perhaps someone there will advise us whether there are known
problems with difference mingw versions.

	Ethan

On Monday 01 December 2008 02:47:05 Tatsuro MATSUOKA wrote:
> Hello
> 
> #if defined(WIN32) && !defined(NONDLL)
>   /* static font pointers are recommended when using bgd.dll */
> # ifndef GD_NEED_LOCAL_FONT_POINTERS
> #  define GD_NEED_LOCAL_FONT_POINTERS
> # endif
> #endif
> 
> 
>   /* static font pointers are recommended when using bgd.dll */
> 
> In the Gd 2.0.33 in the GnuWin32, libgd2.dll is used not but bgd.dll.
> Why static font pointers are recommended for bgd.dll ?
> 
> Regards
> 
> Tatsuro
> 
> 
> --- Tatsuro MATSUOKA <[email protected]> wrote:
> 
> > Hello
> > 
> > Sorry for my carelessness for what Ethan wrote:
> > 
> > ===Ethan===
> > Please look to see if it can be fixed by modifying these lines instead:
> > 
> > #if defined(WIN32) && !defined(NONDLL)
> >   /* static font pointers are recommended when using bgd.dll */
> > # ifndef GD_NEED_LOCAL_FONT_POINTERS
> > #  define GD_NEED_LOCAL_FONT_POINTERS
> > # endif
> > #endif 
> > ================
> > 
> > > However Ethan suggest that DO NOT TREAT HERE.
> > 
> > was not what Ethan would like to say.
> > 
> > So my conclusion is that I cannot overcome this issue to modify the above.
> > 
> > It is likely to modify the below 
> > 
> > #ifndef GD_NEED_LOCAL_FONT_POINTERS
> > BGD_EXPORT_DATA_PROT gdFontPtr gdFontSmall;	/* 6x12 */
> > BGD_EXPORT_DATA_PROT gdFontPtr gdFontLarge;	/* 8x16 */
> > BGD_EXPORT_DATA_PROT gdFontPtr gdFontMediumBold;	/* 7x13 */
> > BGD_EXPORT_DATA_PROT gdFontPtr gdFontGiant;  /* 9x15 */
> > BGD_EXPORT_DATA_PROT gdFontPtr gdFontTiny;  /* 5x8 */
> > #else
> > static gdFontPtr gdFontSmall;	/* 6x12 */
> > static gdFontPtr gdFontLarge;	/* 8x16 */
> > static gdFontPtr gdFontMediumBold;	/* 7x13 */
> > static gdFontPtr gdFontGiant;  /* 9x15 */
> > static gdFontPtr gdFontTiny;  /* 5x8 */
> > #endif
> > 
> > 
> > Regards
> > 
> > Tatsuro
> >  
> > 
> > --- Tatsuro MATSUOKA <[email protected]> wrote:
> > 
> > > Hello
> > > 
> > > I'm now confusing.
> > > 
> > > To include
> > > # include "gdfonts.h"
> > > # include "gdfontl.h"
> > > # include "gdfontmb.h"
> > > # include "gdfontt.h"
> > > # include "gdfontg.h"
> > > 
> > > GD_NEED_LOCAL_FONT_POINTERS should be defined,
> > > 
> > > However
> > > GD_NEED_LOCAL_FONT_POINTERS is defined
> > > 
> > > static gdFontPtr gdFontSmall;	/* 6x12 */
> > > static gdFontPtr gdFontLarge;	/* 8x16 */
> > > static gdFontPtr gdFontMediumBold;	/* 7x13 */
> > > static gdFontPtr gdFontGiant;  /* 9x15 */
> > > static gdFontPtr gdFontTiny;  /* 5x8 */
> > > 
> > > is effective.
> > 
> > > 
> > > *********
> > > In file included from term.h:356,
> > >                  from term.c:1368:
> > > ../term/gd.trm:198: error: static declaration of 'gdFontSmall' follows non-static declaration
> > > c:/Programs/GnuWin32/include/gdfonts.h:26: error: previous declaration of 'gdFontSmall' was
> > here
> > > ../term/gd.trm:199: error: static declaration of 'gdFontLarge' follows non-static declaration
> > > c:/Programs/GnuWin32/include/gdfontl.h:28: error: previous declaration of 'gdFontLarge' was
> > here
> > > ../term/gd.trm:200: error: static declaration of 'gdFontMediumBold' follows non-static
> > > declaration
> > > c:/Programs/GnuWin32/include/gdfontmb.h:26: error: previous declaration of 'gdFontMediumBold'
> > > was here
> > > ../term/gd.trm:201: error: static declaration of 'gdFontGiant' follows non-static declaration
> > > c:/Programs/GnuWin32/include/gdfontg.h:27: error: previous declaration of 'gdFontGiant' was
> > here
> > > ../term/gd.trm:202: error: static declaration of 'gdFontTiny' follows non-static declaration
> > > c:/Programs/GnuWin32/include/gdfontt.h:27: error: previous declaration of 'gdFontTiny' was
> > here
> > > make: *** [term.o] Error 1
> > > 
> > > How can I overcome the above?
> > > 
> > > It seems that I have to treat 
> > > #else
> > > static gdFontPtr gdFontSmall;	/* 6x12 */
> > > static gdFontPtr gdFontLarge;	/* 8x16 */
> > > static gdFontPtr gdFontMediumBold;	/* 7x13 */
> > > static gdFontPtr gdFontGiant;  /* 9x15 */
> > > static gdFontPtr gdFontTiny;  /* 5x8 */
> > > #endif
> > > 
> > > 
> > > 
> > > Are the gd devtools in the GnuWin32 curious?
> > > 
> > > Regards
> > > 
> > > Tatsuro
> > > 
> > > 
> > > --- Tatsuro MATSUOKA <[email protected]> wrote:
> > > 
> > > > Hello Petr Mikulik
> > > > 
> > > > Thank for your reply
> > > > 
> > > > --- Petr Mikulik <[email protected]> wrote:
> > > > 
> > > > > > The below works well for gcc-3.4.5 (mingw) and gcc-4.3.0-tdm (mingw).  
> > > > > 
> > > > > It works for me with gcc 3.4.4.
> > > > > 
> > > > > Your patch is wrong because selection of gd fonts no longer works:
> > > > > 	set term png medium
> > > > > 	show term
> > > > > => shows arial instead.
> > > > 
> > > > OK. I have to include the below. Right?
> > > > # include "gdfonts.h"
> > > > # include "gdfontl.h"
> > > > # include "gdfontmb.h"
> > > > # include "gdfontt.h"
> > > > # include "gdfontg.h"
> > > >  
> > > > 
> > > > > > I do not understand why gcc-3.4.5 works with GD_NEED_LOCAL_FONT_POINTERS.
> > > > > 
> > > > > Probably something is broken in your installation. Wrong library? Library 
> > > > > compiled by another compiler?
> > > > 
> > > > I used the pre-build Gd-2.0.33 binaries, development tools on the GnuWin32.  I do not know
> > > what
> > > > complier is used for build them.  (Perhaps gcc 3.?.? for mingw libralies.)
> > > > 
> > > > Regards
> > > > 
> > > > Tatsuro
> > > > 
> > > > 
> > > > --------------------------------------
> > > > Power up the Internet with Yahoo! Toolbar.
> > > > http://pr.mail.yahoo.co.jp/toolbar/
> > > > 
> > > > -------------------------------------------------------------------------
> > > > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> > > > Build the coolest Linux based applications with Moblin SDK & win great prizes
> > > > Grand prize is a trip for two to an Open Source event anywhere in the world
> > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/
> > > > _______________________________________________
> > > > gnuplot-beta mailing list
> > > > [email protected]
> > > > https://lists.sourceforge.net/lists/listinfo/gnuplot-beta
> > > > 
> > > 
> > > 
> > > 
> > > --------------------------------------
> > > Power up the Internet with Yahoo! Toolbar.
> > > http://pr.mail.yahoo.co.jp/toolbar/
> > > 
> > 
> > 
> > --------------------------------------
> > Power up the Internet with Yahoo! Toolbar.
> > http://pr.mail.yahoo.co.jp/toolbar/
> > 
> 
> 
> --------------------------------------
> Power up the Internet with Yahoo! Toolbar.
> http://pr.mail.yahoo.co.jp/toolbar/
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gnuplot-beta mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/gnuplot-beta
> 



-- 
Ethan A Merritt
Biomolecular Structure Center
University of Washington, Seattle 98195-7742