Jump to content

Mike Smith

Member Since 06 Sep 2019
Offline Last Active Sep 06 2019 10:36 PM

Topics I've Started

P4Ruby gem errors out on install

06 September 2019 - 05:59 PM

Starting on Thursday (2019.09.05) we noticed that the p4ruby gem no longer installs. Looking at the logs we get the following (note I replaced my home directory with ~):

Building native extensions. This could take a while...
ERROR:  Error installing p4ruby:
ERROR: Failed to build gem native extension.

current directory: ~/.rvm/gems/ruby-2.3.8/gems/p4ruby-2017.1.1699426/ext/P4
~/.rvm/rubies/ruby-2.3.8/bin/ruby -r ./siteconf20190905-32375-1n916i4.rb extconf.rb
p4osname LINUX
p4osver 44
$CFLAGS $(cflags)  -fPIC
checking for main() in -lsupc++... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:243:in `initialize': Connection timed out - connect(2) for "ftp.perforce.com" port 10106 (Errno::ETIMEDOUT)
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:243:in `open'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:243:in `block in open_socket'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/timeout.rb:74:in `timeout'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:238:in `open_socket'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:420:in `transfercmd'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:504:in `block (2 levels) in retrbinary'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:214:in `with_binary'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:502:in `block in retrbinary'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:501:in `retrbinary'
from ~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:635:in `getbinaryfile'
from extconf.rb:508:in `download_api_via_ftp'
from extconf.rb:363:in `resolve_p4api_dir'
from extconf.rb:549:in `<main>'
$LDFLAGS -L. -fstack-protector -rdynamic -Wl,-export-dynamic
downloading p4api.tgz from perforce/r17.2/bin.linux26x86_64 on ftp.perforce.com

Now today Friday (2019.09.06) we get a similar error but we one small change:

~/.rvm/rubies/ruby-2.3.8/lib/ruby/2.3.0/net/ftp.rb:243:in `initialize': Connection timed out - connect(2) for "" port 10106 (Errno::ETIMEDOUT)

The ftp.perforce.com address changed to an IP address.

Looks like the gem is trying to get a file call: perforce/r17.2/bin.linux26x86_64 on the Perforce ftp server while installing. I can navigate to the file on the ftp server (ftp.perforce.com) in a web browser, but the gem seems to have trouble getting the file. Does anyone else have this problem?