Hi all!
I'm trying to build the buoh comic reader for centos 6 and my head is getting tired of repeated forceful contact with the wall.
I built it on 5.6 without undue problems, but somehow 6.0 is beating me. (and no, the 5.6 binary doesn't work, at least not without a lot of futzing around, on 6.0. tried that first.)
before I give gory details, has anyone already done this, from whom maybe I could get packages? or advice?
it wants libsoup. fine, we got libsoup. but it seems to want version 2.2, while what we have comes in libsoup-2.28.*.rpm which seems to actually deliver /usr/lib/libsoup-2.4.xxxx.so. Go figure.
The configure script refuses to deal with libsoup-2.4. so I look at what pkgconfig thinks the installed libsoup is, hack the configure script to look for that version and voila!
ok, so now to do "make", which chokes on the first (only) file that includes any libsoup headers. it claims it can't find SoupURI, but it's "right there"!!. I've followed the chain of header file directories, heck, I've even compiled that one file with "-E" and verified that it expands to the right code. I can't see why it's complaining!
can any of you see whatever the stupid thing is I'm doing wrong?
Thanks!
here's the diagnostic output for the brave:
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DGNOMELOCALEDIR=""/usr/local/share/locale"" -DORBIT2=1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -Wall -Wmissing-prototypes -g -O2 -MT buoh-comic-loader.o -MD -MP -MF ".deps/buoh-comic-loader.Tpo" -c -o buoh-comic-loader.o buoh-comic-loader.c; \ then mv -f ".deps/buoh-comic-loader.Tpo" ".deps/buoh-comic-loader.Po"; else rm -f ".deps/buoh-comic-loader.Tpo"; exit 1; fi buoh-comic-loader.c: In function \u2018buoh_comic_loader_job_new\u2019: buoh-comic-loader.c:205: error: \u2018SoupUri\u2019 undeclared (first use in this function) buoh-comic-loader.c:205: error: (Each undeclared identifier is reported only once buoh-comic-loader.c:205: error: for each function it appears in.) buoh-comic-loader.c:205: error: \u2018soup_uri\u2019 undeclared (first use in this function) buoh-comic-loader.c: In function \u2018buoh_comic_loader_job_read_next\u2019: buoh-comic-loader.c:256: error: too few arguments to function \u2018soup_session_cancel_message\u2019 buoh-comic-loader.c:262: error: \u2018SoupMessage\u2019 has no member named \u2018response\u2019 buoh-comic-loader.c:263: error: \u2018SoupMessage\u2019 has no member named \u2018response\u2019 buoh-comic-loader.c: In function \u2018buoh_comic_loader_job_run\u2019: buoh-comic-loader.c:278: warning: implicit declaration of function \u2018soup_message_add_handler\u2019 buoh-comic-loader.c:278: error: \u2018SOUP_HANDLER_BODY_CHUNK\u2019 undeclared (first use in this function) buoh-comic-loader.c:279: error: \u2018SoupMessageCallbackFn\u2019 undeclared (first use in this function) buoh-comic-loader.c:279: error: expected \u2018)\u2019 before \u2018buoh_comic_loader_job_read_next\u2019 make[2]: *** [buoh-comic-loader.o] Error 1 make[2]: Leaving directory `/home/fredex/programs/buoh/buoh-0.8.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/fredex/programs/buoh/buoh-0.8.2' make: *** [all] Error 2
06.08.2011 13:01, fred smith пишет:
Hi all!
I'm trying to build the buoh comic reader for centos 6 and my head is getting tired of repeated forceful contact with the wall.
I built it on 5.6 without undue problems, but somehow 6.0 is beating me. (and no, the 5.6 binary doesn't work, at least not without a lot of futzing around, on 6.0. tried that first.)
before I give gory details, has anyone already done this, from whom maybe I could get packages? or advice?
it wants libsoup. fine, we got libsoup. but it seems to want version 2.2, while what we have comes in libsoup-2.28.*.rpm which seems to actually deliver /usr/lib/libsoup-2.4.xxxx.so. Go figure.
The configure script refuses to deal with libsoup-2.4. so I look at what pkgconfig thinks the installed libsoup is, hack the configure script to look for that version and voila!
ok, so now to do "make", which chokes on the first (only) file that includes any libsoup headers. it claims it can't find SoupURI, but it's "right there"!!. I've followed the chain of header file directories, heck, I've even compiled that one file with "-E" and verified that it expands to the right code. I can't see why it's complaining!
can any of you see whatever the stupid thing is I'm doing wrong?
Thanks!
here's the diagnostic output for the brave:
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DGNOMELOCALEDIR=""/usr/local/share/locale"" -DORBIT2=1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -Wall -Wmissing-prototypes -g -O2 -MT buoh-comic-loader.o -MD -MP -MF ".deps/buoh-comic-loader.Tpo" -c -o buoh-comic-loader.o buoh-comic-loader.c; \ then mv -f ".deps/buoh-comic-loader.Tpo" ".deps/buoh-comic-loader.Po"; else rm -f ".deps/buoh-comic-loader.Tpo"; exit 1; fi buoh-comic-loader.c: In function \u2018buoh_comic_loader_job_new\u2019: buoh-comic-loader.c:205: error: \u2018SoupUri\u2019 undeclared (first use in this function) buoh-comic-loader.c:205: error: (Each undeclared identifier is reported only once buoh-comic-loader.c:205: error: for each function it appears in.) buoh-comic-loader.c:205: error: \u2018soup_uri\u2019 undeclared (first use in this function) buoh-comic-loader.c: In function \u2018buoh_comic_loader_job_read_next\u2019: buoh-comic-loader.c:256: error: too few arguments to function \u2018soup_session_cancel_message\u2019 buoh-comic-loader.c:262: error: \u2018SoupMessage\u2019 has no member named \u2018response\u2019 buoh-comic-loader.c:263: error: \u2018SoupMessage\u2019 has no member named \u2018response\u2019 buoh-comic-loader.c: In function \u2018buoh_comic_loader_job_run\u2019: buoh-comic-loader.c:278: warning: implicit declaration of function \u2018soup_message_add_handler\u2019 buoh-comic-loader.c:278: error: \u2018SOUP_HANDLER_BODY_CHUNK\u2019 undeclared (first use in this function) buoh-comic-loader.c:279: error: \u2018SoupMessageCallbackFn\u2019 undeclared (first use in this function) buoh-comic-loader.c:279: error: expected \u2018)\u2019 before \u2018buoh_comic_loader_job_read_next\u2019 make[2]: *** [buoh-comic-loader.o] Error 1 make[2]: Leaving directory `/home/fredex/programs/buoh/buoh-0.8.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/fredex/programs/buoh/buoh-0.8.2' make: *** [all] Error 2
maybe you should compile with -static on centos5.6 after that you try in on centos6?
On Sat, 6 Aug 2011, sysadm wrote:
*snip*
maybe you should compile with -static on centos5.6 after that you try (running) it on centos6?
That sounds a reasonable suggestion. Compile as a static binary on 5.6, so all the required files to run buoh are built into the binary. That way the buoh binary will not be looking for any other external missing files on C6.
(That's the type of Skype binary I use on C5.6)
It makes the program file a bit larger, but if it works does it really matter?
The only other problem that comes to mind is if there are kernel symbols missing from the C6 kernel, that were in the C5 kernel.
Kind Regards,
Keith Roberts
----------------------------------------------------------------- Websites: http://www.karsites.net http://www.php-debuggers.net http://www.raised-from-the-dead.org.uk
All email addresses are challenge-response protected with TMDA [http://tmda.net] -----------------------------------------------------------------
On Fri, Aug 05, 2011 at 10:01:46PM -0400, fred smith wrote:
Hi all!
I'm trying to build the buoh comic reader for centos 6 and my head is getting tired of repeated forceful contact with the wall.
If you just need a reader for cbz and similar files, comix is available in repoforge. (I realize this doesn't answer your question at all, but in case that's all you need, comix has always worked reasonably well for me.)
On 2011-08-06 04:01, fred smith wrote:
Hi all!
I'm trying to build the buoh comic reader for centos 6 and my head is getting tired of repeated forceful contact with the wall.
: The configure script refuses to deal with libsoup-2.4. so I look at what pkgconfig thinks the installed libsoup is, hack the configure script to look for that version and voila!
ok, so now to do "make", which chokes on the first (only) file that includes any libsoup headers. it claims it can't find SoupURI, but it's "right there"!!. I've followed the chain of header file directories, heck, I've even compiled that one file with "-E" and verified that it expands to the right code. I can't see why it's complaining!
Well, it can find SoupURI, but not SoupUri as it's written in the buoh code. In libsoup-2.4 there seem to be a number of changes in the code compared to version 2.2. The code in buoh is obviously not adopted to these changes.
hostname 291% grep -i soupuri src/* src/buoh-comic-loader.c: SoupUri *soup_uri = soup_uri_new (proxy_uri);
hostname 295% grep -i soupuri /usr/include/libsoup-2.4/libsoup/soup-uri.h | grep struct struct _SoupURI {
Updating the buoh code to SoupURI fix the SoupUri error. The other errors becomes trickier. It's too much efforts to fix that. Skip the compilation on C6. Instead file a report at http://buoh.steve-o.org/ and follow the suggestions to compile a static binary on C5.6. Hopefully that will work on C6.
On 2011-08-06 04:01, fred smith wrote:
Hi all!
I'm trying to build the buoh comic reader for centos 6 and my head is getting tired of repeated forceful contact with the wall.
The configure script refuses to deal with libsoup-2.4. so I look at what pkgconfig thinks the installed libsoup is, hack the configure script to look for that version and voila!
I have now checked the website for buoh. The project is now mantained in the GNOME git repository (http://git.gnome.org/browse/buoh/). It has been adopted for libsoup-2.4 but also for gtk+3. The problem for C6 is that gtk+3 is not available. It is available in Fedora14 or higher.
Build a static binary on 5.6 and use that one or change comic reader.
/THomas
On Sat, Aug 06, 2011 at 01:40:59PM +0200, Thomas Johansson wrote:
On 2011-08-06 04:01, fred smith wrote:
Hi all!
I'm trying to build the buoh comic reader for centos 6 and my head is getting tired of repeated forceful contact with the wall.
The configure script refuses to deal with libsoup-2.4. so I look at what pkgconfig thinks the installed libsoup is, hack the configure script to look for that version and voila!
I have now checked the website for buoh. The project is now mantained in the GNOME git repository (http://git.gnome.org/browse/buoh/). It has been adopted for libsoup-2.4 but also for gtk+3. The problem for C6 is that gtk+3 is not available. It is available in Fedora14 or higher.
Build a static binary on 5.6 and use that one or change comic reader.
Thanks to all those who suggested doing a static build.
Either I'm still failing to understand something, or else a static build isn't possible... it builds a binary exactly the same size as a "normal" build, which "ldd buoh" reports with the same lengthy list of required shared objects. For the small number of them that I examined, there doesn't seem to be a libfoo.a, only the libfoo.so. (tried passing flags to configure to force a static build, to no avail, so I manually hacked all the Makefiles and added "-static" to all the CFLAGS and XXXX_CFLAGS variables.)
so I took a different approach: copy over /usr/include/libsoup-2.2 from centos 5.6 to 6.0, as well as all the libsoup items from /usr/lib.
ran ./configure and it didn't report any problems.
ran "make" and it compiled a pile of .c files, then attempted to link buoh itself, which produces a couple dozen errors about undefined references to things in gnutls (gnutls_certificate_set_x509_key_file@GNUTLS_1_3', gnutls_record_send@GNUTLS_1_3, gnutls_init@GNUTLS_1_3, gnutls_certificate_free_credentials@GNUTLS_1_3, etc., etc.)
I haven't yet also tried copying over all the gnutls files from 5.6 to 6.0, but I guess that's my next step.
or maybe I'll put it on the back burner til I get reduced frustration! :(
Another thought: all the libsoup stuff is isolated to a single source file. wonder if it's possible to take the that one file from GIT and use it to replace the same file from the last release, thereby removing the requirement for libsoup-2.2, and have a snowball's chance of compiling (and working)... nah, I don't suppose so....
Or buckle down and learn something about libsoup and patch it up myself.