Re: Dia 0.94 on Mac OS 10.4.2



On Tue, 2005-07-19 at 12:49 -0700, Daniel Rogers wrote:
Hi,

I managed to get dia for mac os x compiled and running.

Excellent!  Which GTK port did you use for this?  I've heard rumours of
a port of Gtk2 to non-X OS X, which would be excellent, but even just
running under XDarwin is definitely progress.

  here is a  
list of issues I found with it:
First off gcc4 on mac os X complains that parse_path is delcared as  
non-static and defined as static.  This patch fixes that:

diff -rpwu dia-0.94/objects/custom/shape_info.h dia-0.94-patched/ 
objects/custom/shape_info.h
--- dia-0.94/objects/custom/shape_info.h        2004-08-16  
00:56:15.000000000 -0700
+++ dia-0.94-patched/objects/custom/shape_info.h        2005-07-19  
10:06:57.000000000 -0700
@@ -166,7 +166,7 @@ ShapeInfo *shape_info_getbyname(const gc
void shape_info_realise(ShapeInfo* info);
void shape_info_print(ShapeInfo *info);
-void parse_path(ShapeInfo *info, const char *path_str,  
DiaSvgGraphicStyle *s);
+void static parse_path(ShapeInfo *info, const char *path_str,  
DiaSvgGraphicStyle *s);
/*MC 11/03 handy g_new0 variant for struct with variable size */
#define g_new0_ext(struct_type, ext_size)              \

Actually, it should never have been in the .h file in the first place,
and current CVS has it gone.


Second, I think there is a bug with the way libtool is used to link dia.
lib/Makefile.am declares libdia.la to be linked as -export-dynamic - 
module.  According to the libtool manual, these two options should  
never be used together.  -module is used to link a library which is  
going to be opened with dlopen.  -export-dynamic is used when you  
need to use symbols from your executable to resolve dependencies in  
your dlopened module.  Which means, if used correctly, -module  
appears on the link command for the dlopened library, and -export- 
dynamic appears on the command to link the executable which will be  
dlopening said module, and only if necessary.  Futhermore, even when  
using -export-dynamic is used, you don't need to link directly with a  
dlopenable module (that is the point, even), which according to app/ 
Makefile.am, you are.

The current CVS has -export-dynamic only, so it should be clear now.

Sorry about the long delay in answering.

-Lars

-- 
Lars Clausen <lars raeder dk>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]