Skip to content

gem install fluent-plugin-named_pipe looking for mkfifo dependency #10

@jatakiajanvi12

Description

@jatakiajanvi12

Trying to install this using gem on a Windows machine with ruby 3.1.0. But getting error with mkfifo. It is already available from ruby > 2.3.0.

`gem install fluent-plugin-named_pipe -v 0.2.0
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR: Error installing fluent-plugin-named_pipe:
ERROR: Failed to build gem native extension.

current directory: C:/ruby31/lib/ruby/gems/3.1.0/gems/mkfifo-0.1.1/ext

C:/ruby31/bin/ruby.exe -I C:/ruby31/lib/ruby/3.1.0 -r ./siteconf20221012-7252-ux1epl.rb extconf.rb
creating Makefile

current directory: C:/ruby31/lib/ruby/gems/3.1.0/gems/mkfifo-0.1.1/ext
make DESTDIR= clean

current directory: C:/ruby31/lib/ruby/gems/3.1.0/gems/mkfifo-0.1.1/ext
make DESTDIR=
generating mkfifo-x64-mingw-ucrt.def
compiling mkfifo.c
mkfifo.c: In function 'rb_cFile_mkfifo':
mkfifo.c:30:9: warning: implicit declaration of function 'mkfifo' [-Wimplicit-function-declaration]
30 | if (mkfifo(RSTRING_PTR(name), S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP) < 0) {
| ^~~~~~
linking shared-object mkfifo.so
C:/ruby31/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mkfifo.o:mkfifo.c:(.
text+0x82): undefined reference to `mkfifo'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:263: mkfifo.so] Error 1

make failed, exit code 2

Gem files will remain installed in C:/ruby31/lib/ruby/gems/3.1.0/gems/mkfifo-0.1.1 for inspection.
Results logged to C:/ruby31/lib/ruby/gems/3.1.0/extensions/x64-mingw-ucrt/3.1.0/mkfifo-0.1.1/gem_make.out`

Is there a way to remove this dependency on mkfifo? Or any other solution you propose?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions