--- /tmp/rebuilderd0kjaWw/inputs/openmpi-bin_5.0.7-1_riscv64.deb +++ /tmp/rebuilderd0kjaWw/out/openmpi-bin_5.0.7-1_riscv64.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 2208 2025-02-17 13:09:46.000000 control.tar.xz │ --rw-r--r-- 0 0 0 189868 2025-02-17 13:09:46.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 2200 2025-02-17 13:09:46.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 189900 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) 1604 2025-02-17 13:09:46.000000 ./control │ │ │ --rw-r--r-- 0 root (0) root (0) 1854 2025-02-17 13:09:46.000000 ./md5sums │ │ │ +-rw-r--r-- 0 root (0) root (0) 1803 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: riscv64 │ │ │ Maintainer: Debian Science Maintainers │ │ │ -Installed-Size: 667 │ │ │ +Installed-Size: 663 │ │ │ Depends: libc6 (>= 2.38), libevent-core-2.1-7t64 (>= 2.1.8-stable), libhwloc15 (>= 2.12.0), 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,8 +1,7 @@ │ │ │ │ -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,15 +4,14 @@ │ │ │ -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) 4815 2025-02-17 13:09:46.000000 ./usr/bin/mpijavac │ │ │ -rwxr-xr-x 0 root (0) root (0) 4815 2025-02-17 13:09:46.000000 ./usr/bin/mpijavac.pl │ │ │ -rwxr-xr-x 0 root (0) root (0) 183960 2025-02-17 13:09:46.000000 ./usr/bin/mpirun.openmpi │ │ │ -rwxr-xr-x 0 root (0) root (0) 27184 2025-02-17 13:09:46.000000 ./usr/bin/ompi_info │ │ │ -rwxr-xr-x 0 root (0) root (0) 192232 2025-02-17 13:09:46.000000 ./usr/bin/opal_wrapper │ │ │ -rwxr-xr-x 0 root (0) root (0) 23056 2025-02-17 13:09:46.000000 ./usr/bin/oshmem_info │ │ │ -rwxr-xr-x 0 root (0) root (0) 40288 2025-02-17 13:09:46.000000 ./usr/bin/prte │ │ │ -rwxr-xr-x 0 root (0) root (0) 32424 2025-02-17 13:09:46.000000 ./usr/bin/prte_info │ │ │ @@ -46,14 +45,15 @@ │ │ │ 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,301 +1,2 @@ │ │ │ -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 7269 7363 7636 342d 6c69 6e75 lib/riscv64-linu │ │ │ -000003f0: 782d 676e 752f 6f70 656e 6d70 692f 6c69 x-gnu/openmpi/li │ │ │ -00000400: 622f 6d70 692e 6a61 7222 3b0a 6d79 2024 b/mpi.jar";.my $ │ │ │ -00000410: 7368 6d65 6d5f 6a61 7220 3d20 222f 7573 shmem_jar = "/us │ │ │ -00000420: 722f 6c69 622f 7269 7363 7636 342d 6c69 r/lib/riscv64-li │ │ │ -00000430: 6e75 782d 676e 752f 6f70 656e 6d70 692f nux-gnu/openmpi/ │ │ │ -00000440: 6c69 622f 7368 6d65 6d2e 6a61 7222 3b0a lib/shmem.jar";. │ │ │ -00000450: 0a23 2067 6c6f 6261 6c73 0a6d 7920 2473 .# globals.my $s │ │ │ -00000460: 686f 776d 655f 6172 6720 3d20 303b 0a6d howme_arg = 0;.m │ │ │ -00000470: 7920 2476 6572 626f 7365 203d 2030 3b0a y $verbose = 0;. │ │ │ -00000480: 6d79 2024 6d79 5f61 7267 3b0a 0a23 2043 my $my_arg;..# C │ │ │ -00000490: 616e 6e6f 7420 7573 6520 7468 6520 7573 annot use the us │ │ │ -000004a0: 7561 6c20 4765 744f 7074 7320 6c69 6272 ual GetOpts libr │ │ │ -000004b0: 6172 7920 6173 2074 6865 2075 7365 7220 ary as the user │ │ │ -000004c0: 6d69 6768 740a 2320 6265 2070 6173 7369 might.# be passi │ │ │ -000004d0: 6e67 202d 6f70 7469 6f6e 7320 746f 2074 ng -options to t │ │ │ -000004e0: 6865 204a 6176 6120 636f 6d70 696c 6572 he Java compiler │ │ │ -000004f0: 2120 536f 2068 6176 6520 746f 0a23 2070 ! So have to.# p │ │ │ -00000500: 6172 7365 2074 6865 206f 7074 696f 6e73 arse the options │ │ │ -00000510: 206f 7572 7365 6c76 6573 2074 6f20 6c6f ourselves to lo │ │ │ -00000520: 6f6b 2066 6f72 2068 656c 7020 616e 6420 ok for help and │ │ │ -00000530: 7368 6f77 6d65 0a6d 7920 4073 6176 655f showme.my @save_ │ │ │ -00000540: 6172 6773 3b0a 666f 7265 6163 6820 246d args;.foreach $m │ │ │ -00000550: 795f 6172 6720 2840 4152 4756 2920 7b0a y_arg (@ARGV) {. │ │ │ -00000560: 2020 2020 6966 2028 246d 795f 6172 6720 if ($my_arg │ │ │ -00000570: 6571 2022 2d68 2220 7c7c 0a20 2020 2020 eq "-h" ||. │ │ │ -00000580: 2020 2024 6d79 5f61 7267 2065 7120 222d $my_arg eq "- │ │ │ -00000590: 2d68 2220 7c7c 0a20 2020 2020 2020 2024 -h" ||. $ │ │ │ -000005a0: 6d79 5f61 7267 2065 7120 222d 6865 6c70 my_arg eq "-help │ │ │ -000005b0: 2220 7c7c 0a20 2020 2020 2020 2024 6d79 " ||. $my │ │ │ -000005c0: 5f61 7267 2065 7120 222d 2d68 656c 7022 _arg eq "--help" │ │ │ -000005d0: 2920 7b0a 2020 2020 2020 2020 7072 696e ) {. prin │ │ │ -000005e0: 7420 224f 7074 696f 6e73 3a0a 2020 2d2d t "Options:. -- │ │ │ -000005f0: 7368 6f77 6d65 2020 2020 2020 2020 2020 showme │ │ │ -00000600: 2020 2020 2020 2020 2020 2020 5368 6f77 Show │ │ │ -00000610: 2074 6865 2077 7261 7070 6572 2063 6f6d the wrapper com │ │ │ -00000620: 7069 6c65 7220 636f 6d6d 616e 6420 7769 piler command wi │ │ │ -00000630: 7468 6f75 7420 6578 6563 7574 696e 6720 thout executing │ │ │ -00000640: 6974 0a20 202d 2d76 6572 626f 7365 2020 it. --verbose │ │ │ -00000650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ -00000660: 2020 2053 686f 7720 7468 6520 7772 6170 Show the wrap │ │ │ -00000670: 7065 7220 636f 6d70 696c 6572 2063 6f6d per compiler com │ │ │ -00000680: 6d61 6e64 202a 616e 642a 2065 7865 6375 mand *and* execu │ │ │ -00000690: 7465 2069 740a 2020 2d2d 6865 6c70 207c te it. --help | │ │ │ -000006a0: 202d 6820 2020 2020 2020 2020 2020 2020 -h │ │ │ -000006b0: 2020 2020 2020 5468 6973 2068 656c 7020 This help │ │ │ -000006c0: 6c69 7374 5c6e 223b 0a20 2020 2020 2020 list\n";. │ │ │ -000006d0: 2065 7869 7428 3029 3b0a 2020 2020 7d20 exit(0);. } │ │ │ -000006e0: 656c 7369 6620 2824 6d79 5f61 7267 2065 elsif ($my_arg e │ │ │ -000006f0: 7120 222d 2d73 686f 776d 6522 2920 7b0a q "--showme") {. │ │ │ -00000700: 2020 2020 2020 2020 2473 686f 776d 655f $showme_ │ │ │ -00000710: 6172 6720 3d20 313b 0a20 2020 207d 2065 arg = 1;. } e │ │ │ -00000720: 6c73 6966 2028 246d 795f 6172 6720 6571 lsif ($my_arg eq │ │ │ -00000730: 2022 2d2d 7665 7262 6f73 6522 2920 7b0a "--verbose") {. │ │ │ -00000740: 2020 2020 2020 2020 2476 6572 626f 7365 $verbose │ │ │ -00000750: 203d 2031 3b0a 2020 2020 7d20 656c 7365 = 1;. } else │ │ │ -00000760: 207b 0a20 2020 2020 2020 2070 7573 6828 {. push( │ │ │ -00000770: 4073 6176 655f 6172 6773 2c20 246d 795f @save_args, $my_ │ │ │ -00000780: 6172 6729 3b0a 2020 2020 7d0a 7d0a 0a23 arg);. }.}..# │ │ │ -00000790: 2043 7265 6174 6520 6120 706c 6163 6520 Create a place │ │ │ -000007a0: 746f 2073 6176 6520 6f75 7220 6172 6776 to save our argv │ │ │ -000007b0: 2061 7272 6179 2073 6f20 7765 2063 616e array so we can │ │ │ -000007c0: 2065 6469 7420 616e 790a 2320 7072 6f76 edit any.# prov │ │ │ -000007d0: 6964 6520 636c 6173 7320 7061 7468 206f ide class path o │ │ │ -000007e0: 7074 696f 6e0a 6d79 2040 6172 6775 6d65 ption.my @argume │ │ │ -000007f0: 6e74 7320 3d20 2829 3b0a 0a23 2043 6865 nts = ();..# Che │ │ │ -00000800: 636b 2074 6865 2063 6f6d 6d61 6e64 206c ck the command l │ │ │ -00000810: 696e 6520 666f 7220 6120 636c 6173 7320 ine for a class │ │ │ -00000820: 7061 7468 0a6d 7920 2463 705f 666f 756e path.my $cp_foun │ │ │ -00000830: 6420 3d20 303b 0a6d 7920 246d 795f 6370 d = 0;.my $my_cp │ │ │ -00000840: 3b0a 666f 7265 6163 6820 246d 795f 6172 ;.foreach $my_ar │ │ │ -00000850: 6720 2840 7361 7665 5f61 7267 7329 207b g (@save_args) { │ │ │ -00000860: 0a20 2020 2069 6620 2831 203d 3d20 2463 . if (1 == $c │ │ │ -00000870: 705f 666f 756e 6429 207b 0a20 2020 2020 p_found) {. │ │ │ -00000880: 2020 2024 6d79 5f63 7020 3d20 246d 795f $my_cp = $my_ │ │ │ -00000890: 6172 673b 0a20 2020 2020 2020 2069 6620 arg;. if │ │ │ -000008a0: 2830 203e 2069 6e64 6578 2824 6d79 5f61 (0 > index($my_a │ │ │ -000008b0: 7267 2c20 226d 7069 2e6a 6172 2229 2920 rg, "mpi.jar")) │ │ │ -000008c0: 7b0a 2020 2020 2020 2020 2020 2020 2320 {. # │ │ │ -000008d0: 6e6f 7420 666f 756e 642c 2073 6f20 7765 not found, so we │ │ │ -000008e0: 2061 6464 206f 7572 2070 6174 680a 2020 add our path. │ │ │ -000008f0: 2020 2020 2020 2020 2020 6966 2028 7269 if (ri │ │ │ -00000900: 6e64 6578 2824 6d79 5f61 7267 2c20 223a ndex($my_arg, ": │ │ │ -00000910: 2229 203d 3d20 6c65 6e67 7468 2824 6d79 ") == length($my │ │ │ -00000920: 5f61 7267 292d 3129 207b 0a20 2020 2020 _arg)-1) {. │ │ │ -00000930: 2020 2020 2020 2020 2020 2023 2061 6c72 # alr │ │ │ -00000940: 6561 6479 2068 6176 6520 6120 636f 6c6f eady have a colo │ │ │ -00000950: 6e20 6174 2074 6865 2065 6e64 0a20 2020 n at the end. │ │ │ -00000960: 2020 2020 2020 2020 2020 2020 2024 6d79 $my │ │ │ -00000970: 5f63 7020 3d20 246d 795f 6370 202e 2024 _cp = $my_cp . $ │ │ │ -00000980: 6d70 695f 6a61 723b 0a20 2020 2020 2020 mpi_jar;. │ │ │ -00000990: 2020 2020 207d 2065 6c73 6520 7b0a 2020 } else {. │ │ │ -000009a0: 2020 2020 2020 2020 2020 2020 2020 2320 # │ │ │ -000009b0: 6e65 6564 2074 6f20 6164 6420 7468 6520 need to add the │ │ │ -000009c0: 636f 6c6f 6e20 6265 7477 6565 6e20 7061 colon between pa │ │ │ -000009d0: 7468 730a 2020 2020 2020 2020 2020 2020 ths. │ │ │ -000009e0: 2020 2020 246d 795f 6370 203d 2024 6d79 $my_cp = $my │ │ │ -000009f0: 5f63 7020 2e20 223a 2220 2e20 246d 7069 _cp . ":" . $mpi │ │ │ -00000a00: 5f6a 6172 3b0a 2020 2020 2020 2020 2020 _jar;. │ │ │ -00000a10: 2020 7d0a 2020 2020 2020 2020 7d0a 2020 }. }. │ │ │ -00000a20: 2020 2020 2020 6966 2028 3020 3e20 696e if (0 > in │ │ │ -00000a30: 6465 7828 246d 795f 6172 672c 2022 7368 dex($my_arg, "sh │ │ │ -00000a40: 6d65 6d2e 6a61 7222 2929 207b 0a20 2020 mem.jar")) {. │ │ │ -00000a50: 2020 2020 2020 2020 2023 206e 6f74 2066 # not f │ │ │ -00000a60: 6f75 6e64 2c20 736f 2077 6520 6164 6420 ound, so we add │ │ │ -00000a70: 6f75 7220 7061 7468 0a20 2020 2020 2020 our path. │ │ │ -00000a80: 2020 2020 2069 6620 2872 696e 6465 7828 if (rindex( │ │ │ -00000a90: 246d 795f 6172 672c 2022 3a22 2920 3d3d $my_arg, ":") == │ │ │ -00000aa0: 206c 656e 6774 6828 246d 795f 6172 6729 length($my_arg) │ │ │ -00000ab0: 2d31 2920 7b0a 2020 2020 2020 2020 2020 -1) {. │ │ │ -00000ac0: 2020 2020 2020 2320 616c 7265 6164 7920 # already │ │ │ -00000ad0: 6861 7665 2061 2063 6f6c 6f6e 2061 7420 have a colon at │ │ │ -00000ae0: 7468 6520 656e 640a 2020 2020 2020 2020 the end. │ │ │ -00000af0: 2020 2020 2020 2020 246d 795f 6370 203d $my_cp = │ │ │ -00000b00: 2024 6d79 5f63 7020 2e20 2473 686d 656d $my_cp . $shmem │ │ │ -00000b10: 5f6a 6172 3b0a 2020 2020 2020 2020 2020 _jar;. │ │ │ -00000b20: 2020 7d20 656c 7365 207b 0a20 2020 2020 } else {. │ │ │ -00000b30: 2020 2020 2020 2020 2020 2023 206e 6565 # nee │ │ │ -00000b40: 6420 746f 2061 6464 2074 6865 2063 6f6c d to add the col │ │ │ -00000b50: 6f6e 2062 6574 7765 656e 2070 6174 6873 on between paths │ │ │ -00000b60: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ -00000b70: 2024 6d79 5f63 7020 3d20 246d 795f 6370 $my_cp = $my_cp │ │ │ -00000b80: 202e 2022 3a22 202e 2024 7368 6d65 6d5f . ":" . $shmem_ │ │ │ -00000b90: 6a61 723b 0a20 2020 2020 2020 2020 2020 jar;. │ │ │ -00000ba0: 207d 0a20 2020 2020 2020 207d 0a20 2020 }. }. │ │ │ -00000bb0: 2020 2020 2070 7573 6828 4061 7267 756d push(@argum │ │ │ -00000bc0: 656e 7473 2c20 246d 795f 6370 293b 0a20 ents, $my_cp);. │ │ │ -00000bd0: 2020 2020 2020 2024 6370 5f66 6f75 6e64 $cp_found │ │ │ -00000be0: 203d 2032 3b0a 2020 2020 7d20 656c 7365 = 2;. } else │ │ │ -00000bf0: 207b 0a20 2020 2020 2020 2069 6620 2830 {. if (0 │ │ │ -00000c00: 203d 3d20 2463 705f 666f 756e 6420 2626 == $cp_found && │ │ │ -00000c10: 2028 0a20 2020 2020 2020 2020 2020 2030 (. 0 │ │ │ -00000c20: 203c 3d20 696e 6465 7828 246d 795f 6172 <= index($my_ar │ │ │ -00000c30: 672c 2022 2d63 7022 2920 7c7c 0a20 2020 g, "-cp") ||. │ │ │ -00000c40: 2020 2020 2020 2020 2030 203c 3d20 696e 0 <= in │ │ │ -00000c50: 6465 7828 246d 795f 6172 672c 2022 2d63 dex($my_arg, "-c │ │ │ -00000c60: 6c61 7373 7061 7468 2229 2929 0a20 2020 lasspath"))). │ │ │ -00000c70: 2020 2020 207b 0a20 2020 2020 2020 2020 {. │ │ │ -00000c80: 2020 2024 6370 5f66 6f75 6e64 203d 2031 $cp_found = 1 │ │ │ -00000c90: 3b0a 2020 2020 2020 2020 7d0a 2020 2020 ;. }. │ │ │ -00000ca0: 2020 2020 7075 7368 2840 6172 6775 6d65 push(@argume │ │ │ -00000cb0: 6e74 732c 2024 6d79 5f61 7267 293b 0a20 nts, $my_arg);. │ │ │ -00000cc0: 2020 207d 0a7d 0a0a 2320 4966 2074 6865 }.}..# If the │ │ │ -00000cd0: 2063 6c61 7373 2070 6174 6820 7761 736e class path wasn │ │ │ -00000ce0: 2774 2066 6f75 6e64 206f 6e20 7468 6520 't found on the │ │ │ -00000cf0: 636d 6420 6c69 6e65 2c20 7468 656e 0a23 cmd line, then.# │ │ │ -00000d00: 2077 6520 6e65 7874 2063 6865 636b 2074 we next check t │ │ │ -00000d10: 6865 2063 6c61 7373 2070 6174 6820 696e he class path in │ │ │ -00000d20: 2074 6865 2065 6e76 6972 6f6e 6d65 6e74 the environment │ │ │ -00000d30: 2c20 6966 2069 7420 6578 6973 7473 0a69 , if it exists.i │ │ │ -00000d40: 6620 2832 2021 3d20 2463 705f 666f 756e f (2 != $cp_foun │ │ │ -00000d50: 6420 2626 2065 7869 7374 7320 2445 4e56 d && exists $ENV │ │ │ -00000d60: 7b27 434c 4153 5350 4154 4827 7d20 2626 {'CLASSPATH'} && │ │ │ -00000d70: 206c 656e 6774 6828 2445 4e56 7b27 434c length($ENV{'CL │ │ │ -00000d80: 4153 5350 4154 4827 7d29 203e 2030 2920 ASSPATH'}) > 0) │ │ │ -00000d90: 7b0a 2020 2020 246d 795f 6370 203d 2024 {. $my_cp = $ │ │ │ -00000da0: 454e 567b 2743 4c41 5353 5041 5448 277d ENV{'CLASSPATH'} │ │ │ -00000db0: 3b0a 2020 2020 6966 2830 203e 2069 6e64 ;. if(0 > ind │ │ │ -00000dc0: 6578 2824 6d79 5f63 702c 2022 6d70 692e ex($my_cp, "mpi. │ │ │ -00000dd0: 6a61 7222 2929 207b 0a20 2020 2020 2020 jar")) {. │ │ │ -00000de0: 2023 206e 6f74 2066 6f75 6e64 2c20 736f # not found, so │ │ │ -00000df0: 2077 6520 6164 6420 6f75 7220 7061 7468 we add our path │ │ │ -00000e00: 0a20 2020 2020 2020 2069 6620 2872 696e . if (rin │ │ │ -00000e10: 6465 7828 246d 795f 6370 2c20 223a 2229 dex($my_cp, ":") │ │ │ -00000e20: 203d 3d20 6c65 6e67 7468 2824 6d79 5f63 == length($my_c │ │ │ -00000e30: 7029 2d31 2920 7b0a 2020 2020 2020 2020 p)-1) {. │ │ │ -00000e40: 2020 2020 2320 616c 7265 6164 7920 6861 # already ha │ │ │ -00000e50: 7665 2061 2063 6f6c 6f6e 2061 7420 7468 ve a colon at th │ │ │ -00000e60: 6520 656e 640a 2020 2020 2020 2020 2020 e end. │ │ │ -00000e70: 2020 246d 795f 6370 203d 2024 6d79 5f63 $my_cp = $my_c │ │ │ -00000e80: 7020 2e20 246d 7069 5f6a 6172 3b0a 2020 p . $mpi_jar;. │ │ │ -00000e90: 2020 2020 2020 7d20 656c 7365 207b 0a20 } else {. │ │ │ -00000ea0: 2020 2020 2020 2020 2020 2023 206e 6565 # nee │ │ │ -00000eb0: 6420 746f 2061 6464 2074 6865 2063 6f6c d to add the col │ │ │ -00000ec0: 6f6e 2062 6574 7765 656e 2070 6174 6873 on between paths │ │ │ -00000ed0: 0a20 2020 2020 2020 2020 2020 2024 6d79 . $my │ │ │ -00000ee0: 5f63 7020 3d20 246d 795f 6370 202e 2022 _cp = $my_cp . " │ │ │ -00000ef0: 3a22 202e 2024 6d70 695f 6a61 723b 0a20 :" . $mpi_jar;. │ │ │ -00000f00: 2020 2020 2020 207d 0a20 2020 207d 0a20 }. }. │ │ │ -00000f10: 2020 2069 6620 2830 203e 2069 6e64 6578 if (0 > index │ │ │ -00000f20: 2824 6d79 5f63 702c 2022 7368 6d65 6d2e ($my_cp, "shmem. │ │ │ -00000f30: 6a61 7222 2929 207b 0a20 2020 2020 2020 jar")) {. │ │ │ -00000f40: 2023 206e 6f74 2066 6f75 6e64 2c20 736f # not found, so │ │ │ -00000f50: 2077 6520 6164 6420 6f75 7220 7061 7468 we add our path │ │ │ -00000f60: 0a20 2020 2020 2020 2069 6620 2872 696e . if (rin │ │ │ -00000f70: 6465 7828 246d 795f 6370 2c20 223a 2229 dex($my_cp, ":") │ │ │ -00000f80: 203d 3d20 6c65 6e67 7468 2824 6d79 5f63 == length($my_c │ │ │ -00000f90: 7029 2d31 2920 7b0a 2020 2020 2020 2020 p)-1) {. │ │ │ -00000fa0: 2020 2020 2320 616c 7265 6164 7920 6861 # already ha │ │ │ -00000fb0: 7665 2061 2063 6f6c 6f6e 2061 7420 7468 ve a colon at th │ │ │ -00000fc0: 6520 656e 640a 2020 2020 2020 2020 2020 e end. │ │ │ -00000fd0: 2020 246d 795f 6370 203d 2024 6d79 5f63 $my_cp = $my_c │ │ │ -00000fe0: 7020 2e20 2473 686d 656d 5f6a 6172 3b0a p . $shmem_jar;. │ │ │ -00000ff0: 2020 2020 2020 2020 7d20 656c 7365 207b } else { │ │ │ -00001000: 0a20 2020 2020 2020 2020 2020 2023 206e . # n │ │ │ -00001010: 6565 6420 746f 2061 6464 2074 6865 2063 eed to add the c │ │ │ -00001020: 6f6c 6f6e 2062 6574 7765 656e 2070 6174 olon between pat │ │ │ -00001030: 6873 0a20 2020 2020 2020 2020 2020 2024 hs. $ │ │ │ -00001040: 6d79 5f63 7020 3d20 246d 795f 6370 202e my_cp = $my_cp . │ │ │ -00001050: 2022 3a22 202e 2024 7368 6d65 6d5f 6a61 ":" . $shmem_ja │ │ │ -00001060: 723b 0a20 2020 2020 2020 207d 0a20 2020 r;. }. │ │ │ -00001070: 207d 0a20 2020 2075 6e73 6869 6674 2840 }. unshift(@ │ │ │ -00001080: 6172 6775 6d65 6e74 732c 2024 6d79 5f63 arguments, $my_c │ │ │ -00001090: 7029 3b0a 2020 2020 756e 7368 6966 7428 p);. unshift( │ │ │ -000010a0: 4061 7267 756d 656e 7473 2c20 222d 6370 @arguments, "-cp │ │ │ -000010b0: 2229 3b0a 2020 2020 2320 656e 7375 7265 ");. # ensure │ │ │ -000010c0: 2077 6520 6d61 726b 2074 6861 7420 7765 we mark that we │ │ │ -000010d0: 2022 666f 756e 6422 2074 6865 2063 6c61 "found" the cla │ │ │ -000010e0: 7373 2070 6174 680a 2020 2020 2463 705f ss path. $cp_ │ │ │ -000010f0: 666f 756e 6420 3d20 313b 0a7d 0a0a 2320 found = 1;.}..# │ │ │ -00001100: 4966 2074 6865 2063 6c61 7373 2070 6174 If the class pat │ │ │ -00001110: 6820 7761 736e 2774 2066 6f75 6e64 2069 h wasn't found i │ │ │ -00001120: 6e20 6569 7468 6572 206c 6f63 6174 696f n either locatio │ │ │ -00001130: 6e2c 2074 6865 6e0a 2320 7765 2068 6176 n, then.# we hav │ │ │ -00001140: 6520 746f 2069 6e73 6572 7420 6974 2061 e to insert it a │ │ │ -00001150: 7320 7468 6520 6669 7273 7420 6172 6775 s the first argu │ │ │ -00001160: 6d65 6e74 0a69 6620 2830 203d 3d20 2463 ment.if (0 == $c │ │ │ -00001170: 705f 666f 756e 6429 207b 0a20 2020 2075 p_found) {. u │ │ │ -00001180: 6e73 6869 6674 2840 6172 6775 6d65 6e74 nshift(@argument │ │ │ -00001190: 732c 2024 6d70 695f 6a61 7220 2e20 223a s, $mpi_jar . ": │ │ │ -000011a0: 2220 2e20 2473 686d 656d 5f6a 6172 293b " . $shmem_jar); │ │ │ -000011b0: 0a20 2020 2075 6e73 6869 6674 2840 6172 . unshift(@ar │ │ │ -000011c0: 6775 6d65 6e74 732c 2022 2d63 7022 293b guments, "-cp"); │ │ │ -000011d0: 0a7d 0a0a 2320 436f 6e73 7472 7563 7420 .}..# Construct │ │ │ -000011e0: 7468 6520 636f 6d6d 616e 640a 6d79 2024 the command.my $ │ │ │ -000011f0: 7265 7475 726e 436f 6465 203d 2030 3b0a returnCode = 0;. │ │ │ -00001200: 6966 2028 2473 686f 776d 655f 6172 6729 if ($showme_arg) │ │ │ -00001210: 207b 0a20 2020 2070 7269 6e74 2022 246d {. print "$m │ │ │ -00001220: 795f 636f 6d70 696c 6572 2040 6172 6775 y_compiler @argu │ │ │ -00001230: 6d65 6e74 735c 6e22 3b0a 7d20 656c 7365 ments\n";.} else │ │ │ -00001240: 207b 0a20 2020 2069 6620 2824 7665 7262 {. if ($verb │ │ │ -00001250: 6f73 6529 207b 0a20 2020 2020 2020 2070 ose) {. p │ │ │ -00001260: 7269 6e74 2022 246d 795f 636f 6d70 696c rint "$my_compil │ │ │ -00001270: 6572 2040 6172 6775 6d65 6e74 735c 6e22 er @arguments\n" │ │ │ -00001280: 3b0a 2020 2020 7d0a 2020 2020 2472 6574 ;. }. $ret │ │ │ -00001290: 7572 6e43 6f64 6520 3d20 7379 7374 656d urnCode = system │ │ │ -000012a0: 2024 6d79 5f63 6f6d 7069 6c65 722c 2040 $my_compiler, @ │ │ │ -000012b0: 6172 6775 6d65 6e74 733b 0a7d 0a65 7869 arguments;.}.exi │ │ │ -000012c0: 7420 2472 6574 7572 6e43 6f64 653b 0a t $returnCode;. │ │ │ +00000000: 6465 7374 696e 6174 696f 6e3a 206d 7069 destination: mpi │ │ │ +00000010: 6a61 7661 632e 706c 0a javac.pl.