
This is my story on compiling and running Inkscape in macosx 10.2.8 with XDarwin and a gnome installation.
Thank you to Colin in this mailing list for sharing his experience on similar compiling problems in Solaris.
Albert
=============
OS: macosx 10.2.8
Need a gnome installation. May get that through fink.
Install xml-parser-pm560 in finkcommander (the xml perl parser)
Set a few environmental variables:
setenv CPATH "/sw/include" setenv LIBRARY_PATH "/usr/X11R6/lib:/sw/lib" setenv LIBS "-L/sw/lib -lintl "
Error: No package 'sigc++-1.2' found ---------> Install libsigc++-shlibs in finkcommander
Same error: installed libsigc is version 1.0.4 ---------> Installing libsigc 1.2.5 from source, from sourceforge.
Same error.
setenv PKG_CONFIG_PATH "/usr/local/lib/pkgconfig" (where the sigc++-1.2.pc file is)
ok
output: =======
Configuration:
Source code location: . Compiler: g++ CPPFLAGS: CXXFLAGS: -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 LDFLAGS:
Use POPT argument parser: yes Use Xft font database: yes Use gnome-print: no Use openoffice files: yes Use MMX optimizations: no
make ====
Fails at: nr-type-directory.cpp: In function `bool ink_strstr(const char*, const char*)': nr-type-directory.cpp:302: `strcasestr' undeclared (first use this function) nr-type-directory.cpp:302: (Each undeclared identifier is reported only once for each function it appears in.)
Colin from inkscape-users mailing list suggested commenting out the #ifndef WIN32 ... #else .. #endif, so that a strcasestr function is provided by the nr-type-directry.cpp file itself.
WORKS
Now fails at: In file included from /usr/include/dirent.h:64, from init.cpp:15: /usr/include/sys/dirent.h:73: 'u_int32_t' is used as a type, but is not defined as a type. /usr/include/sys/dirent.h:74: 'u_int16_t' is used as a type, but is not defined as a type. /usr/include/sys/dirent.h:75: 'u_int8_t' is used as a type, but is not defined as a type. /usr/include/sys/dirent.h:76: 'u_int8_t' is used as a type, but is not defined as a type.
On the web I've found dirent.h needs the declarations from types.h rigth before it, or won't compile. Let's try.
In file ./src/extension/init.cpp ... #include <types.h> -----> FAILS
#include "/usr/include/ppc/types.h" ----> WORKS
Developers could introduce a #ifdef darwin #include "/usr/include/ppc/types.h" #endif
COMPILED !
Now, ./inkscape in src folder works, but prints many critical problems. It all has to do with hard-wired links to /usr/local/share/... folders, non-existant when not installed.
make install
WORKS without printing errors. Good.

On Wed, 2004-06-23 at 20:17, Albert wrote:
Colin from inkscape-users mailing list suggested commenting out the #ifndef WIN32 ... #else .. #endif, so that a strcasestr function is provided by the nr-type-directry.cpp file itself.
As noted, I think that is the correct fix.
On the web I've found dirent.h needs the declarations from types.h rigth before it, or won't compile. Let's try.
In file ./src/extension/init.cpp ... #include <types.h> -----> FAILS
#include "/usr/include/ppc/types.h" ----> WORKS
Developers could introduce a #ifdef darwin #include "/usr/include/ppc/types.h" #endif
Huh. Interesting. See if <stdint.h> or <inttypes.h> also works.
It's usually better to find more portable headers, rather than testing for being on a specific OS.
COMPILED !
Now, ./inkscape in src folder works, but prints many critical problems. It all has to do with hard-wired links to /usr/local/share/... folders, non-existant when not installed.
That happens on all Unix platforms currently, though the autopackage project is working to fix that.
make install
WORKS without printing errors. Good.
Good work ^_^
I need to spend some time installing fink over dialup on my G3 laptop, so I can help keep the OS X port healthy...
-mental

Mental,
Including <stdint.h> in file src/init.cpp rigth before the dirent.h works well. I've checked the stdint.h file and it is declaring rigth the same types as in /usr/include/ppc/types.h
I'm glad I helped, this software looks like a nice replacement of Illustrator.
Albert
participants (2)
-
Albert
-
MenTaLguY