Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 77239

Summary: gnome-vfs-httpcaptive fails to build with gnome-vfs 2.8.x
Product: Gentoo Linux Reporter: Dylan Wakefield <dylan.wakefield>
Component: New packagesAssignee: Stefan Schweizer (RETIRED) <genstef>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 75825    
Bug Blocks:    
Attachments: Patch to work with gnome-vfs-2.8
New ebuild using the patch in the previous post.
.diff against previous ebuild (requested)

Description Dylan Wakefield 2005-01-09 08:51:42 UTC
gnome-vfs-httpcaptive fails to build with gnome-vfs 2.8.x due to some changes that were made in gnome-vfs relating to job cancellation.

The offending file is modules/http-method.c 


Reproducible: Always
Steps to Reproduce:
1.emerge gnome-vfs-httpcaptive
2.
3.

Actual Results:  
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -pthread -DORBIT2=1
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
-I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -pthread -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -D_FILE_OFFSET_BITS=64 -D_BSD_SOURCE -D_GNU_SOURCE
-D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT
-DG_DISABLE_DEPRECATED -DDATADIR=\"/usr/share\" -DPREFIX=\"/usr\"
-DLIBDIR=\"/usr/lib\" -DSYSCONFDIR=\"/etc\" -DG_LOG_DOMAIN=\"gnome-vfs-modules\"
-pthread -DORBIT2=1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/gconf/2 -I/usr/include/orbit-2.0
-I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2
-I/usr/include/gnome-vfs-2.0 -I/usr/include/gnome-vfs-module-2.0
-I/usr/lib/gnome-vfs-2.0/include -O3 -march=athlon-xp -pipe -fomit-frame-pointer
-ftracer -mmmx -msse -m3dnow -mfpmath=sse,387 -mregparm=0 -c http-cache.c -MT
libhttpcaptive_la-http-cache.lo -MD -MP -MF
.deps/libhttpcaptive_la-http-cache.TPlo -o libhttpcaptive_la-http-cache.o
>/dev/null 2>&1
http-method.c: In function `get_header':
http-method.c:612: error: too few arguments to function
`gnome_vfs_socket_buffer_read'
http-method.c:628: error: too few arguments to function
`gnome_vfs_socket_buffer_peekc'
http-method.c: In function `https_proxy':
http-method.c:1232: error: too few arguments to function `gnome_vfs_socket_write'
http-method.c:1236: error: too few arguments to function `gnome_vfs_socket_close'
http-method.c:1243: error: too few arguments to function `gnome_vfs_socket_write'
http-method.c:1248: error: too few arguments to function `gnome_vfs_socket_close'
http-method.c:1255: error: too few arguments to function `gnome_vfs_socket_read'
http-method.c:1258: error: too few arguments to function `gnome_vfs_socket_close'
http-method.c:1264: error: too few arguments to function `gnome_vfs_socket_close'
http-method.c:1272: error: too few arguments to function `gnome_vfs_socket_close'
http-method.c:1282: error: too few arguments to function
`gnome_vfs_ssl_create_from_fd'
http-method.c:1285: error: too few arguments to function `gnome_vfs_socket_close'
http-method.c: In function `connect_to_uri':
http-method.c:1381: error: too few arguments to function `gnome_vfs_ssl_create'
http-method.c:1403: error: too few arguments to function `gnome_vfs_socket_close'
http-method.c: In function `xmit_request':
http-method.c:1484: error: too few arguments to function
`gnome_vfs_socket_buffer_write'
http-method.c:1495: error: too few arguments to function
`gnome_vfs_socket_buffer_write'
http-method.c:1502: error: too few arguments to function
`gnome_vfs_socket_buffer_flush'
http-method.c: In function `make_request':
http-method.c:1638: error: too few arguments to function
`gnome_vfs_socket_buffer_destroy'
http-method.c: In function `http_handle_close':
http-method.c:1653: error: too few arguments to function
`gnome_vfs_socket_buffer_flush'
http-method.c:1655: error: too few arguments to function
`gnome_vfs_socket_buffer_destroy'
http-method.c: In function `do_read':
http-method.c:1916: error: too few arguments to function
`gnome_vfs_socket_buffer_read'
http-method.c:1946: error: too few arguments to function
`gnome_vfs_socket_buffer_read'
make[2]: *** [libhttpcaptive_la-http-method.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
 gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -pthread -DORBIT2=1
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
-I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -pthread -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -D_FILE_OFFSET_BITS=64 -D_BSD_SOURCE -D_GNU_SOURCE
-D_LARGEFILE64_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT
-DG_DISABLE_DEPRECATED -DDATADIR=\"/usr/share\" -DPREFIX=\"/usr\"
-DLIBDIR=\"/usr/lib\" -DSYSCONFDIR=\"/etc\" -DG_LOG_DOMAIN=\"gnome-vfs-modules\"
-pthread -DORBIT2=1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/gconf/2 -I/usr/include/orbit-2.0
-I/usr/include/bonobo-activation-2.0 -I/usr/include/libxml2
-I/usr/include/gnome-vfs-2.0 -I/usr/include/gnome-vfs-module-2.0
-I/usr/lib/gnome-vfs-2.0/include -O3 -march=athlon-xp -pipe -fomit-frame-pointer
-ftracer -mmmx -msse -m3dnow -mfpmath=sse,387 -mregparm=0 -c http-authn.c -MT
libhttpcaptive_la-http-authn.lo -MD -MP -MF
.deps/libhttpcaptive_la-http-authn.TPlo -o libhttpcaptive_la-http-authn.o
>/dev/null 2>&1
make[2]: Leaving directory
`/var/tmp/portage/gnome-vfs-httpcaptive-2.3.8/work/gnome-vfs-httpcaptive-2.3.8captive2/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/gnome-vfs-httpcaptive-2.3.8/work/gnome-vfs-httpcaptive-2.3.8captive2'
make: *** [all] Error 2


