gprofng: fix bug 29351 - Move dynamic loading of modules to a later stage
authorRuud van der Pas <ruud.vanderpas@oracle.com>
Fri, 22 Jul 2022 13:32:51 +0000 (06:32 -0700)
committerVladimir Mezentsev <vladimir.mezentsev@oracle.com>
Mon, 25 Jul 2022 22:05:49 +0000 (15:05 -0700)
gprofng/Changelog:
2022-07-22  Ruud van der Pas  <ruud.vanderpas@oracle.com>

PR gprofng/29351
* gp-display-html/gp-display-html.in: the dynamic loading of
modules occurred too early, resulting in the generation of the
man page to fail in case a module is missing; the loading part is
now done somewhat later in the execution to avoid this problem.

gprofng/gp-display-html/gp-display-html.in

index 54a87d7a3c7e92266ac97c59e934c6d9fc3d0303..9b207b99aa8567d45a2772e31052c7f545a53365 100644 (file)
@@ -8852,6 +8852,8 @@ sub handle_module_availability
 {
   my $subr_name = get_my_name ();
 
+  gp_message ("verbose", $subr_name, "Handling module requirements");
+
 #------------------------------------------------------------------------------
 # This is clunky at best, but there is a chicken egg problem here.  For the
 # man page to be generated, the --help and --version options need to work,
@@ -8868,7 +8870,9 @@ sub handle_module_availability
                       "List::Util", 
                       "Cwd", 
                       "File::Basename", 
+                      "File::stat", 
                       "POSIX", 
+                      "bigint", 
                       "bignum");
 
   my @missing_modules = ();
@@ -8895,12 +8899,17 @@ sub handle_module_availability
             {
               $cmd = $m . "->import ( qw (min max))";
             }
+          elsif ($m eq "bigint")
+            {
+              $cmd = $m . "->import ( qw (hex))";
+            }
           else
             {
               $cmd = $m . "->import";
             }
           $cmd .= ";";
           $result = eval ("$cmd");
+          gp_message ("debugM", $subr_name, "cmd = $cmd");
         }
       else
         {