buildling pkgutils on debian
Hi, i am planning to use pkgutils 5.30.0 in my debian/etch system to maintain installation of some programs/libraries, etc under $HOME. up to now i was only trying to build but got following error: g++ -DNDEBUG -O2 -Wall -pedantic -D_GNU_SOURCE -DVERSION=\"5.30.0\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o pkgutil.o pkgutil.cc pkgutil.cc: In member function 'std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgutil::pkginfo_t> pkgutil::pkg_open(const std::string&) const': pkgutil.cc:354: error: 'archive_read_open_filename' was not declared in this scope pkgutil.cc: In member function 'void pkgutil::pkg_install(const std::string&, const std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, const std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const': pkgutil.cc:393: error: 'archive_read_open_filename' was not declared in this scope pkgutil.cc: In member function 'void pkgutil::pkg_footprint(std::string&) const': pkgutil.cc:508: error: 'archive_read_open_filename' was not declared in this scope pkgutil.cc:535: error: 'archive_read_open_filename' was not declared in this scope make: *** [pkgutil.o] Fehler 1 it it at all possible to build pkgutils on a debian system? Where am i doing wrong? matthias
Matthias Pfeifer schrieb:
i am planning to use pkgutils 5.30.0 in my debian/etch system to maintain installation of some programs/libraries, etc under $HOME. up to now i was only trying to build but got following error:
g++ -DNDEBUG -O2 -Wall -pedantic -D_GNU_SOURCE -DVERSION=\"5.30.0\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o pkgutil.o pkgutil.cc pkgutil.cc: In member function 'std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgutil::pkginfo_t> pkgutil::pkg_open(const std::string&) const': pkgutil.cc:354: error: 'archive_read_open_filename' was not declared in this scope pkgutil.cc: In member function 'void pkgutil::pkg_install(const std::string&, const std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, const std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) const': pkgutil.cc:393: error: 'archive_read_open_filename' was not declared in this scope pkgutil.cc: In member function 'void pkgutil::pkg_footprint(std::string&) const': pkgutil.cc:508: error: 'archive_read_open_filename' was not declared in this scope pkgutil.cc:535: error: 'archive_read_open_filename' was not declared in this scope make: *** [pkgutil.o] Fehler 1
it it at all possible to build pkgutils on a debian system? Where am i doing wrong?
Did you resolve the libarchive dependency? You can also try pkgutils-c as an alternative solution (also with libarchive dependencies, AFAIK). Regards, -- Clemens Koller __________________________________ R&D Imaging Devices Anagramm GmbH Rupert-Mayer-Straße 45/1 Linhof Werksgelände D-81379 München Tel.089-741518-50 Fax 089-741518-19 http://www.anagramm-technology.com
Thank you two. Actually i *have* libarchive1 and libarchive-dev installed (Version is 1.2.53-2) via debian's apt. Without libarchive-dev it gets very worse - meaning that there are many more undefined symbols. Which dependency are you refering to treach? matthias
Sorry to answer myself, but i just found out that crux 2.3 is using libarchive 2.2.6 while debian's version is 1.2.53-2. that will probably force my build-problem... thanks for your time, matthias
Matthias Pfeifer schrieb:
Sorry to answer myself, but i just found out that crux 2.3 is using libarchive 2.2.6 while debian's version is 1.2.53-2. that will probably force my build-problem...
*smile* I'm pretty sure. :-) That's the reason I dumped debian on a preinstalled server after one day of wasting time to install something "current" away from apt-get's way. Good luck anyway... -- Clemens Koller __________________________________ R&D Imaging Devices Anagramm GmbH Rupert-Mayer-Straße 45/1 Linhof Werksgelände D-81379 München Tel.089-741518-50 Fax 089-741518-19 http://www.anagramm-technology.com
Matthias Pfeifer [2007-08-21 06:08]:
i am planning to use pkgutils 5.30.0 in my debian/etch system to maintain installation of some programs/libraries, etc under $HOME. up to now i was only trying to build but got following error: [snip]
it it at all possible to build pkgutils on a debian system? Where am i doing wrong?
It's badly documented: pkgutils depends on libarchive. Regards, Tilman -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?
Hi. GTK doesn't compile with the new cups 1.3.0 gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../gtk -I../../../gtk -I../../../gdk -I../../../gdk -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/atk-1.0 -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -march=k8 -m32 -msse3 -O2 -pipe -fomit-frame-pointer -Wall -MT gtkcupsutils.lo -MD -MP -MF .deps/gtkcupsutils.Tpo -c gtkcupsutils.c -fPIC -DPIC -o .libs/gtkcupsutils.o gtkcupsutils.c: In function '_post_send': gtkcupsutils.c:631: error: dereferencing pointer to incomplete type gtkcupsutils.c: In function '_get_send': gtkcupsutils.c:970: error: dereferencing pointer to incomplete type make[4]: *** [gtkcupsutils.lo] Error 1 make[4]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14/modules/printbackends/cups' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14/modules/printbackends' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14' make: *** [all] Error 2 I've tried to fix it, but it doesn't work: --- gtk+-2.10.14/modules/printbackends/cups/gtkcupsutils.c.orig 2007-07-16 21:45:18.000000000 +0200 +++ gtk+-2.10.14/modules/printbackends/cups/gtkcupsutils.c 2007-08-29 00:55:49.000000000 +0200 @@ -627,7 +627,9 @@ httpClearFields(request->http); httpSetField(request->http, HTTP_FIELD_CONTENT_LENGTH, length); httpSetField(request->http, HTTP_FIELD_CONTENT_TYPE, "application/ipp"); -#ifdef HAVE_HTTP_AUTHSTRING +#ifdef HAVE_CUPS_API_1_3 + httpSetField (request->http, HTTP_FIELD_AUTHORIZATION, httpGetAuthString (request->http)); +#else httpSetField(request->http, HTTP_FIELD_AUTHORIZATION, request->http->authstring); #endif @@ -966,7 +968,9 @@ } httpClearFields(request->http); -#ifdef HAVE_HTTP_AUTHSTRING +#ifdef HAVE_CUPS_API_1_3 + httpSetField (request->http, HTTP_FIELD_AUTHORIZATION, httpGetAuthString (request->http)); +#else httpSetField(request->http, HTTP_FIELD_AUTHORIZATION, request->http->authstring); #endif --- gtk+-2.10.14/acconfig.h.orig 2007-07-16 21:46:25.000000000 +0200 +++ gtk+-2.10.14/acconfig.h 2007-08-29 00:35:07.000000000 +0200 @@ -70,6 +70,8 @@ #undef HAVE_CUPS_API_1_2 +#undef HAVE_CUPS_API_1_3 + /* #undef PACKAGE */ /* #undef VERSION */ --- gtk+-2.10.14/configure.in.orig 2007-07-16 21:46:25.000000000 +0200 +++ gtk+-2.10.14/configure.in 2007-08-29 01:16:09.000000000 +0200 @@ -1565,6 +1565,11 @@ AC_DEFINE(HAVE_CUPS_API_1_2) fi + if test $CUPS_API_MAJOR -gt 1 -o \ + $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 3; then + AC_DEFINE(HAVE_CUPS_API_1_3) + fi + AC_SUBST(CUPS_API_MAJOR) AC_SUBST(CUPS_API_MINOR) AC_SUBST(CUPS_CFLAGS) Someone with any ideas? regards Hannes -- crux86_64 - crux for you 64bit system http://ecarux.de/crux86_64/
On Wed, 29 Aug 2007 01:34:54 +0200 Hannes Mayer wrote:
Hi. GTK doesn't compile with the new cups 1.3.0
gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../gtk -I../../../gtk -I../../../gdk -I../../../gdk -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/atk-1.0 -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -march=k8 -m32 -msse3 -O2 -pipe -fomit-frame-pointer -Wall -MT gtkcupsutils.lo -MD -MP -MF .deps/gtkcupsutils.Tpo -c gtkcupsutils.c -fPIC -DPIC -o .libs/gtkcupsutils.o gtkcupsutils.c: In function '_post_send': gtkcupsutils.c:631: error: dereferencing pointer to incomplete type gtkcupsutils.c: In function '_get_send': gtkcupsutils.c:970: error: dereferencing pointer to incomplete type make[4]: *** [gtkcupsutils.lo] Error 1 make[4]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14/modules/printbackends/cups' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14/modules/printbackends' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/ports/opt/gtk/work/src/gtk+-2.10.14' make: *** [all] Error 2
I've tried to fix it, but it doesn't work:
--- gtk+-2.10.14/modules/printbackends/cups/gtkcupsutils.c.orig 2007-07-16 21:45:18.000000000 +0200 +++ gtk+-2.10.14/modules/printbackends/cups/gtkcupsutils.c 2007-08-29 00:55:49.000000000 +0200 @@ -627,7 +627,9 @@ httpClearFields(request->http); httpSetField(request->http, HTTP_FIELD_CONTENT_LENGTH, length); httpSetField(request->http, HTTP_FIELD_CONTENT_TYPE, "application/ipp"); -#ifdef HAVE_HTTP_AUTHSTRING +#ifdef HAVE_CUPS_API_1_3 + httpSetField (request->http, HTTP_FIELD_AUTHORIZATION, httpGetAuthString (request->http)); +#else httpSetField(request->http, HTTP_FIELD_AUTHORIZATION, request->http->authstring); #endif
@@ -966,7 +968,9 @@ }
httpClearFields(request->http); -#ifdef HAVE_HTTP_AUTHSTRING +#ifdef HAVE_CUPS_API_1_3 + httpSetField (request->http, HTTP_FIELD_AUTHORIZATION, httpGetAuthString (request->http)); +#else httpSetField(request->http, HTTP_FIELD_AUTHORIZATION, request->http->authstring); #endif
--- gtk+-2.10.14/acconfig.h.orig 2007-07-16 21:46:25.000000000 +0200 +++ gtk+-2.10.14/acconfig.h 2007-08-29 00:35:07.000000000 +0200 @@ -70,6 +70,8 @@
#undef HAVE_CUPS_API_1_2
+#undef HAVE_CUPS_API_1_3 + /* #undef PACKAGE */ /* #undef VERSION */
--- gtk+-2.10.14/configure.in.orig 2007-07-16 21:46:25.000000000 +0200 +++ gtk+-2.10.14/configure.in 2007-08-29 01:16:09.000000000 +0200 @@ -1565,6 +1565,11 @@ AC_DEFINE(HAVE_CUPS_API_1_2) fi
+ if test $CUPS_API_MAJOR -gt 1 -o \ + $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 3; then + AC_DEFINE(HAVE_CUPS_API_1_3) + fi + AC_SUBST(CUPS_API_MAJOR) AC_SUBST(CUPS_API_MINOR) AC_SUBST(CUPS_CFLAGS)
Someone with any ideas?
regards Hannes
Try: http://pred.dcaf-security.org/gtk-cups13.patch I've given that patch to Jaeger as well, but he has yet to apply it. GTK 2.10.14 built fine with that patch. -- ~predatorfreak GnuPG Public key: http://pred.dcaf-security.org/dcafsec-pub-gpgkey.asc
Am Mittwoch, 29. August 2007 01:19:19 schrieb Brett Goulder:
Try: http://pred.dcaf-security.org/gtk-cups13.patch
I've given that patch to Jaeger as well, but he has yet to apply it. GTK 2.10.14 built fine with that patch.
Thank you. It works fine.
participants (6)
-
Brett Goulder
-
Clemens Koller
-
Hannes Mayer
-
Matthias Pfeifer
-
Tilman Sauerbeck
-
treach