problems compiling in macosx
Hi inkscapers
Inkscape 0.38 compiled in MacOSX after djusting several details as I reported to the inkscape-users list some time ago.
Now for 0.39:
I have gone already over the gtkmm issue by doing what was suggested by Peter Moulder, that is change 'ink_gtkmm_pkg=gtkmm-2.0' to 'ink_gtkmm_pkg='
But just to find another issue:
checking for png_read_info in -lpng... no configure: error: libpng >= 1.2 is needed to compile inkscape
I know my system has libpng 1.2.5 installed. Note that 0.38 compiled without complaining about this. I've noted the failing test in configure.in has not changed since version 0.38, so I'm pretty lost here. Here the last terminal output lines from ./configure before failing:
... checking GNU compiler version... 3.1 checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for LC_MESSAGES... yes checking libintl.h usability... no checking libintl.h presence... no checking for libintl.h... no checking for pkg-config... /sw/bin/pkg-config checking for png_read_info in -lpng... no configure: error: libpng >= 1.2 is needed to compile inkscape
Any help would be appreciated.
Albert
On Thu, Jul 15, 2004 at 12:48:02AM +0200, Albert wrote:
checking for pkg-config... /sw/bin/pkg-config checking for png_read_info in -lpng... no configure: error: libpng >= 1.2 is needed to compile inkscape
Any help would be appreciated.
Look through the end of config.log and see what the failed test was. We should be able to learn more from that.
Kees
Here comes the last part of the config.log.
program_transform_name='s,x,x,' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target_alias=''
## ----------- ## ## confdefs.h. ## ## ----------- ##
#define GETTEXT_PACKAGE "inkscape" #define HAVE_INTTYPES_H 1 #define HAVE_LC_MESSAGES 1 #define HAVE_LOCALE_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STDINT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRINGS_H 1 #define HAVE_STRING_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_UNISTD_H 1 #define PACKAGE "inkscape" #define PACKAGE_BUGREPORT "" #define PACKAGE_NAME "inkscape" #define PACKAGE_STRING "inkscape 0.39pre4" #define PACKAGE_TARNAME "inkscape" #define PACKAGE_VERSION "0.39pre4" #define STDC_HEADERS 1 #define VERSION "0.39pre4" #endif #ifdef __cplusplus extern "C" void std::exit (int) throw (); using std::exit;
configure: exit 1
Albert
On Thu, Jul 15, 2004 at 12:48:02AM +0200, Albert wrote:
checking for pkg-config... /sw/bin/pkg-config checking for png_read_info in -lpng... no configure: error: libpng >= 1.2 is needed to compile inkscape
Any help would be appreciated.
Look through the end of config.log and see what the failed test was. We should be able to learn more from that.
-- Kees Cook @outflux.net
On Thu, Jul 15, 2004 at 04:44:24AM +0200, Albert wrote:
Kees
Here comes the last part of the config.log.
Actually, look above there for the failed libpng checking program.
I wish they'd dump all that status info into another file. The log should be the log... :)
Kees et al,
Sorry for the confusion, I forgot to declare a few environmental variables and this was causing the configure not to find the libpng (I think). Below is the complete list of stuff I'm using to configure the compilation:
ENV VARS: ===========
setenv CPATH "/sw/include" setenv LIBRARY_PATH "/usr/X11R6/lib:/sw/lib" setenv LIBS "-L/sw/lib -lintl " setenv PKG_CONFIG_PATH "/usr/local/lib/pkgconfig"
configure.in file: ============= ... dnl ****************************** dnl Use sigc-2.0 and gtkmm-2.4 only if both present dnl ****************************** ink_sigc_pkg=sigc++-1.2 ink_gtkmm_pkg= #ink_gtkmm_pkg=gtkmm-2.0 ...
Installed libraries: ============== libpng 1.2.5-4 libsigc++1.2.5 no gtkmmgrep
Output of all this: =============
... checking for gtk+-2.0 >= 2.0.0 libxml-2.0 >= 2-2.4.24 sigc++-1.2 gtkmm-2.0 ... Package gtkmm-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtkmm-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtkmm-2.0' found
configure: error: Library requirements (gtk+-2.0 >= 2.0.0 libxml-2.0
= 2-2.4.24 sigc++-1.2 gtkmm-2.0 ) not met; consider adjusting the
PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
What I don't understand is why it tries to find the gtkmm2.0 package if the var is set to null, and thus the test should not fail.
Also, a few notes on macosx, apple and fink:
I am using macosx 10.2.8 (latest jaguar) and the package tree fink has for 10.2 does not allow for the installation of many recent updates on packages such as is the case for gtkmm (only 1.2.5 available through fink). One can manage to manually install many of such packages, though. The main reason I use X windows and all its related software, such as Inkscape, is its high degree of independency from capricious software sellers updating this or that system component and then making all programs need that component so to force a mass buying of updates (as Apple is doing in asking for over $100 for each updated version of macosx). If a regular macosx user needs to upgrade to panther in order to be able to install such X related packages, why, then there's no reason to be using X windows and opensource software at all, just stick to comercial aqua applications.
Conclusion:
What it all comes down to is that it would be really clarifying to have a depency list for inkscape: which version of inkscape needs exactly which versions of what software packages. I assume developers know this, and perhaps some could post the list somewhere on the inkscape website. Then any user could foresee whether this or that inkscape release suits his system or whether several upgrades are necessary.
Thank you for any help on all the above.
Albert
On Thu, Jul 15, 2004 at 07:10:10PM +0200, Albert wrote:
No package 'gtkmm-2.0' found
Did you re-run "./autogen.sh"? You'll need the autoconf/automake toolchains for this too.
I've borrow a friend's osx box to try the compilation on, and I'm getting closer. I've run into intl stuff now...
What it all comes down to is that it would be really clarifying to have a depency list for inkscape: which version of inkscape needs exactly which versions of what software packages. I assume developers know this, and perhaps some could post the list somewhere on the inkscape website. Then any user could foresee whether this or that inkscape release suits his system or whether several upgrades are necessary.
I'm collecting this as I go with the fink I've got here. So far, it's pretty lengthy:
automake1.8 autoconf2.5 intltool glib2 glib2-dev glib2-shlibs gtk+2 gtk+2-shlibs gtk+2-dev libpng3 libpng3-shlibs libtool14 libtool14-shlibs libpng-shlibs libsigc++12 libsigc++12-shlibs popt popt-shlibs
And many of them have additional dependencies...
Currently I'm stuck because "configure" appears to have not set "ENABLE_NLS", but did set HAVE_BIND_TEXTDOMAIN_CODESET in config.h.
Still working that out...
On Thu, Jul 15, 2004 at 05:26:47PM -0700, Kees Cook wrote:
Currently I'm stuck because "configure" appears to have not set "ENABLE_NLS", but did set HAVE_BIND_TEXTDOMAIN_CODESET in config.h.
Interesting... there appears to be a possible bug with gcc 3.3 that causes autoconf to fail certain function tests.
http://gcc.gnu.org/ml/gcc/2003-01/msg00875.html http://fluxbox.sourceforge.net/download/patches/fluxbox-0.1.14-gcc33_autocon...
There appears to be no way around this, so once configure is done running, I just edited config.h:
#define ENABLE_NLS
(btw: the autoconf "fix" for this with strftime was to _remove_ strftime from being detected! Agh!)
Also, ran into the following warnings (a lot):
sp-item.cpp: In function `NRMatrix* sp_item_i2root_affine(const SPItem*, NRMatrix*)': sp-item.cpp:858: warning: choosing `NR::Matrix::operator NRMatrix&()' over ` NR::Matrix::operator const NRMatrix&() const' sp-item.cpp:858: warning: for conversion from `NR::Matrix' to `const NRMatrix&' sp-item.cpp:858: warning: because conversion sequence for the argument is better
is that something to correct?
But! The good news is.... it compiled! And it appears to load too!
On Thu, 15 Jul 2004, Albert wrote:
What it all comes down to is that it would be really clarifying to have a depency list for inkscape: which version of inkscape needs exactly which versions of what software packages. I assume developers know this, and perhaps some could post the list somewhere on the inkscape website. Then any user could foresee whether this or that inkscape release suits his system or whether several upgrades are necessary.
Hi Albert,
Yes, you're right about the need for a dependency list. The developers aren't really the perfect people to do this, since by definition they've had all the deps installed for long enough to forget precisely what they were. ;-)
Anyway, we do collect this information here:
http://inkscape.org/cgi-bin/wiki.pl?CompilingInkscape
That page is in serious need of some organization, and it could really benefit from clarifying which distros would need which dependencies. If you have some spare cycles, would you mind working on that page a bit for the system you're most familiar with?
Bryce
participants (3)
-
Albert
-
Bryce Harrington
-
Kees Cook