Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-47140

[RHEL10] FTBFS: perl-Net-Server build failed with disabled OpenSSL Engine API

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • rhel-10.0.beta
    • rhel-10.0.beta
    • perl-Net-Server
    • None
    • perl-Net-Server-2.014-7.el10
    • None
    • None
    • rhel-sst-cs-stacks
    • ssg_core_services
    • 24
    • 26
    • 8
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None

      Rebuild of perl-Net-Server is failing with perl-Net-SSLeay built without support OpenSSL ENGINE API (RHEL-33744). The ENGINE_load_builtin_engines and ENGINE_register_all_complete are not provided from Net-SSLeay.

      # perl -Iblib/lib -Iblib/arch t/Port_Configuration.t
      1..51
      ok 1 - use Net::Server
      ok 2 - run ( )  ==>  [ '*|20203|TCP|ipv4' ]
      ok 3 - run ( port => 20201 )  ==>  [ '*|20201|TCP|ipv4' ]
      ok 4 - run ( port => 'localhost:20202' )  ==>  [ 'localhost|20202|TCP|ipv4' ]
      ok 5 - run ( port => ['localhost:20202/tcp'] )  ==>  [ 'localhost|20202|TCP|ipv4' ]
      ok 6 - run ( port => 'localhost:20202/ipv4' )  ==>  [ 'localhost|20202|TCP|ipv4' ]
      ok 7 - run ( port => ['localhost:20201/ipv4/tcp', 'localhost:20202/tcp/IPv4'] )  ==>  [ 'localhost|20201|TCP|ipv4', 'localhost|20202|TCP|ipv4' ]
      ok 8 - run ( port => ['localhost|20201|ipv4|tcp', 'localhost,20202,tcp,IPv4'] )  ==>  [ 'localhost|20201|TCP|ipv4', 'localhost|20202|TCP|ipv4' ]
      ok 9 - run ( port => ['localhost 20201 ipv4 tcp', 'localhost, 20202, tcp, IPv4'] )  ==>  [ 'localhost|20201|TCP|ipv4', 'localhost|20202|TCP|ipv4' ]
      ok 10 - run ( port => 'localhost:20202/udp' )  ==>  [ 'localhost|20202|UDP|ipv4' ]
      ok 11 - run ( listen => 5, port => 20202 )  ==>  [ '*|20202|TCP|ipv4' ]
      ok 12 - run ( port => ['bar.com:20201/udp', 'foo.com:20202/tcp'] )  ==>  [ 'bar.com|20201|UDP|ipv4', 'foo.com|20202|TCP|ipv4' ]
      ok 13 - run ( host => 'bar.com', port => 20201, proto => 'UDP' )  ==>  [ 'bar.com|20201|UDP|ipv4' ]
      ok 14 - run { host => 'bar.com', port => 20201, proto => 'UDP', udp_recv_len => 400 }  ==>  [ 'bar.com|20201|UDP|ipv4' ]
      ok 15 - new ( host => 'bar.com', port => 20201, proto => 'UDP' )  ==>  [ 'bar.com|20201|UDP|ipv4' ]
      ok 16 - new { host => 'bar.com', port => 20201, proto => 'UDP' }  ==>  [ 'bar.com|20201|UDP|ipv4' ]
      ok 17 - run ( host => 'bar.com', port => [20201, 'foo.com:20202/tcp'], proto => 'UDP' )  ==>  [ 'bar.com|20201|UDP|ipv4', 'foo.com|20202|TCP|ipv4' ]
      ok 18 - run ( port => ['localhost|20202|tcp'] )  ==>  [ 'localhost|20202|TCP|ipv4' ]
      ok 19 - run ( port => ['localhost,20202,tcp'] )  ==>  [ 'localhost|20202|TCP|ipv4' ]
      ok 20 - run ( port => ['[localhost]:20202/tcp'] )  ==>  [ 'localhost|20202|TCP|ipv4' ]
      ok 21 - run ( port => ['localhost,20202,Net::Server::Proto::TCP'] )  ==>  [ 'localhost|20202|TCP|ipv4' ]
      ok 22 - run ( port => { host => '*', port => 20201, proto => 'tcp' } )  ==>  [ '*|20201|TCP|ipv4' ]
      ok 23 - run ( port => [{ host => '*', port => 20201, proto => 'tcp' }] )  ==>  [ '*|20201|TCP|ipv4' ]
      ok 24 - run ( port => [{ host => 'foo.com', port => 20201, proto => 'udp' }] )  ==>  [ 'foo.com|20201|UDP|ipv4' ]
      ok 25 - run ( host => 'foo.com', port => [{ host => 'foo.com', port => 20201, proto => 'udp' }], proto => 'udp' )  ==>  [ 'foo.com|20201|UDP|ipv4' ]
      ok 26 - run ( port => [{ host => '*', listen => 6, port => 20202, proto => 'tcp' }] )  ==>  [ '*|20202|TCP|ipv4' ]
      ok 27 - run ( port => 'foo/bar/unix' )  ==>  [ '*|foo/bar|UNIX|*' ]
      ok 28 - run ( port => '/foo/bar|unix', udp_recv_len => 500 )  ==>  [ '*|/foo/bar|UNIX|*' ]
      ok 29 - run ( port => '/foo/bar|unixdgram', udp_recv_len => 500 )  ==>  [ '*|/foo/bar|UNIXDGRAM|*' ]
      ok 30 - run ( port => 'foo/bar|sock_dgram|unix' )  ==>  [ '*|foo/bar|UNIXDGRAM|*' ]
      ok 31 - run ( port => { host => '*', listen => 7, port => '/foo/bar', proto => 'unix', unix_type => 'sock_stream' } )  ==>  [ '*|/foo/bar|UNIX|*' ]
      ok 32 - run ( port => { host => '*', port => '/foo/bar', proto => 'unix', unix_type => 'sock_dgram' } )  ==>  [ '*|/foo/bar|UNIXDGRAM|*' ]
      ok 33 - run ( port => { host => '*', port => '/foo/bar', proto => 'unixdgram' } )  ==>  [ '*|/foo/bar|UNIXDGRAM|*' ]
      ok 34 - run ( ipv => '*', port => 'foo/bar/unix' )  ==>  [ '*|foo/bar|UNIX|*' ]
      # Unable to load module for proto "Net::Server::Proto::SSLEAY": Can't use an undefined value as a subroutine reference at blib/lib/Net/Server/Proto/SSLEAY.pm line 31.
      BEGIN failed--compilation aborted at blib/lib/Net/Server/Proto/SSLEAY.pm line 34.
      Compilation failed in require at blib/lib/Net/Server/Proto.pm line 195.
       at line 318
      # Failed at line 318
      

      The code in lib/Net/Server/Proto/SSLEAY.pm has to be updated

          eval { require Net::SSLeay; 1 }
              or warn "Module Net::SSLeay is required for SSLeay.";
          for my $sub (qw(load_error_strings SSLeay_add_ssl_algorithms ENGINE_load_builtin_engines ENGINE_register_all_complete randomize)) {
              Net::SSLeay->can($sub)->();
          }
      

              jplesnik@redhat.com Jitka Plesnikova
              jplesnik@redhat.com Jitka Plesnikova
              perl-maint-list perl-maint-list
              Martin Kyral Martin Kyral
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: