--- /srv/rebuilderd/tmp/rebuilderdouZGWr/inputs/openmpi-bin_5.0.7-1_amd64.deb +++ /srv/rebuilderd/tmp/rebuilderdouZGWr/out/openmpi-bin_5.0.7-1_amd64.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2025-02-17 13:09:46.000000 debian-binary │ --rw-r--r-- 0 0 0 2200 2025-02-17 13:09:46.000000 control.tar.xz │ --rw-r--r-- 0 0 0 186540 2025-02-17 13:09:46.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 2204 2025-02-17 13:09:46.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 186684 2025-02-17 13:09:46.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── file list │ │ │ @@ -1,6 +1,6 @@ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./ │ │ │ -rw-r--r-- 0 root (0) root (0) 164 2025-02-17 13:09:46.000000 ./conffiles │ │ │ -rw-r--r-- 0 root (0) root (0) 1602 2025-02-17 13:09:46.000000 ./control │ │ │ --rw-r--r-- 0 root (0) root (0) 1803 2025-02-17 13:09:46.000000 ./md5sums │ │ │ +-rw-r--r-- 0 root (0) root (0) 1854 2025-02-17 13:09:46.000000 ./md5sums │ │ │ -rwxr-xr-x 0 root (0) root (0) 1487 2025-02-17 13:09:46.000000 ./postinst │ │ │ -rwxr-xr-x 0 root (0) root (0) 205 2025-02-17 13:09:46.000000 ./prerm │ │ ├── ./control │ │ │ @@ -1,13 +1,13 @@ │ │ │ Package: openmpi-bin │ │ │ Source: openmpi │ │ │ Version: 5.0.7-1 │ │ │ Architecture: amd64 │ │ │ Maintainer: Debian Science Maintainers │ │ │ -Installed-Size: 744 │ │ │ +Installed-Size: 748 │ │ │ Depends: libc6 (>= 2.38), libevent-core-2.1-7t64 (>= 2.1.8-stable), libhwloc15 (>= 2.11.2), libopenmpi40 (>= 5.0.7), libpmix2t64 (>= 5.0.6), openmpi-common (>= 5.0.7-1), openssh-client | ssh-client │ │ │ Suggests: gfortran | fortran-compiler │ │ │ Conflicts: openmpi-bin │ │ │ Breaks: lam4-dev (<< 7.1.4-4), libmpich-dev (<< 3.3~b1-5), libopenmpi-dev (<< 4.0.5-3), mpich (<< 3.3~b1-5) │ │ │ Replaces: libopenmpi-dev (<< 4.0.5-3) │ │ │ Section: net │ │ │ Priority: optional │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ │ │ │ ├── line order │ │ │ │ @@ -1,7 +1,8 @@ │ │ │ │ +usr/bin/mpijavac │ │ │ │ usr/bin/mpijavac.pl │ │ │ │ usr/bin/mpirun.openmpi │ │ │ │ usr/bin/ompi_info │ │ │ │ usr/bin/opal_wrapper │ │ │ │ usr/bin/oshmem_info │ │ │ │ usr/bin/prte │ │ │ │ usr/bin/prte_info ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -4,14 +4,15 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 3357 2025-02-17 13:09:46.000000 ./etc/openmpi/openmpi-mca-params.conf │ │ │ -rw-r--r-- 0 root (0) root (0) 1441 2025-02-17 13:09:46.000000 ./etc/openmpi/openmpi-totalview.tcl │ │ │ -rw-r--r-- 0 root (0) root (0) 1720 2025-02-17 13:09:46.000000 ./etc/openmpi/prte-default-hostfile │ │ │ -rw-r--r-- 0 root (0) root (0) 2570 2025-02-17 13:09:46.000000 ./etc/openmpi/prte-mca-params.conf │ │ │ -rw-r--r-- 0 root (0) root (0) 3154 2025-02-17 13:09:46.000000 ./etc/openmpi/prte.conf │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/ │ │ │ +-rwxr-xr-x 0 root (0) root (0) 4813 2025-02-17 13:09:46.000000 ./usr/bin/mpijavac │ │ │ -rwxr-xr-x 0 root (0) root (0) 4813 2025-02-17 13:09:46.000000 ./usr/bin/mpijavac.pl │ │ │ -rwxr-xr-x 0 root (0) root (0) 208848 2025-02-17 13:09:46.000000 ./usr/bin/mpirun.openmpi │ │ │ -rwxr-xr-x 0 root (0) root (0) 31312 2025-02-17 13:09:46.000000 ./usr/bin/ompi_info │ │ │ -rwxr-xr-x 0 root (0) root (0) 217104 2025-02-17 13:09:46.000000 ./usr/bin/opal_wrapper │ │ │ -rwxr-xr-x 0 root (0) root (0) 31280 2025-02-17 13:09:46.000000 ./usr/bin/oshmem_info │ │ │ -rwxr-xr-x 0 root (0) root (0) 44424 2025-02-17 13:09:46.000000 ./usr/bin/prte │ │ │ -rwxr-xr-x 0 root (0) root (0) 36600 2025-02-17 13:09:46.000000 ./usr/bin/prte_info │ │ │ @@ -45,15 +46,14 @@ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpic++.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpicc.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpicxx.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpiexec.openmpi -> mpirun.openmpi │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpif77.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpif90.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpifort.openmpi -> opal_wrapper │ │ │ -lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/mpijavac -> mpijavac.pl │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/oshCC -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/oshc++ -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/oshcc -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/oshcxx -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/oshfort -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/oshrun -> mpirun.openmpi │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-02-17 13:09:46.000000 ./usr/bin/prterun -> prte │ │ ├── ./usr/bin/mpijavac │ │ │ @@ -1,2 +1,301 @@ │ │ │ -00000000: 6465 7374 696e 6174 696f 6e3a 206d 7069 destination: mpi │ │ │ -00000010: 6a61 7661 632e 706c 0a javac.pl. │ │ │ +00000000: 2321 202f 7573 722f 6269 6e2f 7065 726c #! /usr/bin/perl │ │ │ +00000010: 0a0a 2320 5741 524e 494e 473a 2044 4f20 ..# WARNING: DO │ │ │ +00000020: 4e4f 5420 4544 4954 2054 4845 206d 7069 NOT EDIT THE mpi │ │ │ +00000030: 6a61 7661 2e70 6c20 4649 4c45 2041 5320 java.pl FILE AS │ │ │ +00000040: 4954 2049 5320 4745 4e45 5241 5445 4421 IT IS GENERATED! │ │ │ +00000050: 0a23 2020 2020 2020 2020 2020 4d41 4b45 .# MAKE │ │ │ +00000060: 2041 4c4c 2043 4841 4e47 4553 2049 4e20 ALL CHANGES IN │ │ │ +00000070: 6d70 696a 6176 612e 706c 2e69 6e0a 0a23 mpijava.pl.in..# │ │ │ +00000080: 2043 6f70 7972 6967 6874 2028 6329 2032 Copyright (c) 2 │ │ │ +00000090: 3031 312d 3230 3133 2043 6973 636f 2053 011-2013 Cisco S │ │ │ +000000a0: 7973 7465 6d73 2c20 496e 632e 2020 416c ystems, Inc. Al │ │ │ +000000b0: 6c20 7269 6768 7473 2072 6573 6572 7665 l rights reserve │ │ │ +000000c0: 642e 0a23 2043 6f70 7972 6967 6874 2028 d..# Copyright ( │ │ │ +000000d0: 6329 2032 3031 3220 2020 2020 204f 7261 c) 2012 Ora │ │ │ +000000e0: 636c 6520 616e 642f 6f72 2069 7473 2061 cle and/or its a │ │ │ +000000f0: 6666 696c 6961 7465 732e 2020 416c 6c20 ffiliates. All │ │ │ +00000100: 7269 6768 7473 2072 6573 6572 7665 642e rights reserved. │ │ │ +00000110: 0a0a 7573 6520 7374 7269 6374 3b0a 0a23 ..use strict;..# │ │ │ +00000120: 2054 6865 206d 6169 6e20 7075 7270 6f73 The main purpos │ │ │ +00000130: 6520 6f66 2074 6869 7320 7772 6170 7065 e of this wrappe │ │ │ +00000140: 7220 636f 6d70 696c 6572 2069 7320 746f r compiler is to │ │ │ +00000150: 2063 6865 636b 2066 6f72 0a23 2061 6e64 check for.# and │ │ │ +00000160: 2061 646a 7573 7420 7468 6520 4a61 7661 adjust the Java │ │ │ +00000170: 2063 6c61 7373 2070 6174 6820 746f 2069 class path to i │ │ │ +00000180: 6e63 6c75 6465 2074 6865 204f 4d50 4920 nclude the OMPI │ │ │ +00000190: 636c 6173 7365 730a 2320 696e 206d 7069 classes.# in mpi │ │ │ +000001a0: 2e6a 6172 2e20 5468 6520 7573 6572 206d .jar. The user m │ │ │ +000001b0: 6179 2068 6176 6520 7370 6563 6966 6965 ay have specifie │ │ │ +000001c0: 6420 6120 636c 6173 7320 7061 7468 206f d a class path o │ │ │ +000001d0: 6e0a 2320 6f75 7220 636d 6420 6c69 6e65 n.# our cmd line │ │ │ +000001e0: 2c20 6f72 2069 7420 6d61 7920 6265 2069 , or it may be i │ │ │ +000001f0: 6e20 7468 6520 656e 7669 726f 6e6d 656e n the environmen │ │ │ +00000200: 742c 2073 6f20 7765 2068 6176 650a 2320 t, so we have.# │ │ │ +00000210: 746f 2063 6865 636b 2066 6f72 2062 6f74 to check for bot │ │ │ +00000220: 682e 2057 6520 616c 736f 206e 6565 6420 h. We also need │ │ │ +00000230: 746f 2062 6520 6361 7265 6675 6c20 6e6f to be careful no │ │ │ +00000240: 7420 746f 0a23 206a 7573 7420 6f76 6572 t to.# just over │ │ │ +00000250: 7269 6465 2074 6865 2063 6c61 7373 2070 ride the class p │ │ │ +00000260: 6174 6820 6173 2069 7420 7072 6f62 6162 ath as it probab │ │ │ +00000270: 6c79 2069 6e63 6c75 6465 7320 636c 6173 ly includes clas │ │ │ +00000280: 7365 730a 2320 7468 6579 206e 6565 6420 ses.# they need │ │ │ +00000290: 666f 7220 7468 6569 7220 6170 706c 6963 for their applic │ │ │ +000002a0: 6174 696f 6e21 2049 7420 616c 736f 206d ation! It also m │ │ │ +000002b0: 6179 2061 6c72 6561 6479 2069 6e63 6c75 ay already inclu │ │ │ +000002c0: 6465 0a23 2074 6865 2070 6174 6820 746f de.# the path to │ │ │ +000002d0: 206d 7069 2e6a 6172 2c20 616e 6420 7768 mpi.jar, and wh │ │ │ +000002e0: 696c 6520 6974 2064 6f65 736e 2774 2068 ile it doesn't h │ │ │ +000002f0: 7572 7420 616e 7974 6869 6e67 2c20 7765 urt anything, we │ │ │ +00000300: 0a23 2064 6f6e 2774 2077 616e 7420 746f .# don't want to │ │ │ +00000310: 2069 6e63 6c75 6465 206f 7572 2063 6c61 include our cla │ │ │ +00000320: 7373 2070 6174 6820 6d6f 7265 2074 6861 ss path more tha │ │ │ +00000330: 6e20 6f6e 6365 2074 6f20 6176 6f69 640a n once to avoid. │ │ │ +00000340: 2320 7573 6572 2061 7374 6f6e 6973 686d # user astonishm │ │ │ +00000350: 656e 740a 0a23 204c 6574 2074 6865 2062 ent..# Let the b │ │ │ +00000360: 7569 6c64 2073 7973 7465 6d20 7072 6f76 uild system prov │ │ │ +00000370: 6964 6520 7573 2077 6974 6820 736f 6d65 ide us with some │ │ │ +00000380: 2063 7269 7469 6361 6c20 7661 6c75 6573 critical values │ │ │ +00000390: 0a6d 7920 246d 795f 636f 6d70 696c 6572 .my $my_compiler │ │ │ +000003a0: 203d 2022 2f75 7372 2f6c 6962 2f6a 766d = "/usr/lib/jvm │ │ │ +000003b0: 2f64 6566 6175 6c74 2d6a 6176 612f 6269 /default-java/bi │ │ │ +000003c0: 6e2f 6a61 7661 6322 3b0a 6d79 2024 6d70 n/javac";.my $mp │ │ │ +000003d0: 695f 6a61 7220 2020 3d20 222f 7573 722f i_jar = "/usr/ │ │ │ +000003e0: 6c69 622f 7838 365f 3634 2d6c 696e 7578 lib/x86_64-linux │ │ │ +000003f0: 2d67 6e75 2f6f 7065 6e6d 7069 2f6c 6962 -gnu/openmpi/lib │ │ │ +00000400: 2f6d 7069 2e6a 6172 223b 0a6d 7920 2473 /mpi.jar";.my $s │ │ │ +00000410: 686d 656d 5f6a 6172 203d 2022 2f75 7372 hmem_jar = "/usr │ │ │ +00000420: 2f6c 6962 2f78 3836 5f36 342d 6c69 6e75 /lib/x86_64-linu │ │ │ +00000430: 782d 676e 752f 6f70 656e 6d70 692f 6c69 x-gnu/openmpi/li │ │ │ +00000440: 622f 7368 6d65 6d2e 6a61 7222 3b0a 0a23 b/shmem.jar";..# │ │ │ +00000450: 2067 6c6f 6261 6c73 0a6d 7920 2473 686f globals.my $sho │ │ │ +00000460: 776d 655f 6172 6720 3d20 303b 0a6d 7920 wme_arg = 0;.my │ │ │ +00000470: 2476 6572 626f 7365 203d 2030 3b0a 6d79 $verbose = 0;.my │ │ │ +00000480: 2024 6d79 5f61 7267 3b0a 0a23 2043 616e $my_arg;..# Can │ │ │ +00000490: 6e6f 7420 7573 6520 7468 6520 7573 7561 not use the usua │ │ │ +000004a0: 6c20 4765 744f 7074 7320 6c69 6272 6172 l GetOpts librar │ │ │ +000004b0: 7920 6173 2074 6865 2075 7365 7220 6d69 y as the user mi │ │ │ +000004c0: 6768 740a 2320 6265 2070 6173 7369 6e67 ght.# be passing │ │ │ +000004d0: 202d 6f70 7469 6f6e 7320 746f 2074 6865 -options to the │ │ │ +000004e0: 204a 6176 6120 636f 6d70 696c 6572 2120 Java compiler! │ │ │ +000004f0: 536f 2068 6176 6520 746f 0a23 2070 6172 So have to.# par │ │ │ +00000500: 7365 2074 6865 206f 7074 696f 6e73 206f se the options o │ │ │ +00000510: 7572 7365 6c76 6573 2074 6f20 6c6f 6f6b urselves to look │ │ │ +00000520: 2066 6f72 2068 656c 7020 616e 6420 7368 for help and sh │ │ │ +00000530: 6f77 6d65 0a6d 7920 4073 6176 655f 6172 owme.my @save_ar │ │ │ +00000540: 6773 3b0a 666f 7265 6163 6820 246d 795f gs;.foreach $my_ │ │ │ +00000550: 6172 6720 2840 4152 4756 2920 7b0a 2020 arg (@ARGV) {. │ │ │ +00000560: 2020 6966 2028 246d 795f 6172 6720 6571 if ($my_arg eq │ │ │ +00000570: 2022 2d68 2220 7c7c 0a20 2020 2020 2020 "-h" ||. │ │ │ +00000580: 2024 6d79 5f61 7267 2065 7120 222d 2d68 $my_arg eq "--h │ │ │ +00000590: 2220 7c7c 0a20 2020 2020 2020 2024 6d79 " ||. $my │ │ │ +000005a0: 5f61 7267 2065 7120 222d 6865 6c70 2220 _arg eq "-help" │ │ │ +000005b0: 7c7c 0a20 2020 2020 2020 2024 6d79 5f61 ||. $my_a │ │ │ +000005c0: 7267 2065 7120 222d 2d68 656c 7022 2920 rg eq "--help") │ │ │ +000005d0: 7b0a 2020 2020 2020 2020 7072 696e 7420 {. print │ │ │ +000005e0: 224f 7074 696f 6e73 3a0a 2020 2d2d 7368 "Options:. --sh │ │ │ +000005f0: 6f77 6d65 2020 2020 2020 2020 2020 2020 owme │ │ │ +00000600: 2020 2020 2020 2020 2020 5368 6f77 2074 Show t │ │ │ +00000610: 6865 2077 7261 7070 6572 2063 6f6d 7069 he wrapper compi │ │ │ +00000620: 6c65 7220 636f 6d6d 616e 6420 7769 7468 ler command with │ │ │ +00000630: 6f75 7420 6578 6563 7574 696e 6720 6974 out executing it │ │ │ +00000640: 0a20 202d 2d76 6572 626f 7365 2020 2020 . --verbose │ │ │ +00000650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00000660: 2053 686f 7720 7468 6520 7772 6170 7065 Show the wrappe │ │ │ +00000670: 7220 636f 6d70 696c 6572 2063 6f6d 6d61 r compiler comma │ │ │ +00000680: 6e64 202a 616e 642a 2065 7865 6375 7465 nd *and* execute │ │ │ +00000690: 2069 740a 2020 2d2d 6865 6c70 207c 202d it. --help | - │ │ │ +000006a0: 6820 2020 2020 2020 2020 2020 2020 2020 h │ │ │ +000006b0: 2020 2020 5468 6973 2068 656c 7020 6c69 This help li │ │ │ +000006c0: 7374 5c6e 223b 0a20 2020 2020 2020 2065 st\n";. e │ │ │ +000006d0: 7869 7428 3029 3b0a 2020 2020 7d20 656c xit(0);. } el │ │ │ +000006e0: 7369 6620 2824 6d79 5f61 7267 2065 7120 sif ($my_arg eq │ │ │ +000006f0: 222d 2d73 686f 776d 6522 2920 7b0a 2020 "--showme") {. │ │ │ +00000700: 2020 2020 2020 2473 686f 776d 655f 6172 $showme_ar │ │ │ +00000710: 6720 3d20 313b 0a20 2020 207d 2065 6c73 g = 1;. } els │ │ │ +00000720: 6966 2028 246d 795f 6172 6720 6571 2022 if ($my_arg eq " │ │ │ +00000730: 2d2d 7665 7262 6f73 6522 2920 7b0a 2020 --verbose") {. │ │ │ +00000740: 2020 2020 2020 2476 6572 626f 7365 203d $verbose = │ │ │ +00000750: 2031 3b0a 2020 2020 7d20 656c 7365 207b 1;. } else { │ │ │ +00000760: 0a20 2020 2020 2020 2070 7573 6828 4073 . push(@s │ │ │ +00000770: 6176 655f 6172 6773 2c20 246d 795f 6172 ave_args, $my_ar │ │ │ +00000780: 6729 3b0a 2020 2020 7d0a 7d0a 0a23 2043 g);. }.}..# C │ │ │ +00000790: 7265 6174 6520 6120 706c 6163 6520 746f reate a place to │ │ │ +000007a0: 2073 6176 6520 6f75 7220 6172 6776 2061 save our argv a │ │ │ +000007b0: 7272 6179 2073 6f20 7765 2063 616e 2065 rray so we can e │ │ │ +000007c0: 6469 7420 616e 790a 2320 7072 6f76 6964 dit any.# provid │ │ │ +000007d0: 6520 636c 6173 7320 7061 7468 206f 7074 e class path opt │ │ │ +000007e0: 696f 6e0a 6d79 2040 6172 6775 6d65 6e74 ion.my @argument │ │ │ +000007f0: 7320 3d20 2829 3b0a 0a23 2043 6865 636b s = ();..# Check │ │ │ +00000800: 2074 6865 2063 6f6d 6d61 6e64 206c 696e the command lin │ │ │ +00000810: 6520 666f 7220 6120 636c 6173 7320 7061 e for a class pa │ │ │ +00000820: 7468 0a6d 7920 2463 705f 666f 756e 6420 th.my $cp_found │ │ │ +00000830: 3d20 303b 0a6d 7920 246d 795f 6370 3b0a = 0;.my $my_cp;. │ │ │ +00000840: 666f 7265 6163 6820 246d 795f 6172 6720 foreach $my_arg │ │ │ +00000850: 2840 7361 7665 5f61 7267 7329 207b 0a20 (@save_args) {. │ │ │ +00000860: 2020 2069 6620 2831 203d 3d20 2463 705f if (1 == $cp_ │ │ │ +00000870: 666f 756e 6429 207b 0a20 2020 2020 2020 found) {. │ │ │ +00000880: 2024 6d79 5f63 7020 3d20 246d 795f 6172 $my_cp = $my_ar │ │ │ +00000890: 673b 0a20 2020 2020 2020 2069 6620 2830 g;. if (0 │ │ │ +000008a0: 203e 2069 6e64 6578 2824 6d79 5f61 7267 > index($my_arg │ │ │ +000008b0: 2c20 226d 7069 2e6a 6172 2229 2920 7b0a , "mpi.jar")) {. │ │ │ +000008c0: 2020 2020 2020 2020 2020 2020 2320 6e6f # no │ │ │ +000008d0: 7420 666f 756e 642c 2073 6f20 7765 2061 t found, so we a │ │ │ +000008e0: 6464 206f 7572 2070 6174 680a 2020 2020 dd our path. │ │ │ +000008f0: 2020 2020 2020 2020 6966 2028 7269 6e64 if (rind │ │ │ +00000900: 6578 2824 6d79 5f61 7267 2c20 223a 2229 ex($my_arg, ":") │ │ │ +00000910: 203d 3d20 6c65 6e67 7468 2824 6d79 5f61 == length($my_a │ │ │ +00000920: 7267 292d 3129 207b 0a20 2020 2020 2020 rg)-1) {. │ │ │ +00000930: 2020 2020 2020 2020 2023 2061 6c72 6561 # alrea │ │ │ +00000940: 6479 2068 6176 6520 6120 636f 6c6f 6e20 dy have a colon │ │ │ +00000950: 6174 2074 6865 2065 6e64 0a20 2020 2020 at the end. │ │ │ +00000960: 2020 2020 2020 2020 2020 2024 6d79 5f63 $my_c │ │ │ +00000970: 7020 3d20 246d 795f 6370 202e 2024 6d70 p = $my_cp . $mp │ │ │ +00000980: 695f 6a61 723b 0a20 2020 2020 2020 2020 i_jar;. │ │ │ +00000990: 2020 207d 2065 6c73 6520 7b0a 2020 2020 } else {. │ │ │ +000009a0: 2020 2020 2020 2020 2020 2020 2320 6e65 # ne │ │ │ +000009b0: 6564 2074 6f20 6164 6420 7468 6520 636f ed to add the co │ │ │ +000009c0: 6c6f 6e20 6265 7477 6565 6e20 7061 7468 lon between path │ │ │ +000009d0: 730a 2020 2020 2020 2020 2020 2020 2020 s. │ │ │ +000009e0: 2020 246d 795f 6370 203d 2024 6d79 5f63 $my_cp = $my_c │ │ │ +000009f0: 7020 2e20 223a 2220 2e20 246d 7069 5f6a p . ":" . $mpi_j │ │ │ +00000a00: 6172 3b0a 2020 2020 2020 2020 2020 2020 ar;. │ │ │ +00000a10: 7d0a 2020 2020 2020 2020 7d0a 2020 2020 }. }. │ │ │ +00000a20: 2020 2020 6966 2028 3020 3e20 696e 6465 if (0 > inde │ │ │ +00000a30: 7828 246d 795f 6172 672c 2022 7368 6d65 x($my_arg, "shme │ │ │ +00000a40: 6d2e 6a61 7222 2929 207b 0a20 2020 2020 m.jar")) {. │ │ │ +00000a50: 2020 2020 2020 2023 206e 6f74 2066 6f75 # not fou │ │ │ +00000a60: 6e64 2c20 736f 2077 6520 6164 6420 6f75 nd, so we add ou │ │ │ +00000a70: 7220 7061 7468 0a20 2020 2020 2020 2020 r path. │ │ │ +00000a80: 2020 2069 6620 2872 696e 6465 7828 246d if (rindex($m │ │ │ +00000a90: 795f 6172 672c 2022 3a22 2920 3d3d 206c y_arg, ":") == l │ │ │ +00000aa0: 656e 6774 6828 246d 795f 6172 6729 2d31 ength($my_arg)-1 │ │ │ +00000ab0: 2920 7b0a 2020 2020 2020 2020 2020 2020 ) {. │ │ │ +00000ac0: 2020 2020 2320 616c 7265 6164 7920 6861 # already ha │ │ │ +00000ad0: 7665 2061 2063 6f6c 6f6e 2061 7420 7468 ve a colon at th │ │ │ +00000ae0: 6520 656e 640a 2020 2020 2020 2020 2020 e end. │ │ │ +00000af0: 2020 2020 2020 246d 795f 6370 203d 2024 $my_cp = $ │ │ │ +00000b00: 6d79 5f63 7020 2e20 2473 686d 656d 5f6a my_cp . $shmem_j │ │ │ +00000b10: 6172 3b0a 2020 2020 2020 2020 2020 2020 ar;. │ │ │ +00000b20: 7d20 656c 7365 207b 0a20 2020 2020 2020 } else {. │ │ │ +00000b30: 2020 2020 2020 2020 2023 206e 6565 6420 # need │ │ │ +00000b40: 746f 2061 6464 2074 6865 2063 6f6c 6f6e to add the colon │ │ │ +00000b50: 2062 6574 7765 656e 2070 6174 6873 0a20 between paths. │ │ │ +00000b60: 2020 2020 2020 2020 2020 2020 2020 2024 $ │ │ │ +00000b70: 6d79 5f63 7020 3d20 246d 795f 6370 202e my_cp = $my_cp . │ │ │ +00000b80: 2022 3a22 202e 2024 7368 6d65 6d5f 6a61 ":" . $shmem_ja │ │ │ +00000b90: 723b 0a20 2020 2020 2020 2020 2020 207d r;. } │ │ │ +00000ba0: 0a20 2020 2020 2020 207d 0a20 2020 2020 . }. │ │ │ +00000bb0: 2020 2070 7573 6828 4061 7267 756d 656e push(@argumen │ │ │ +00000bc0: 7473 2c20 246d 795f 6370 293b 0a20 2020 ts, $my_cp);. │ │ │ +00000bd0: 2020 2020 2024 6370 5f66 6f75 6e64 203d $cp_found = │ │ │ +00000be0: 2032 3b0a 2020 2020 7d20 656c 7365 207b 2;. } else { │ │ │ +00000bf0: 0a20 2020 2020 2020 2069 6620 2830 203d . if (0 = │ │ │ +00000c00: 3d20 2463 705f 666f 756e 6420 2626 2028 = $cp_found && ( │ │ │ +00000c10: 0a20 2020 2020 2020 2020 2020 2030 203c . 0 < │ │ │ +00000c20: 3d20 696e 6465 7828 246d 795f 6172 672c = index($my_arg, │ │ │ +00000c30: 2022 2d63 7022 2920 7c7c 0a20 2020 2020 "-cp") ||. │ │ │ +00000c40: 2020 2020 2020 2030 203c 3d20 696e 6465 0 <= inde │ │ │ +00000c50: 7828 246d 795f 6172 672c 2022 2d63 6c61 x($my_arg, "-cla │ │ │ +00000c60: 7373 7061 7468 2229 2929 0a20 2020 2020 sspath"))). │ │ │ +00000c70: 2020 207b 0a20 2020 2020 2020 2020 2020 {. │ │ │ +00000c80: 2024 6370 5f66 6f75 6e64 203d 2031 3b0a $cp_found = 1;. │ │ │ +00000c90: 2020 2020 2020 2020 7d0a 2020 2020 2020 }. │ │ │ +00000ca0: 2020 7075 7368 2840 6172 6775 6d65 6e74 push(@argument │ │ │ +00000cb0: 732c 2024 6d79 5f61 7267 293b 0a20 2020 s, $my_arg);. │ │ │ +00000cc0: 207d 0a7d 0a0a 2320 4966 2074 6865 2063 }.}..# If the c │ │ │ +00000cd0: 6c61 7373 2070 6174 6820 7761 736e 2774 lass path wasn't │ │ │ +00000ce0: 2066 6f75 6e64 206f 6e20 7468 6520 636d found on the cm │ │ │ +00000cf0: 6420 6c69 6e65 2c20 7468 656e 0a23 2077 d line, then.# w │ │ │ +00000d00: 6520 6e65 7874 2063 6865 636b 2074 6865 e next check the │ │ │ +00000d10: 2063 6c61 7373 2070 6174 6820 696e 2074 class path in t │ │ │ +00000d20: 6865 2065 6e76 6972 6f6e 6d65 6e74 2c20 he environment, │ │ │ +00000d30: 6966 2069 7420 6578 6973 7473 0a69 6620 if it exists.if │ │ │ +00000d40: 2832 2021 3d20 2463 705f 666f 756e 6420 (2 != $cp_found │ │ │ +00000d50: 2626 2065 7869 7374 7320 2445 4e56 7b27 && exists $ENV{' │ │ │ +00000d60: 434c 4153 5350 4154 4827 7d20 2626 206c CLASSPATH'} && l │ │ │ +00000d70: 656e 6774 6828 2445 4e56 7b27 434c 4153 ength($ENV{'CLAS │ │ │ +00000d80: 5350 4154 4827 7d29 203e 2030 2920 7b0a SPATH'}) > 0) {. │ │ │ +00000d90: 2020 2020 246d 795f 6370 203d 2024 454e $my_cp = $EN │ │ │ +00000da0: 567b 2743 4c41 5353 5041 5448 277d 3b0a V{'CLASSPATH'};. │ │ │ +00000db0: 2020 2020 6966 2830 203e 2069 6e64 6578 if(0 > index │ │ │ +00000dc0: 2824 6d79 5f63 702c 2022 6d70 692e 6a61 ($my_cp, "mpi.ja │ │ │ +00000dd0: 7222 2929 207b 0a20 2020 2020 2020 2023 r")) {. # │ │ │ +00000de0: 206e 6f74 2066 6f75 6e64 2c20 736f 2077 not found, so w │ │ │ +00000df0: 6520 6164 6420 6f75 7220 7061 7468 0a20 e add our path. │ │ │ +00000e00: 2020 2020 2020 2069 6620 2872 696e 6465 if (rinde │ │ │ +00000e10: 7828 246d 795f 6370 2c20 223a 2229 203d x($my_cp, ":") = │ │ │ +00000e20: 3d20 6c65 6e67 7468 2824 6d79 5f63 7029 = length($my_cp) │ │ │ +00000e30: 2d31 2920 7b0a 2020 2020 2020 2020 2020 -1) {. │ │ │ +00000e40: 2020 2320 616c 7265 6164 7920 6861 7665 # already have │ │ │ +00000e50: 2061 2063 6f6c 6f6e 2061 7420 7468 6520 a colon at the │ │ │ +00000e60: 656e 640a 2020 2020 2020 2020 2020 2020 end. │ │ │ +00000e70: 246d 795f 6370 203d 2024 6d79 5f63 7020 $my_cp = $my_cp │ │ │ +00000e80: 2e20 246d 7069 5f6a 6172 3b0a 2020 2020 . $mpi_jar;. │ │ │ +00000e90: 2020 2020 7d20 656c 7365 207b 0a20 2020 } else {. │ │ │ +00000ea0: 2020 2020 2020 2020 2023 206e 6565 6420 # need │ │ │ +00000eb0: 746f 2061 6464 2074 6865 2063 6f6c 6f6e to add the colon │ │ │ +00000ec0: 2062 6574 7765 656e 2070 6174 6873 0a20 between paths. │ │ │ +00000ed0: 2020 2020 2020 2020 2020 2024 6d79 5f63 $my_c │ │ │ +00000ee0: 7020 3d20 246d 795f 6370 202e 2022 3a22 p = $my_cp . ":" │ │ │ +00000ef0: 202e 2024 6d70 695f 6a61 723b 0a20 2020 . $mpi_jar;. │ │ │ +00000f00: 2020 2020 207d 0a20 2020 207d 0a20 2020 }. }. │ │ │ +00000f10: 2069 6620 2830 203e 2069 6e64 6578 2824 if (0 > index($ │ │ │ +00000f20: 6d79 5f63 702c 2022 7368 6d65 6d2e 6a61 my_cp, "shmem.ja │ │ │ +00000f30: 7222 2929 207b 0a20 2020 2020 2020 2023 r")) {. # │ │ │ +00000f40: 206e 6f74 2066 6f75 6e64 2c20 736f 2077 not found, so w │ │ │ +00000f50: 6520 6164 6420 6f75 7220 7061 7468 0a20 e add our path. │ │ │ +00000f60: 2020 2020 2020 2069 6620 2872 696e 6465 if (rinde │ │ │ +00000f70: 7828 246d 795f 6370 2c20 223a 2229 203d x($my_cp, ":") = │ │ │ +00000f80: 3d20 6c65 6e67 7468 2824 6d79 5f63 7029 = length($my_cp) │ │ │ +00000f90: 2d31 2920 7b0a 2020 2020 2020 2020 2020 -1) {. │ │ │ +00000fa0: 2020 2320 616c 7265 6164 7920 6861 7665 # already have │ │ │ +00000fb0: 2061 2063 6f6c 6f6e 2061 7420 7468 6520 a colon at the │ │ │ +00000fc0: 656e 640a 2020 2020 2020 2020 2020 2020 end. │ │ │ +00000fd0: 246d 795f 6370 203d 2024 6d79 5f63 7020 $my_cp = $my_cp │ │ │ +00000fe0: 2e20 2473 686d 656d 5f6a 6172 3b0a 2020 . $shmem_jar;. │ │ │ +00000ff0: 2020 2020 2020 7d20 656c 7365 207b 0a20 } else {. │ │ │ +00001000: 2020 2020 2020 2020 2020 2023 206e 6565 # nee │ │ │ +00001010: 6420 746f 2061 6464 2074 6865 2063 6f6c d to add the col │ │ │ +00001020: 6f6e 2062 6574 7765 656e 2070 6174 6873 on between paths │ │ │ +00001030: 0a20 2020 2020 2020 2020 2020 2024 6d79 . $my │ │ │ +00001040: 5f63 7020 3d20 246d 795f 6370 202e 2022 _cp = $my_cp . " │ │ │ +00001050: 3a22 202e 2024 7368 6d65 6d5f 6a61 723b :" . $shmem_jar; │ │ │ +00001060: 0a20 2020 2020 2020 207d 0a20 2020 207d . }. } │ │ │ +00001070: 0a20 2020 2075 6e73 6869 6674 2840 6172 . unshift(@ar │ │ │ +00001080: 6775 6d65 6e74 732c 2024 6d79 5f63 7029 guments, $my_cp) │ │ │ +00001090: 3b0a 2020 2020 756e 7368 6966 7428 4061 ;. unshift(@a │ │ │ +000010a0: 7267 756d 656e 7473 2c20 222d 6370 2229 rguments, "-cp") │ │ │ +000010b0: 3b0a 2020 2020 2320 656e 7375 7265 2077 ;. # ensure w │ │ │ +000010c0: 6520 6d61 726b 2074 6861 7420 7765 2022 e mark that we " │ │ │ +000010d0: 666f 756e 6422 2074 6865 2063 6c61 7373 found" the class │ │ │ +000010e0: 2070 6174 680a 2020 2020 2463 705f 666f path. $cp_fo │ │ │ +000010f0: 756e 6420 3d20 313b 0a7d 0a0a 2320 4966 und = 1;.}..# If │ │ │ +00001100: 2074 6865 2063 6c61 7373 2070 6174 6820 the class path │ │ │ +00001110: 7761 736e 2774 2066 6f75 6e64 2069 6e20 wasn't found in │ │ │ +00001120: 6569 7468 6572 206c 6f63 6174 696f 6e2c either location, │ │ │ +00001130: 2074 6865 6e0a 2320 7765 2068 6176 6520 then.# we have │ │ │ +00001140: 746f 2069 6e73 6572 7420 6974 2061 7320 to insert it as │ │ │ +00001150: 7468 6520 6669 7273 7420 6172 6775 6d65 the first argume │ │ │ +00001160: 6e74 0a69 6620 2830 203d 3d20 2463 705f nt.if (0 == $cp_ │ │ │ +00001170: 666f 756e 6429 207b 0a20 2020 2075 6e73 found) {. uns │ │ │ +00001180: 6869 6674 2840 6172 6775 6d65 6e74 732c hift(@arguments, │ │ │ +00001190: 2024 6d70 695f 6a61 7220 2e20 223a 2220 $mpi_jar . ":" │ │ │ +000011a0: 2e20 2473 686d 656d 5f6a 6172 293b 0a20 . $shmem_jar);. │ │ │ +000011b0: 2020 2075 6e73 6869 6674 2840 6172 6775 unshift(@argu │ │ │ +000011c0: 6d65 6e74 732c 2022 2d63 7022 293b 0a7d ments, "-cp");.} │ │ │ +000011d0: 0a0a 2320 436f 6e73 7472 7563 7420 7468 ..# Construct th │ │ │ +000011e0: 6520 636f 6d6d 616e 640a 6d79 2024 7265 e command.my $re │ │ │ +000011f0: 7475 726e 436f 6465 203d 2030 3b0a 6966 turnCode = 0;.if │ │ │ +00001200: 2028 2473 686f 776d 655f 6172 6729 207b ($showme_arg) { │ │ │ +00001210: 0a20 2020 2070 7269 6e74 2022 246d 795f . print "$my_ │ │ │ +00001220: 636f 6d70 696c 6572 2040 6172 6775 6d65 compiler @argume │ │ │ +00001230: 6e74 735c 6e22 3b0a 7d20 656c 7365 207b nts\n";.} else { │ │ │ +00001240: 0a20 2020 2069 6620 2824 7665 7262 6f73 . if ($verbos │ │ │ +00001250: 6529 207b 0a20 2020 2020 2020 2070 7269 e) {. pri │ │ │ +00001260: 6e74 2022 246d 795f 636f 6d70 696c 6572 nt "$my_compiler │ │ │ +00001270: 2040 6172 6775 6d65 6e74 735c 6e22 3b0a @arguments\n";. │ │ │ +00001280: 2020 2020 7d0a 2020 2020 2472 6574 7572 }. $retur │ │ │ +00001290: 6e43 6f64 6520 3d20 7379 7374 656d 2024 nCode = system $ │ │ │ +000012a0: 6d79 5f63 6f6d 7069 6c65 722c 2040 6172 my_compiler, @ar │ │ │ +000012b0: 6775 6d65 6e74 733b 0a7d 0a65 7869 7420 guments;.}.exit │ │ │ +000012c0: 2472 6574 7572 6e43 6f64 653b 0a $returnCode;.