| Summary: | No such file or directory while compiling | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | Treeve Jelbert <treeve01> |
| Component: | Portability-Compilation | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | caulier.gilles |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Patch file | ||
Created attachment 16078 [details]
Patch file
Can you test this patch please?
Hi Angelo, libkipiincludedir is path where headers are installed so $(prefix)/include/libkipi is right. INCLUDES needs to be extended for -I.. (or -I($build_dir)/..) in case builddir != srcdir. (e.g. libkipi_export.h.in is in srcdir but libkipi_export.h is in builddir) I'll commit a fix for this. Achim SVN commit 540613 by ach: libkipi: fix include path: Header files are accessed like #include <libkipi/file.h>. Therefore standard -I. -I$(srcdir) don't work. Adding -I.. -I$(srcdir)/.. fixes this. BUG: 127238 M +1 -1 Makefile.am --- trunk/extragear/libs/libkipi/libkipi/Makefile.am #540612:540613 @@ -1,5 +1,5 @@ METASOURCES = AUTO -INCLUDES= $(LIBKIPI_CFLAGS) $(all_includes) +INCLUDES = -I.. -I$(srcdir)/.. $(LIBKIPI_CFLAGS) $(all_includes) KDE_ICON = kipi > Hi Angelo,
> libkipiincludedir is path where headers are installed so
> $(prefix)/include/libkipi is right.
>
> INCLUDES needs to be extended for -I.. (or -I($build_dir)/..)
> in case builddir != srcdir. (e.g. libkipi_export.h.in is in srcdir
> but libkipi_export.h is in builddir)
That's right, but we should provide:
a) a patch to the current libkipi release for the packagers
b) new libkipi package
Angelo
a) The patch is in #3 (as commited to svn) b) it's already commited so you can create 0.1.3.1 (or 0.1.4) Achim |
Version: 0.1.3 (using KDE KDE 3.5.2) Installed from: Compiled From Sources Compiler: gcc-4.1.0 OS: Linux make file seems to need an extra level of libkipi, in order to find the includes. possibly add -Ilibkipi to compiler options if /bin/sh ../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I/usr/include/qt -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -O -march=athlon-tbird -mmmx -m3dnow -pipe -O3 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -MT interface.lo -MD -MP -MF ".deps/interface.Tpo" -c -o interface.lo interface.cpp; \ then mv -f ".deps/interface.Tpo" ".deps/interface.Plo"; else rm -f ".deps/interface.Tpo"; exit 1; fi In file included from interface.cpp:32: pluginloader.h:25:31: error: libkipi/interface.h: No such file or directory pluginloader.h:26:36: error: libkipi/libkipi_export.h: No such file or directory In file included from interface.cpp:33: interface.h:38:37: error: libkipi/imagecollection.h: No such file or directory interface.h:39:31: error: libkipi/imageinfo.h: No such file or directory pluginloader.h:37: error: invalid function declaration pluginloader.h:88: error: invalid function declaration interface.h:58: error: invalid function declaration interface.cpp:98: error: invalid use of undefined type 'struct KIPI::Interface' pluginloader.h:34: error: forward declaration of 'struct KIPI::Interface' interface.cpp:99: confused by earlier errors, bailing out make[4]: *** [interface.lo] Error 1 make[4]: Leaving directory `/usr/src/libkipi-0.1.3/libkipi/libkipi' make[3]: *** [all] Error 2 make[3]: Leaving directory `/usr/src/libkipi-0.1.3/libkipi/libkipi' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/src/libkipi-0.1.3/libkipi' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/libkipi-0.1.3' make: *** [all] Error 2