lock_cda n00b
Joined: 03 Mar 2007 Posts: 14
|
Posted: Sun Feb 12, 2017 6:07 pm Post subject: [SOLVED] Compile gfs2-utils-3.1.5 |
|
|
Hi,
I needed to install gfs2-utils-3.1.5, but it didn't compile with the error message:
Code: | parser.h:89:46: error: unknown type name ‘yyscan_t’
int yyparse (struct lgfs2_lang_state *state, yyscan_t lexer);
^
make[3]: *** [Makefile:627: libgfs2_la-lang.lo] Error 1
make[3]: Leaving directory '/var/tmp/portage/sys-fs/gfs2-utils-3.1.5/work/gfs2-utils/gfs2/libgfs2'
make[2]: *** [Makefile:398: all] Error 2
make[2]: Leaving directory '/var/tmp/portage/sys-fs/gfs2-utils-3.1.5/work/gfs2-utils/gfs2/libgfs2'
make[1]: *** [Makefile:403: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-fs/gfs2-utils-3.1.5/work/gfs2-utils/gfs2'
make: *** [Makefile:458: all-recursive] Error 1
|
It wasn't easy to fix it (I had to do a lot of research) and maybe my solution can help others. After a lot of research, I found that patch which solves the problems: https://github.com/OpenSDE/package-nopast/blob/master/filesystem/gfs2-utils/gfs2-utils-0001-bison26.patch .
In order to apply the patch with emerge, you should create the patch directory for gfs2-utils-3.1.5:
Code: | # mkdir /etc/portage/patches/sys-fs/gfs2-utils-3.1.5/
|
It would also work if you just create the directory /etc/portage/patches/sys-fs/gfs2-utils, but then you'd apply the patch to any gfs2-utils package (not only 3.1.5) and I don't know if the patch works for other versions.
Then you should download the raw patch (or copy paste it from the browser) to a file in that directory. I named the file bison-lexer.patch, so my full path for the patch is:
Code: | # ls /etc/portage/patches/sys-fs/gfs2-utils-3.1.5/bison-lexer.patch
|
And now you can compile gfs2-utils-3.1.5 with emerge:
Code: | # emerge -av sys-fs/gfs2-utils
|
Hope it helps.
PD: I'm sorry for my bad english... |
|