FS#27275 - [avfs] doesn't build
Attached to Project:
Arch Linux
Opened by Andrea Scarpino (BaSh) - Sunday, 27 November 2011, 22:22 GMT
Last edited by Giovanni Scafora (giovanni) - Monday, 27 February 2012, 18:42 GMT
Opened by Andrea Scarpino (BaSh) - Sunday, 27 November 2011, 22:22 GMT
Last edited by Giovanni Scafora (giovanni) - Monday, 27 February 2012, 18:42 GMT
|
Details
Description:
gcc -DHAVE_CONFIG_H -I. -I../include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I../include -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT urar.lo -MD -MP -MF .deps/urar.Tpo -c urar.c -fPIC -DPIC -o .libs/urar.o In file included from /usr/include/fcntl.h:267:0, from ../include/avfs.h:20, from ../include/archive.h:9, from urar.c:12: In function 'open', inlined from 'do_unrar' at urar.c:590:8, inlined from 'rar_open' at urar.c:631:9: /usr/include/bits/fcntl2.h:51:24: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments make[1]: *** [urar.lo] Error 1 make[1]: Leaving directory `/build/src/avfs-0.9.9/modules' make: *** [all-recursive] Error 1 Additional info: * ati-dri 7.11.1-1 Steps to reproduce: Try to build it. |
This task depends upon
http://avf.git.sourceforge.net/git/gitweb.cgi?p=avf/avf;a=commit;h=744f37f7af0e6bd4c4de455ce3d5521205220c02
This is a working patch:
--- a/modules/urar.c
+++ b/modules/urar.c
@@ -587,7 +587,7 @@ static int do_unrar(ventry *ve, struct archfile *fil)
if(res < 0)
return res;
- fd = open(tmpfile, O_RDWR | O_CREAT | O_TRUNC);
+ fd = open(tmpfile, O_RDWR | O_CREAT | O_TRUNC, 0644);
if(fd == -1) {
res = -errno;
av_log(AVLOG_ERROR, "RAR: Could not open %s: %s", tmpfile,
--- a/avfscoda/dispatch.c
+++ b/avfscoda/dispatch.c
@@ -147,7 +147,7 @@ static void logerr(const char *fmt, ...)
va_end(ap);
buf[LOGMSG_SIZE] = '\0';
- syslog(LOG_INFO, buf);
+ syslog(LOG_INFO, "%s", buf);
log(buf);
}
--- a/src/sysdeps.c
+++ b/src/sysdeps.c
@@ -209,7 +209,7 @@ void av_log(int type, const char *format, ...)
va_end(ap);
if(logfile == NULL)
- syslog(LOG_INFO, buf);
+ syslog(LOG_INFO, "%s", buf);
else
filelog(buf);
AV_UNLOCK(loglock);