You are not logged in.

#1 2012-02-21 19:07:38

martega
Member
Registered: 2012-02-21
Posts: 3

Error when installing Pixie through yaourt

Hello,

I tried installing pixie using the following command, "yaourt -S pixie".

Everything starts off fine and it starts to compile everything, however after a couple of minutes I get the following error.  I can't really figure out what's going wrong or how I can go about fixing it.  Any help would be appreciated.

make[4]: Entering directory `/tmp/yaourt-tmp-martin/aur-pixie/src/Pixie/src/ri'
/bin/sh ../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I..    -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT rendererContext.lo -MD -MP -MF .deps/rendererContext.Tpo -c -o rendererContext.lo rendererContext.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I.. -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -MT rendererContext.lo -MD -MP -MF .deps/rendererContext.Tpo -c rendererContext.cpp  -fPIC -DPIC -o .libs/rendererContext.o
In file included from rendererContext.cpp:77:0:
ribOut.h: In member function ‘void CRibOut::vout(const char*, __va_list_tag*)’:
ribOut.h:240:61: error: cannot convert ‘FILE* {aka _IO_FILE*}’ to ‘gzFile’ for argument ‘1’ to ‘int gzwrite(gzFile, voidpc, unsigned int)’
ribOut.h: In member function ‘void CRibOut::out(const char*, ...)’:
ribOut.h:261:61: error: cannot convert ‘FILE* {aka _IO_FILE*}’ to ‘gzFile’ for argument ‘1’ to ‘int gzwrite(gzFile, voidpc, unsigned int)’
make[4]: *** [rendererContext.lo] Error 1
make[4]: Leaving directory `/tmp/yaourt-tmp-martin/aur-pixie/src/Pixie/src/ri'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/tmp/yaourt-tmp-martin/aur-pixie/src/Pixie/src/ri'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/yaourt-tmp-martin/aur-pixie/src/Pixie/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/yaourt-tmp-martin/aur-pixie/src/Pixie'
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build pixie.

Offline

#2 2012-02-22 17:47:59

jean_no
Member
Registered: 2007-09-18
Posts: 48

Re: Error when installing Pixie through yaourt

Hello

its due to zlib-1.2.6....

There is a change in zlib.h

-   typedef voidp gzFile;       /* opaque gzip file descriptor */
+ typedef struct gzFile_s *gzFile;    /* semi-opaque gzip file descriptor */

since gzFile is changed from void * to gzFile_s *, implicit casting from FILE * to gzFile_s * will not work

open Pixie/src/ri/ribOut.h and modify
line 240 becomes : if (outputCompressed)    gzwrite((gzFile)outFile,scratch,l);
line 261 becomes : if (outputCompressed)    gzwrite((gzFile)outFile,scratch,l);

Offline

#3 2012-02-23 21:12:04

martega
Member
Registered: 2012-02-21
Posts: 3

Re: Error when installing Pixie through yaourt

Thanks for the help.  After I made the changes you said to do I tried to make the package again but I got a couple of different errors.  These errors were essentially the same problem as before but repeated in other files.  I fixed as many of these as I could by casting gzFile however I stumbled upon one that I can't seem to fix.  Here is the error and the code the error refers to below.  In the code below you can see where I added the (gzFile) cast.  After adding the cast and trying to rebuild the package I got the same error.  Its as if the cast did not affect anything.    How would I go about fixing this error?

ERROR MESSAGE
--------------------------
In file included from rib.y:2835:0:
lex.rib.cpp: In function ‘int yy_get_next_buffer()’:
lex.rib.cpp:2392:3: error: cannot convert ‘FILE* {aka _IO_FILE*}’ to ‘gzFile’ for argument ‘1’ to ‘int gzread(gzFile, voidp, unsigned int)’

CODE
---------
2391       /* Read in more data. */
2392       YY_INPUT( (gzFile)(&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2393          (yy_n_chars), (size_t) num_to_read );

Offline

Board footer

Powered by FluxBB