Expected Results:  
One would expect it to work :)

gnome-vfs-httpcaptive fails to build with gnome-vfs 2.8.x due to some changes
that were made in gnome-vfs relating to job cancellation. More info here:
http://developer.gnome.org/doc/API/gnome-vfs/gnome-vfs-gnome-vfs-cancellation.html

This change required the addition of an extra argument in all gnome-vfs calls,
all's I've done is add the argument to the calls as a NULL, therefore, job
cancellation isn't supported, but it wasn't in the old code either, as the
argument didn't exist.

I'm posting my fix bellow.
Comment 1 Stefan Schweizer (RETIRED) gentoo-dev 2005-01-09 08:55:05 UTC
Did you try to use captive-install-acquire with your fix?
It did not work for me, so I think its not worth it.
Comment 2 Dylan Wakefield 2005-01-09 08:55:24 UTC
Created attachment 48021 [details, diff]
Patch to work with gnome-vfs-2.8

I've just made a hackish little patch against gnome-vfs-httpcaptive to at least

get this thing running with gnome-vfs-2.8.x.

It works fine for me.
Comment 3 Dylan Wakefield 2005-01-09 08:57:34 UTC
Created attachment 48022 [details]
New ebuild using the patch in the previous post.

Ebuild for above patch.
Comment 4 Dylan Wakefield 2005-01-09 09:01:42 UTC
Created attachment 48023 [details, diff]
.diff against previous ebuild (requested)
Comment 5 Dylan Wakefield 2005-01-09 09:13:04 UTC
Stefan,

Yes, if captive-install-acquire, is the gui installer that it uses then yes it works as it was intended. The reasong it may seem not to work is because the highest versions of the files it looks for are XP servicepack 1, If I get time I'll take a propper look at the source and update it to check for all version upto current.

I think the microsoft page holding the servicepack one has somehow changed as it didn't accept the file, but it worked fine if I downloaded the whole servicepack first.

I tested on two machines, both with Windows XP on /dev/hda1, on one machine no files were detected but it was servicepack 2, the other machine had servicepack 1 on it and the files were detected fine, though older than it's latest recognised versions, after pointing it at the servicepack1 file it automatically updated all the files to the later version, from this I assume it's working. Certainly better than going splat on build, and forcing downgrade to gnome-vfs-2.6. :)
Comment 6 Stefan Schweizer (RETIRED) gentoo-dev 2005-01-09 09:16:58 UTC
Thing is, you need to download the files in most cases (sp2), and that does not work with gnome-vfs-2.8 .. its not that your patch does not work, just gnome-vfs-httpcaptive does not work with gnome-vfs-2.8.

Sorry, we need to find a solution here first.
Comment 7 Dylan Wakefield 2005-01-09 09:28:00 UTC
No probs, at least for now the quick fix might be of use to some. In the meantime I'll have a good look at how all the pieces go together and see if I can figure something out (time permiting).
Comment 8 Stefan Schweizer (RETIRED) gentoo-dev 2005-02-13 13:04:08 UTC
I added a new revision of captive with a static tarball, do you think that solves the problem?
Comment 9 Stefan Schweizer (RETIRED) gentoo-dev 2005-03-05 01:48:17 UTC
I just removed httpcaptive from the tree in favour of the static install-acquire that is now used in captive, thanks for your work anyway.