Build Error: IO-Interface 1.09 for Perl 5.28.1 on Windows

Looking for help with this package that is failing to build in my project.

I began with the standard ActivePerl-5.28, and started by adding one package, the common IO::Socket::Multicast package. All it does is add convenience facilities for the multicast networking already provided by IO::Socket and Sockets.

However, this causing the build to fail. The underlying IO-Interface package will not build with IO-Socket-Multicast.

The process does not give me any useful error message that I can see, simply that the package “Failed to build”.

I tried to fix it by changing all the IO related package versions from their defaults to ‘Any’ version, hoping auto-detection would resolve any conflicts. This had no change in outcome.

Runtime Details

Failing Packages

  • IO-Interface 1.09


  • Build failures: module IO-Interface

Hey @kramsey1966,

Looks like you’ve been busy! IO-Interface appears to be building successfully now in your project. Any chance you could post back here what change you make achieved that? When you find it, can you post it back here? That would be greatly appreciated!

  • Carey
1 Like

I don’t know what you’re seeing. You’re seeing my build as successful? It’s still won’t build from what I see. The IO-Interface module still fails.

hey @kramsey1966,

Bah, my apologies. I may have been looking at the Linux build. I also see that it’s failing. I’ve asked the team if there is a workaround but it looks like a missing or incorrect header file that it’s looking for. I grabbed the logs form your build (community access to more detailed logs is coming).

Downloading: IO-Interface-1.09.tar.gz from: platform-sources ... Completed.
>>> make_path untar-IO-Interface-1.09-tmp3972
>>> cd untar-IO-Interface-1.09-tmp3972
>>> gzip -c -d C:\Temp/distfiles/CPAN/platform-sources/data-acquisition/e63e81c52eb1e0e60ec2d983f5552d2493e117179925c96757f23c4bd9fa713a/IO-Interface-1.09.tar.gz | tar xf -
>>> cd c:/build/camel/work
>>> mv untar-IO-Interface-1.09-tmp3972\IO-Interface-1.09 IO-Interface/src-IO-Interface-1.09
>>> rm -rf untar-IO-Interface-1.09-tmp3972
>>> rm -rf IO-Interface/src-IO-Interface-1.09
Build IO-Interface...
>>> C:\Temp\ActiveState-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\bin\perl.exe -IC:/build/camel/work/../lib Build.PL
>>> cd IO-Interface && C:\Temp\ActiveState-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\bin\perl.exe Build code POD2HTML=$(NOOP)
gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 "-DVERSION=\"1.09\"" "-DXS_VERSION=\"1.09\"" -I"C:\Temp\ActiveState-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\lib\CORE" -I"C:\MinGW\x86_64-w64-mingw32\include" -o "lib\IO\Interface.o" "lib\IO\Interface.c"
lib\\IO\\Interface.xs:16:23: fatal error: sys/ioctl.h: No such file or directory
compilation terminated.
error building dll file from 'lib\IO\Interface.c' at C:/Temp/ActiveState-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/site/lib/ExtUtils/CBuilder/Platform/ line 128.
[WARN] Command exits with 2:
  cd IO-Interface && C:\Temp\ActiveState-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\bin\perl.exe Build code POD2HTML=$(NOOP)
  stopped at C:/build/camel/lib/ActivePerl/Build/Role/ line 201.

[WARN] Adding build failure: module IO-Interface, full list:
module IO-Interface

I’ll report back if the team has a solution and I’ll file a bug for them as well.

Sorry for the confusing first message!

  • Carey

How does one know if/when this issue gets resolved? This is a terrible model. It takes a half hour just to see it fail. All I was interested in was taking a release (5.28) and adding a module. The only way I know how to do this currently is fork the release and then attempt to build everything. There surely must be an easier way. How I long for the old ActiveState.

@arkane, this thread will be updated when the issue is resolved.