--- /srv/rebuilderd/tmp/rebuilderdvTqruF/inputs/openmpi-bin_5.0.10-1_loong64.deb +++ /srv/rebuilderd/tmp/rebuilderdvTqruF/out/openmpi-bin_5.0.10-1_loong64.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2026-03-03 06:52:48.000000 debian-binary │ --rw-r--r-- 0 0 0 2056 2026-03-03 06:52:48.000000 control.tar.xz │ --rw-r--r-- 0 0 0 154160 2026-03-03 06:52:48.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 2060 2026-03-03 06:52:48.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 154148 2026-03-03 06:52:48.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── file list │ │ │ @@ -1,8 +1,8 @@ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./ │ │ │ -rw-r--r-- 0 root (0) root (0) 72 2026-03-03 06:52:48.000000 ./conffiles │ │ │ -rw-r--r-- 0 root (0) root (0) 1378 2026-03-03 06:52:48.000000 ./control │ │ │ --rw-r--r-- 0 root (0) root (0) 1553 2026-03-03 06:52:48.000000 ./md5sums │ │ │ +-rw-r--r-- 0 root (0) root (0) 1604 2026-03-03 06:52:48.000000 ./md5sums │ │ │ -rwxr-xr-x 0 root (0) root (0) 1688 2026-03-03 06:52:48.000000 ./postinst │ │ │ -rwxr-xr-x 0 root (0) root (0) 221 2026-03-03 06:52:48.000000 ./postrm │ │ │ -rwxr-xr-x 0 root (0) root (0) 221 2026-03-03 06:52:48.000000 ./preinst │ │ │ -rwxr-xr-x 0 root (0) root (0) 406 2026-03-03 06:52:48.000000 ./prerm │ │ ├── ./control │ │ │ @@ -1,13 +1,13 @@ │ │ │ Package: openmpi-bin │ │ │ Source: openmpi │ │ │ Version: 5.0.10-1 │ │ │ Architecture: loong64 │ │ │ Maintainer: Debian Science Maintainers │ │ │ -Installed-Size: 770 │ │ │ +Installed-Size: 774 │ │ │ Depends: libc6 (>= 2.42), libopenmpi40 (>= 5.0.10), libpmix2t64 (>= 6.0.0+really5.0.9), openmpi-common (>= 5.0.10-1), openssh-client | ssh-client, libprrte-bin │ │ │ Suggests: gfortran | fortran-compiler │ │ │ Section: net │ │ │ Priority: optional │ │ │ Homepage: https://www.open-mpi.org/ │ │ │ Description: high performance message passing library -- binaries │ │ │ Open MPI is a project combining technologies and resources from several other │ │ ├── ./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/share/doc/openmpi-bin/README.Debian │ │ │ │ usr/share/doc/openmpi-bin/README.md ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -1,14 +1,15 @@ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./etc/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./etc/openmpi/ │ │ │ -rw-r--r-- 0 root (0) root (0) 3339 2026-03-03 06:52:48.000000 ./etc/openmpi/openmpi-mca-params.conf │ │ │ -rw-r--r-- 0 root (0) root (0) 1441 2026-03-03 06:52:48.000000 ./etc/openmpi/openmpi-totalview.tcl │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/ │ │ │ +-rwxr-xr-x 0 root (0) root (0) 4823 2026-03-03 06:52:48.000000 ./usr/bin/mpijavac │ │ │ -rwxr-xr-x 0 root (0) root (0) 4823 2026-03-03 06:52:48.000000 ./usr/bin/mpijavac.pl │ │ │ -rwxr-xr-x 0 root (0) root (0) 269656 2026-03-03 06:52:48.000000 ./usr/bin/mpirun.openmpi │ │ │ -rwxr-xr-x 0 root (0) root (0) 67800 2026-03-03 06:52:48.000000 ./usr/bin/ompi_info │ │ │ -rwxr-xr-x 0 root (0) root (0) 269736 2026-03-03 06:52:48.000000 ./usr/bin/opal_wrapper │ │ │ -rwxr-xr-x 0 root (0) root (0) 67768 2026-03-03 06:52:48.000000 ./usr/bin/oshmem_info │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/share/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/share/doc/ │ │ │ @@ -37,15 +38,14 @@ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpic++.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpicc.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpicxx.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpiexec.openmpi -> mpirun.openmpi │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpif77.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpif90.openmpi -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpifort.openmpi -> opal_wrapper │ │ │ -lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/mpijavac -> mpijavac.pl │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/oshCC -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/oshc++ -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/oshcc -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/oshcxx -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/oshfort -> opal_wrapper │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/bin/oshrun -> mpirun.openmpi │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2026-03-03 06:52:48.000000 ./usr/share/man/man1/mpiCC.openmpi.1.gz -> mpic++.openmpi.1.gz │ │ ├── ./usr/bin/mpijavac │ │ │ @@ -1,2 +1,302 @@ │ │ │ -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 6c6f 6f6e 6761 7263 6836 342d lib/loongarch64- │ │ │ +000003f0: 6c69 6e75 782d 676e 752f 6f70 656e 6d70 linux-gnu/openmp │ │ │ +00000400: 692f 6c69 622f 6d70 692e 6a61 7222 3b0a i/lib/mpi.jar";. │ │ │ +00000410: 6d79 2024 7368 6d65 6d5f 6a61 7220 3d20 my $shmem_jar = │ │ │ +00000420: 222f 7573 722f 6c69 622f 6c6f 6f6e 6761 "/usr/lib/loonga │ │ │ +00000430: 7263 6836 342d 6c69 6e75 782d 676e 752f rch64-linux-gnu/ │ │ │ +00000440: 6f70 656e 6d70 692f 6c69 622f 7368 6d65 openmpi/lib/shme │ │ │ +00000450: 6d2e 6a61 7222 3b0a 0a23 2067 6c6f 6261 m.jar";..# globa │ │ │ +00000460: 6c73 0a6d 7920 2473 686f 776d 655f 6172 ls.my $showme_ar │ │ │ +00000470: 6720 3d20 303b 0a6d 7920 2476 6572 626f g = 0;.my $verbo │ │ │ +00000480: 7365 203d 2030 3b0a 6d79 2024 6d79 5f61 se = 0;.my $my_a │ │ │ +00000490: 7267 3b0a 0a23 2043 616e 6e6f 7420 7573 rg;..# Cannot us │ │ │ +000004a0: 6520 7468 6520 7573 7561 6c20 4765 744f e the usual GetO │ │ │ +000004b0: 7074 7320 6c69 6272 6172 7920 6173 2074 pts library as t │ │ │ +000004c0: 6865 2075 7365 7220 6d69 6768 740a 2320 he user might.# │ │ │ +000004d0: 6265 2070 6173 7369 6e67 202d 6f70 7469 be passing -opti │ │ │ +000004e0: 6f6e 7320 746f 2074 6865 204a 6176 6120 ons to the Java │ │ │ +000004f0: 636f 6d70 696c 6572 2120 536f 2068 6176 compiler! So hav │ │ │ +00000500: 6520 746f 0a23 2070 6172 7365 2074 6865 e to.# parse the │ │ │ +00000510: 206f 7074 696f 6e73 206f 7572 7365 6c76 options ourselv │ │ │ +00000520: 6573 2074 6f20 6c6f 6f6b 2066 6f72 2068 es to look for h │ │ │ +00000530: 656c 7020 616e 6420 7368 6f77 6d65 0a6d elp and showme.m │ │ │ +00000540: 7920 4073 6176 655f 6172 6773 3b0a 666f y @save_args;.fo │ │ │ +00000550: 7265 6163 6820 246d 795f 6172 6720 2840 reach $my_arg (@ │ │ │ +00000560: 4152 4756 2920 7b0a 2020 2020 6966 2028 ARGV) {. if ( │ │ │ +00000570: 246d 795f 6172 6720 6571 2022 2d68 2220 $my_arg eq "-h" │ │ │ +00000580: 7c7c 0a20 2020 2020 2020 2024 6d79 5f61 ||. $my_a │ │ │ +00000590: 7267 2065 7120 222d 2d68 2220 7c7c 0a20 rg eq "--h" ||. │ │ │ +000005a0: 2020 2020 2020 2024 6d79 5f61 7267 2065 $my_arg e │ │ │ +000005b0: 7120 222d 6865 6c70 2220 7c7c 0a20 2020 q "-help" ||. │ │ │ +000005c0: 2020 2020 2024 6d79 5f61 7267 2065 7120 $my_arg eq │ │ │ +000005d0: 222d 2d68 656c 7022 2920 7b0a 2020 2020 "--help") {. │ │ │ +000005e0: 2020 2020 7072 696e 7420 224f 7074 696f print "Optio │ │ │ +000005f0: 6e73 3a0a 2020 2d2d 7368 6f77 6d65 2020 ns:. --showme │ │ │ +00000600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00000610: 2020 2020 5368 6f77 2074 6865 2077 7261 Show the wra │ │ │ +00000620: 7070 6572 2063 6f6d 7069 6c65 7220 636f pper compiler co │ │ │ +00000630: 6d6d 616e 6420 7769 7468 6f75 7420 6578 mmand without ex │ │ │ +00000640: 6563 7574 696e 6720 6974 0a20 202d 2d76 ecuting it. --v │ │ │ +00000650: 6572 626f 7365 2020 2020 2020 2020 2020 erbose │ │ │ +00000660: 2020 2020 2020 2020 2020 2053 686f 7720 Show │ │ │ +00000670: 7468 6520 7772 6170 7065 7220 636f 6d70 the wrapper comp │ │ │ +00000680: 696c 6572 2063 6f6d 6d61 6e64 202a 616e iler command *an │ │ │ +00000690: 642a 2065 7865 6375 7465 2069 740a 2020 d* execute it. │ │ │ +000006a0: 2d2d 6865 6c70 207c 202d 6820 2020 2020 --help | -h │ │ │ +000006b0: 2020 2020 2020 2020 2020 2020 2020 5468 Th │ │ │ +000006c0: 6973 2068 656c 7020 6c69 7374 5c6e 223b is help list\n"; │ │ │ +000006d0: 0a20 2020 2020 2020 2065 7869 7428 3029 . exit(0) │ │ │ +000006e0: 3b0a 2020 2020 7d20 656c 7369 6620 2824 ;. } elsif ($ │ │ │ +000006f0: 6d79 5f61 7267 2065 7120 222d 2d73 686f my_arg eq "--sho │ │ │ +00000700: 776d 6522 2920 7b0a 2020 2020 2020 2020 wme") {. │ │ │ +00000710: 2473 686f 776d 655f 6172 6720 3d20 313b $showme_arg = 1; │ │ │ +00000720: 0a20 2020 207d 2065 6c73 6966 2028 246d . } elsif ($m │ │ │ +00000730: 795f 6172 6720 6571 2022 2d2d 7665 7262 y_arg eq "--verb │ │ │ +00000740: 6f73 6522 2920 7b0a 2020 2020 2020 2020 ose") {. │ │ │ +00000750: 2476 6572 626f 7365 203d 2031 3b0a 2020 $verbose = 1;. │ │ │ +00000760: 2020 7d20 656c 7365 207b 0a20 2020 2020 } else {. │ │ │ +00000770: 2020 2070 7573 6828 4073 6176 655f 6172 push(@save_ar │ │ │ +00000780: 6773 2c20 246d 795f 6172 6729 3b0a 2020 gs, $my_arg);. │ │ │ +00000790: 2020 7d0a 7d0a 0a23 2043 7265 6174 6520 }.}..# Create │ │ │ +000007a0: 6120 706c 6163 6520 746f 2073 6176 6520 a place to save │ │ │ +000007b0: 6f75 7220 6172 6776 2061 7272 6179 2073 our argv array s │ │ │ +000007c0: 6f20 7765 2063 616e 2065 6469 7420 616e o we can edit an │ │ │ +000007d0: 790a 2320 7072 6f76 6964 6520 636c 6173 y.# provide clas │ │ │ +000007e0: 7320 7061 7468 206f 7074 696f 6e0a 6d79 s path option.my │ │ │ +000007f0: 2040 6172 6775 6d65 6e74 7320 3d20 2829 @arguments = () │ │ │ +00000800: 3b0a 0a23 2043 6865 636b 2074 6865 2063 ;..# Check the c │ │ │ +00000810: 6f6d 6d61 6e64 206c 696e 6520 666f 7220 ommand line for │ │ │ +00000820: 6120 636c 6173 7320 7061 7468 0a6d 7920 a class path.my │ │ │ +00000830: 2463 705f 666f 756e 6420 3d20 303b 0a6d $cp_found = 0;.m │ │ │ +00000840: 7920 246d 795f 6370 3b0a 666f 7265 6163 y $my_cp;.foreac │ │ │ +00000850: 6820 246d 795f 6172 6720 2840 7361 7665 h $my_arg (@save │ │ │ +00000860: 5f61 7267 7329 207b 0a20 2020 2069 6620 _args) {. if │ │ │ +00000870: 2831 203d 3d20 2463 705f 666f 756e 6429 (1 == $cp_found) │ │ │ +00000880: 207b 0a20 2020 2020 2020 2024 6d79 5f63 {. $my_c │ │ │ +00000890: 7020 3d20 246d 795f 6172 673b 0a20 2020 p = $my_arg;. │ │ │ +000008a0: 2020 2020 2069 6620 2830 203e 2069 6e64 if (0 > ind │ │ │ +000008b0: 6578 2824 6d79 5f61 7267 2c20 226d 7069 ex($my_arg, "mpi │ │ │ +000008c0: 2e6a 6172 2229 2920 7b0a 2020 2020 2020 .jar")) {. │ │ │ +000008d0: 2020 2020 2020 2320 6e6f 7420 666f 756e # not foun │ │ │ +000008e0: 642c 2073 6f20 7765 2061 6464 206f 7572 d, so we add our │ │ │ +000008f0: 2070 6174 680a 2020 2020 2020 2020 2020 path. │ │ │ +00000900: 2020 6966 2028 7269 6e64 6578 2824 6d79 if (rindex($my │ │ │ +00000910: 5f61 7267 2c20 223a 2229 203d 3d20 6c65 _arg, ":") == le │ │ │ +00000920: 6e67 7468 2824 6d79 5f61 7267 292d 3129 ngth($my_arg)-1) │ │ │ +00000930: 207b 0a20 2020 2020 2020 2020 2020 2020 {. │ │ │ +00000940: 2020 2023 2061 6c72 6561 6479 2068 6176 # already hav │ │ │ +00000950: 6520 6120 636f 6c6f 6e20 6174 2074 6865 e a colon at the │ │ │ +00000960: 2065 6e64 0a20 2020 2020 2020 2020 2020 end. │ │ │ +00000970: 2020 2020 2024 6d79 5f63 7020 3d20 246d $my_cp = $m │ │ │ +00000980: 795f 6370 202e 2024 6d70 695f 6a61 723b y_cp . $mpi_jar; │ │ │ +00000990: 0a20 2020 2020 2020 2020 2020 207d 2065 . } e │ │ │ +000009a0: 6c73 6520 7b0a 2020 2020 2020 2020 2020 lse {. │ │ │ +000009b0: 2020 2020 2020 2320 6e65 6564 2074 6f20 # need to │ │ │ +000009c0: 6164 6420 7468 6520 636f 6c6f 6e20 6265 add the colon be │ │ │ +000009d0: 7477 6565 6e20 7061 7468 730a 2020 2020 tween paths. │ │ │ +000009e0: 2020 2020 2020 2020 2020 2020 246d 795f $my_ │ │ │ +000009f0: 6370 203d 2024 6d79 5f63 7020 2e20 223a cp = $my_cp . ": │ │ │ +00000a00: 2220 2e20 246d 7069 5f6a 6172 3b0a 2020 " . $mpi_jar;. │ │ │ +00000a10: 2020 2020 2020 2020 2020 7d0a 2020 2020 }. │ │ │ +00000a20: 2020 2020 7d0a 2020 2020 2020 2020 6966 }. if │ │ │ +00000a30: 2028 3020 3e20 696e 6465 7828 246d 795f (0 > index($my_ │ │ │ +00000a40: 6172 672c 2022 7368 6d65 6d2e 6a61 7222 arg, "shmem.jar" │ │ │ +00000a50: 2929 207b 0a20 2020 2020 2020 2020 2020 )) {. │ │ │ +00000a60: 2023 206e 6f74 2066 6f75 6e64 2c20 736f # not found, so │ │ │ +00000a70: 2077 6520 6164 6420 6f75 7220 7061 7468 we add our path │ │ │ +00000a80: 0a20 2020 2020 2020 2020 2020 2069 6620 . if │ │ │ +00000a90: 2872 696e 6465 7828 246d 795f 6172 672c (rindex($my_arg, │ │ │ +00000aa0: 2022 3a22 2920 3d3d 206c 656e 6774 6828 ":") == length( │ │ │ +00000ab0: 246d 795f 6172 6729 2d31 2920 7b0a 2020 $my_arg)-1) {. │ │ │ +00000ac0: 2020 2020 2020 2020 2020 2020 2020 2320 # │ │ │ +00000ad0: 616c 7265 6164 7920 6861 7665 2061 2063 already have a c │ │ │ +00000ae0: 6f6c 6f6e 2061 7420 7468 6520 656e 640a olon at the end. │ │ │ +00000af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ +00000b00: 246d 795f 6370 203d 2024 6d79 5f63 7020 $my_cp = $my_cp │ │ │ +00000b10: 2e20 2473 686d 656d 5f6a 6172 3b0a 2020 . $shmem_jar;. │ │ │ +00000b20: 2020 2020 2020 2020 2020 7d20 656c 7365 } else │ │ │ +00000b30: 207b 0a20 2020 2020 2020 2020 2020 2020 {. │ │ │ +00000b40: 2020 2023 206e 6565 6420 746f 2061 6464 # need to add │ │ │ +00000b50: 2074 6865 2063 6f6c 6f6e 2062 6574 7765 the colon betwe │ │ │ +00000b60: 656e 2070 6174 6873 0a20 2020 2020 2020 en paths. │ │ │ +00000b70: 2020 2020 2020 2020 2024 6d79 5f63 7020 $my_cp │ │ │ +00000b80: 3d20 246d 795f 6370 202e 2022 3a22 202e = $my_cp . ":" . │ │ │ +00000b90: 2024 7368 6d65 6d5f 6a61 723b 0a20 2020 $shmem_jar;. │ │ │ +00000ba0: 2020 2020 2020 2020 207d 0a20 2020 2020 }. │ │ │ +00000bb0: 2020 207d 0a20 2020 2020 2020 2070 7573 }. pus │ │ │ +00000bc0: 6828 4061 7267 756d 656e 7473 2c20 246d h(@arguments, $m │ │ │ +00000bd0: 795f 6370 293b 0a20 2020 2020 2020 2024 y_cp);. $ │ │ │ +00000be0: 6370 5f66 6f75 6e64 203d 2032 3b0a 2020 cp_found = 2;. │ │ │ +00000bf0: 2020 7d20 656c 7365 207b 0a20 2020 2020 } else {. │ │ │ +00000c00: 2020 2069 6620 2830 203d 3d20 2463 705f if (0 == $cp_ │ │ │ +00000c10: 666f 756e 6420 2626 2028 0a20 2020 2020 found && (. │ │ │ +00000c20: 2020 2020 2020 2030 203c 3d20 696e 6465 0 <= inde │ │ │ +00000c30: 7828 246d 795f 6172 672c 2022 2d63 7022 x($my_arg, "-cp" │ │ │ +00000c40: 2920 7c7c 0a20 2020 2020 2020 2020 2020 ) ||. │ │ │ +00000c50: 2030 203c 3d20 696e 6465 7828 246d 795f 0 <= index($my_ │ │ │ +00000c60: 6172 672c 2022 2d63 6c61 7373 7061 7468 arg, "-classpath │ │ │ +00000c70: 2229 2929 0a20 2020 2020 2020 207b 0a20 "))). {. │ │ │ +00000c80: 2020 2020 2020 2020 2020 2024 6370 5f66 $cp_f │ │ │ +00000c90: 6f75 6e64 203d 2031 3b0a 2020 2020 2020 ound = 1;. │ │ │ +00000ca0: 2020 7d0a 2020 2020 2020 2020 7075 7368 }. push │ │ │ +00000cb0: 2840 6172 6775 6d65 6e74 732c 2024 6d79 (@arguments, $my │ │ │ +00000cc0: 5f61 7267 293b 0a20 2020 207d 0a7d 0a0a _arg);. }.}.. │ │ │ +00000cd0: 2320 4966 2074 6865 2063 6c61 7373 2070 # If the class p │ │ │ +00000ce0: 6174 6820 7761 736e 2774 2066 6f75 6e64 ath wasn't found │ │ │ +00000cf0: 206f 6e20 7468 6520 636d 6420 6c69 6e65 on the cmd line │ │ │ +00000d00: 2c20 7468 656e 0a23 2077 6520 6e65 7874 , then.# we next │ │ │ +00000d10: 2063 6865 636b 2074 6865 2063 6c61 7373 check the class │ │ │ +00000d20: 2070 6174 6820 696e 2074 6865 2065 6e76 path in the env │ │ │ +00000d30: 6972 6f6e 6d65 6e74 2c20 6966 2069 7420 ironment, if it │ │ │ +00000d40: 6578 6973 7473 0a69 6620 2832 2021 3d20 exists.if (2 != │ │ │ +00000d50: 2463 705f 666f 756e 6420 2626 2065 7869 $cp_found && exi │ │ │ +00000d60: 7374 7320 2445 4e56 7b27 434c 4153 5350 sts $ENV{'CLASSP │ │ │ +00000d70: 4154 4827 7d20 2626 206c 656e 6774 6828 ATH'} && length( │ │ │ +00000d80: 2445 4e56 7b27 434c 4153 5350 4154 4827 $ENV{'CLASSPATH' │ │ │ +00000d90: 7d29 203e 2030 2920 7b0a 2020 2020 246d }) > 0) {. $m │ │ │ +00000da0: 795f 6370 203d 2024 454e 567b 2743 4c41 y_cp = $ENV{'CLA │ │ │ +00000db0: 5353 5041 5448 277d 3b0a 2020 2020 6966 SSPATH'};. if │ │ │ +00000dc0: 2830 203e 2069 6e64 6578 2824 6d79 5f63 (0 > index($my_c │ │ │ +00000dd0: 702c 2022 6d70 692e 6a61 7222 2929 207b p, "mpi.jar")) { │ │ │ +00000de0: 0a20 2020 2020 2020 2023 206e 6f74 2066 . # not f │ │ │ +00000df0: 6f75 6e64 2c20 736f 2077 6520 6164 6420 ound, so we add │ │ │ +00000e00: 6f75 7220 7061 7468 0a20 2020 2020 2020 our path. │ │ │ +00000e10: 2069 6620 2872 696e 6465 7828 246d 795f if (rindex($my_ │ │ │ +00000e20: 6370 2c20 223a 2229 203d 3d20 6c65 6e67 cp, ":") == leng │ │ │ +00000e30: 7468 2824 6d79 5f63 7029 2d31 2920 7b0a th($my_cp)-1) {. │ │ │ +00000e40: 2020 2020 2020 2020 2020 2020 2320 616c # al │ │ │ +00000e50: 7265 6164 7920 6861 7665 2061 2063 6f6c ready have a col │ │ │ +00000e60: 6f6e 2061 7420 7468 6520 656e 640a 2020 on at the end. │ │ │ +00000e70: 2020 2020 2020 2020 2020 246d 795f 6370 $my_cp │ │ │ +00000e80: 203d 2024 6d79 5f63 7020 2e20 246d 7069 = $my_cp . $mpi │ │ │ +00000e90: 5f6a 6172 3b0a 2020 2020 2020 2020 7d20 _jar;. } │ │ │ +00000ea0: 656c 7365 207b 0a20 2020 2020 2020 2020 else {. │ │ │ +00000eb0: 2020 2023 206e 6565 6420 746f 2061 6464 # need to add │ │ │ +00000ec0: 2074 6865 2063 6f6c 6f6e 2062 6574 7765 the colon betwe │ │ │ +00000ed0: 656e 2070 6174 6873 0a20 2020 2020 2020 en paths. │ │ │ +00000ee0: 2020 2020 2024 6d79 5f63 7020 3d20 246d $my_cp = $m │ │ │ +00000ef0: 795f 6370 202e 2022 3a22 202e 2024 6d70 y_cp . ":" . $mp │ │ │ +00000f00: 695f 6a61 723b 0a20 2020 2020 2020 207d i_jar;. } │ │ │ +00000f10: 0a20 2020 207d 0a20 2020 2069 6620 2830 . }. if (0 │ │ │ +00000f20: 203e 2069 6e64 6578 2824 6d79 5f63 702c > index($my_cp, │ │ │ +00000f30: 2022 7368 6d65 6d2e 6a61 7222 2929 207b "shmem.jar")) { │ │ │ +00000f40: 0a20 2020 2020 2020 2023 206e 6f74 2066 . # not f │ │ │ +00000f50: 6f75 6e64 2c20 736f 2077 6520 6164 6420 ound, so we add │ │ │ +00000f60: 6f75 7220 7061 7468 0a20 2020 2020 2020 our path. │ │ │ +00000f70: 2069 6620 2872 696e 6465 7828 246d 795f if (rindex($my_ │ │ │ +00000f80: 6370 2c20 223a 2229 203d 3d20 6c65 6e67 cp, ":") == leng │ │ │ +00000f90: 7468 2824 6d79 5f63 7029 2d31 2920 7b0a th($my_cp)-1) {. │ │ │ +00000fa0: 2020 2020 2020 2020 2020 2020 2320 616c # al │ │ │ +00000fb0: 7265 6164 7920 6861 7665 2061 2063 6f6c ready have a col │ │ │ +00000fc0: 6f6e 2061 7420 7468 6520 656e 640a 2020 on at the end. │ │ │ +00000fd0: 2020 2020 2020 2020 2020 246d 795f 6370 $my_cp │ │ │ +00000fe0: 203d 2024 6d79 5f63 7020 2e20 2473 686d = $my_cp . $shm │ │ │ +00000ff0: 656d 5f6a 6172 3b0a 2020 2020 2020 2020 em_jar;. │ │ │ +00001000: 7d20 656c 7365 207b 0a20 2020 2020 2020 } else {. │ │ │ +00001010: 2020 2020 2023 206e 6565 6420 746f 2061 # need to a │ │ │ +00001020: 6464 2074 6865 2063 6f6c 6f6e 2062 6574 dd the colon bet │ │ │ +00001030: 7765 656e 2070 6174 6873 0a20 2020 2020 ween paths. │ │ │ +00001040: 2020 2020 2020 2024 6d79 5f63 7020 3d20 $my_cp = │ │ │ +00001050: 246d 795f 6370 202e 2022 3a22 202e 2024 $my_cp . ":" . $ │ │ │ +00001060: 7368 6d65 6d5f 6a61 723b 0a20 2020 2020 shmem_jar;. │ │ │ +00001070: 2020 207d 0a20 2020 207d 0a20 2020 2075 }. }. u │ │ │ +00001080: 6e73 6869 6674 2840 6172 6775 6d65 6e74 nshift(@argument │ │ │ +00001090: 732c 2024 6d79 5f63 7029 3b0a 2020 2020 s, $my_cp);. │ │ │ +000010a0: 756e 7368 6966 7428 4061 7267 756d 656e unshift(@argumen │ │ │ +000010b0: 7473 2c20 222d 6370 2229 3b0a 2020 2020 ts, "-cp");. │ │ │ +000010c0: 2320 656e 7375 7265 2077 6520 6d61 726b # ensure we mark │ │ │ +000010d0: 2074 6861 7420 7765 2022 666f 756e 6422 that we "found" │ │ │ +000010e0: 2074 6865 2063 6c61 7373 2070 6174 680a the class path. │ │ │ +000010f0: 2020 2020 2463 705f 666f 756e 6420 3d20 $cp_found = │ │ │ +00001100: 313b 0a7d 0a0a 2320 4966 2074 6865 2063 1;.}..# If the c │ │ │ +00001110: 6c61 7373 2070 6174 6820 7761 736e 2774 lass path wasn't │ │ │ +00001120: 2066 6f75 6e64 2069 6e20 6569 7468 6572 found in either │ │ │ +00001130: 206c 6f63 6174 696f 6e2c 2074 6865 6e0a location, then. │ │ │ +00001140: 2320 7765 2068 6176 6520 746f 2069 6e73 # we have to ins │ │ │ +00001150: 6572 7420 6974 2061 7320 7468 6520 6669 ert it as the fi │ │ │ +00001160: 7273 7420 6172 6775 6d65 6e74 0a69 6620 rst argument.if │ │ │ +00001170: 2830 203d 3d20 2463 705f 666f 756e 6429 (0 == $cp_found) │ │ │ +00001180: 207b 0a20 2020 2075 6e73 6869 6674 2840 {. unshift(@ │ │ │ +00001190: 6172 6775 6d65 6e74 732c 2024 6d70 695f arguments, $mpi_ │ │ │ +000011a0: 6a61 7220 2e20 223a 2220 2e20 2473 686d jar . ":" . $shm │ │ │ +000011b0: 656d 5f6a 6172 293b 0a20 2020 2075 6e73 em_jar);. uns │ │ │ +000011c0: 6869 6674 2840 6172 6775 6d65 6e74 732c hift(@arguments, │ │ │ +000011d0: 2022 2d63 7022 293b 0a7d 0a0a 2320 436f "-cp");.}..# Co │ │ │ +000011e0: 6e73 7472 7563 7420 7468 6520 636f 6d6d nstruct the comm │ │ │ +000011f0: 616e 640a 6d79 2024 7265 7475 726e 436f and.my $returnCo │ │ │ +00001200: 6465 203d 2030 3b0a 6966 2028 2473 686f de = 0;.if ($sho │ │ │ +00001210: 776d 655f 6172 6729 207b 0a20 2020 2070 wme_arg) {. p │ │ │ +00001220: 7269 6e74 2022 246d 795f 636f 6d70 696c rint "$my_compil │ │ │ +00001230: 6572 2040 6172 6775 6d65 6e74 735c 6e22 er @arguments\n" │ │ │ +00001240: 3b0a 7d20 656c 7365 207b 0a20 2020 2069 ;.} else {. i │ │ │ +00001250: 6620 2824 7665 7262 6f73 6529 207b 0a20 f ($verbose) {. │ │ │ +00001260: 2020 2020 2020 2070 7269 6e74 2022 246d print "$m │ │ │ +00001270: 795f 636f 6d70 696c 6572 2040 6172 6775 y_compiler @argu │ │ │ +00001280: 6d65 6e74 735c 6e22 3b0a 2020 2020 7d0a ments\n";. }. │ │ │ +00001290: 2020 2020 2472 6574 7572 6e43 6f64 6520 $returnCode │ │ │ +000012a0: 3d20 7379 7374 656d 2024 6d79 5f63 6f6d = system $my_com │ │ │ +000012b0: 7069 6c65 722c 2040 6172 6775 6d65 6e74 piler, @argument │ │ │ +000012c0: 733b 0a7d 0a65 7869 7420 2472 6574 7572 s;.}.exit $retur │ │ │ +000012d0: 6e43 6f64 653b 0a nCode;.