{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.tHYKASy4/b1/openmpi_4.1.4-3_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.tHYKASy4/b2/openmpi_4.1.4-3_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,8 +1,8 @@\n \n 89ebdaab65a8e7de5445beff67d09518 919932 libdevel optional libopenmpi-dev_4.1.4-3_armhf.deb\n 9f3418de6a187cdd313f8d68656f5d6d 9232988 debug optional libopenmpi3-dbgsym_4.1.4-3_armhf.deb\n 77d8cb5a727ff7e9863eb99626586a05 1849204 libs optional libopenmpi3_4.1.4-3_armhf.deb\n ab6401ab260dc661a116e30f90787f73 94260 debug optional openmpi-bin-dbgsym_4.1.4-3_armhf.deb\n- a1f9eb4e827288cd78d0dbddb0bdac0d 193216 net optional openmpi-bin_4.1.4-3_armhf.deb\n+ 768b2afd67a9b0866889fe5587f2a7e1 193296 net optional openmpi-bin_4.1.4-3_armhf.deb\n 24e663437812ed5328d6d2776dbc42ef 164588 net optional openmpi-common_4.1.4-3_all.deb\n 76cc23a26010d3ad2d6839697b83b56a 816160 doc optional openmpi-doc_4.1.4-3_all.deb\n"}, {"source1": "openmpi-bin_4.1.4-3_armhf.deb", "source2": "openmpi-bin_4.1.4-3_armhf.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2022-10-12 11:52:34.000000 debian-binary\n--rw-r--r-- 0 0 0 2280 2022-10-12 11:52:34.000000 control.tar.xz\n--rw-r--r-- 0 0 0 190744 2022-10-12 11:52:34.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2320 2022-10-12 11:52:34.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 190784 2022-10-12 11:52:34.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,6 +1,6 @@\n drwxr-xr-x 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./\n -rw-r--r-- 0 root (0) root (0) 110 2022-10-12 11:52:34.000000 ./conffiles\n -rw-r--r-- 0 root (0) root (0) 1512 2022-10-12 11:52:34.000000 ./control\n--rw-r--r-- 0 root (0) root (0) 2016 2022-10-12 11:52:34.000000 ./md5sums\n+-rw-r--r-- 0 root (0) root (0) 2067 2022-10-12 11:52:34.000000 ./md5sums\n -rwxr-xr-x 0 root (0) root (0) 1487 2022-10-12 11:52:34.000000 ./postinst\n -rwxr-xr-x 0 root (0) root (0) 205 2022-10-12 11:52:34.000000 ./prerm\n"}, {"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: openmpi-bin\n Source: openmpi\n Version: 4.1.4-3\n Architecture: armhf\n Maintainer: Alastair McKinstry \n-Installed-Size: 346\n+Installed-Size: 350\n Depends: libc6 (>= 2.34), libevent-core-2.1-7 (>= 2.1.8-stable), libopenmpi3 (>= 4.1.4), openmpi-common (>= 4.1.4-3), openssh-client | ssh-client\n Suggests: gfortran | fortran-compiler\n Conflicts: openmpi-bin\n Breaks: lam4-dev (<< 7.1.4-4), libmpich-dev (<< 3.3~b1-5), libopenmpi-dev (<< 4.0.5-3), mpich (<< 3.3~b1-5)\n Replaces: libopenmpi-dev (<< 4.0.5-3)\n Section: net\n Priority: optional\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}, {"source1": "line order", "source2": "line order", "unified_diff": "@@ -1,8 +1,9 @@\n usr/bin/aggregate_profile\n+usr/bin/mpijavac\n usr/bin/mpijavac.pl\n usr/bin/ompi_info\n usr/bin/opal_wrapper\n usr/bin/orte-clean\n usr/bin/orte-info\n usr/bin/orte-server\n usr/bin/orted\n"}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -3,14 +3,15 @@\n drwxr-xr-x 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./etc/openmpi/\n -rw-r--r-- 0 root (0) root (0) 1661 2022-10-12 11:52:34.000000 ./etc/openmpi/openmpi-default-hostfile\n -rw-r--r-- 0 root (0) root (0) 3357 2022-10-12 11:52:34.000000 ./etc/openmpi/openmpi-mca-params.conf\n -rw-r--r-- 0 root (0) root (0) 1441 2022-10-12 11:52:34.000000 ./etc/openmpi/openmpi-totalview.tcl\n drwxr-xr-x 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/\n drwxr-xr-x 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/\n -rwxr-xr-x 0 root (0) root (0) 1887 2022-10-12 11:52:34.000000 ./usr/bin/aggregate_profile\n+-rwxr-xr-x 0 root (0) root (0) 4819 2022-10-12 11:52:34.000000 ./usr/bin/mpijavac\n -rwxr-xr-x 0 root (0) root (0) 4819 2022-10-12 11:52:34.000000 ./usr/bin/mpijavac.pl\n -rwxr-xr-x 0 root (0) root (0) 22308 2022-10-12 11:52:34.000000 ./usr/bin/ompi_info\n -rwxr-xr-x 0 root (0) root (0) 14112 2022-10-12 11:52:34.000000 ./usr/bin/opal_wrapper\n -rwxr-xr-x 0 root (0) root (0) 10112 2022-10-12 11:52:34.000000 ./usr/bin/orte-clean\n -rwxr-xr-x 0 root (0) root (0) 26640 2022-10-12 11:52:34.000000 ./usr/bin/orte-info\n -rwxr-xr-x 0 root (0) root (0) 10188 2022-10-12 11:52:34.000000 ./usr/bin/orte-server\n -rwxr-xr-x 0 root (0) root (0) 5756 2022-10-12 11:52:34.000000 ./usr/bin/orted\n@@ -46,15 +47,14 @@\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpic++.openmpi -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpicc.openmpi -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpicxx.openmpi -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpiexec.openmpi -> orterun\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpif77.openmpi -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpif90.openmpi -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpifort.openmpi -> opal_wrapper\n-lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpijavac -> mpijavac.pl\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/mpirun.openmpi -> orterun\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/ompi-clean -> orte-clean\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/ompi-server -> orte-server\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/opalc++ -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/opalcc -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/bin/ortecc -> opal_wrapper\n lrwxrwxrwx 0 root (0) root (0) 0 2022-10-12 11:52:34.000000 ./usr/share/man/man1/mpiCC.openmpi.1.gz -> mpic++.openmpi.1.gz\n"}, {"source1": "./usr/bin/mpijavac", "source2": "./usr/bin/mpijavac", "has_internal_linenos": true, "unified_diff": "@@ -1,2 +1,302 @@\n-00000000: 6465 7374 696e 6174 696f 6e3a 206d 7069 destination: mpi\n-00000010: 6a61 7661 632e 706c 0a javac.pl.\n+00000000: 2321 202f 7573 722f 6269 6e2f 7065 726c #! /usr/bin/perl\n+00000010: 0a0a 2320 5741 524e 494e 473a 2044 4f20 ..# WARNING: DO \n+00000020: 4e4f 5420 4544 4954 2054 4845 206d 7069 NOT EDIT THE mpi\n+00000030: 6a61 7661 2e70 6c20 4649 4c45 2041 5320 java.pl FILE AS \n+00000040: 4954 2049 5320 4745 4e45 5241 5445 4421 IT IS GENERATED!\n+00000050: 0a23 2020 2020 2020 2020 2020 4d41 4b45 .# MAKE\n+00000060: 2041 4c4c 2043 4841 4e47 4553 2049 4e20 ALL CHANGES IN \n+00000070: 6d70 696a 6176 612e 706c 2e69 6e0a 0a23 mpijava.pl.in..#\n+00000080: 2043 6f70 7972 6967 6874 2028 6329 2032 Copyright (c) 2\n+00000090: 3031 312d 3230 3133 2043 6973 636f 2053 011-2013 Cisco S\n+000000a0: 7973 7465 6d73 2c20 496e 632e 2020 416c ystems, Inc. Al\n+000000b0: 6c20 7269 6768 7473 2072 6573 6572 7665 l rights reserve\n+000000c0: 642e 0a23 2043 6f70 7972 6967 6874 2028 d..# Copyright (\n+000000d0: 6329 2032 3031 3220 2020 2020 204f 7261 c) 2012 Ora\n+000000e0: 636c 6520 616e 642f 6f72 2069 7473 2061 cle and/or its a\n+000000f0: 6666 696c 6961 7465 732e 2020 416c 6c20 ffiliates. All \n+00000100: 7269 6768 7473 2072 6573 6572 7665 642e rights reserved.\n+00000110: 0a0a 7573 6520 7374 7269 6374 3b0a 0a23 ..use strict;..#\n+00000120: 2054 6865 206d 6169 6e20 7075 7270 6f73 The main purpos\n+00000130: 6520 6f66 2074 6869 7320 7772 6170 7065 e of this wrappe\n+00000140: 7220 636f 6d70 696c 6572 2069 7320 746f r compiler is to\n+00000150: 2063 6865 636b 2066 6f72 0a23 2061 6e64 check for.# and\n+00000160: 2061 646a 7573 7420 7468 6520 4a61 7661 adjust the Java\n+00000170: 2063 6c61 7373 2070 6174 6820 746f 2069 class path to i\n+00000180: 6e63 6c75 6465 2074 6865 204f 4d50 4920 nclude the OMPI \n+00000190: 636c 6173 7365 730a 2320 696e 206d 7069 classes.# in mpi\n+000001a0: 2e6a 6172 2e20 5468 6520 7573 6572 206d .jar. The user m\n+000001b0: 6179 2068 6176 6520 7370 6563 6966 6965 ay have specifie\n+000001c0: 6420 6120 636c 6173 7320 7061 7468 206f d a class path o\n+000001d0: 6e0a 2320 6f75 7220 636d 6420 6c69 6e65 n.# our cmd line\n+000001e0: 2c20 6f72 2069 7420 6d61 7920 6265 2069 , or it may be i\n+000001f0: 6e20 7468 6520 656e 7669 726f 6e6d 656e n the environmen\n+00000200: 742c 2073 6f20 7765 2068 6176 650a 2320 t, so we have.# \n+00000210: 746f 2063 6865 636b 2066 6f72 2062 6f74 to check for bot\n+00000220: 682e 2057 6520 616c 736f 206e 6565 6420 h. We also need \n+00000230: 746f 2062 6520 6361 7265 6675 6c20 6e6f to be careful no\n+00000240: 7420 746f 0a23 206a 7573 7420 6f76 6572 t to.# just over\n+00000250: 7269 6465 2074 6865 2063 6c61 7373 2070 ride the class p\n+00000260: 6174 6820 6173 2069 7420 7072 6f62 6162 ath as it probab\n+00000270: 6c79 2069 6e63 6c75 6465 7320 636c 6173 ly includes clas\n+00000280: 7365 730a 2320 7468 6579 206e 6565 6420 ses.# they need \n+00000290: 666f 7220 7468 6569 7220 6170 706c 6963 for their applic\n+000002a0: 6174 696f 6e21 2049 7420 616c 736f 206d ation! It also m\n+000002b0: 6179 2061 6c72 6561 6479 2069 6e63 6c75 ay already inclu\n+000002c0: 6465 0a23 2074 6865 2070 6174 6820 746f de.# the path to\n+000002d0: 206d 7069 2e6a 6172 2c20 616e 6420 7768 mpi.jar, and wh\n+000002e0: 696c 6520 6974 2064 6f65 736e 2774 2068 ile it doesn't h\n+000002f0: 7572 7420 616e 7974 6869 6e67 2c20 7765 urt anything, we\n+00000300: 0a23 2064 6f6e 2774 2077 616e 7420 746f .# don't want to\n+00000310: 2069 6e63 6c75 6465 206f 7572 2063 6c61 include our cla\n+00000320: 7373 2070 6174 6820 6d6f 7265 2074 6861 ss path more tha\n+00000330: 6e20 6f6e 6365 2074 6f20 6176 6f69 640a n once to avoid.\n+00000340: 2320 7573 6572 2061 7374 6f6e 6973 686d # user astonishm\n+00000350: 656e 740a 0a23 204c 6574 2074 6865 2062 ent..# Let the b\n+00000360: 7569 6c64 2073 7973 7465 6d20 7072 6f76 uild system prov\n+00000370: 6964 6520 7573 2077 6974 6820 736f 6d65 ide us with some\n+00000380: 2063 7269 7469 6361 6c20 7661 6c75 6573 critical values\n+00000390: 0a6d 7920 246d 795f 636f 6d70 696c 6572 .my $my_compiler\n+000003a0: 203d 2022 2f75 7372 2f6c 6962 2f6a 766d = \"/usr/lib/jvm\n+000003b0: 2f64 6566 6175 6c74 2d6a 6176 612f 6269 /default-java/bi\n+000003c0: 6e2f 6a61 7661 6322 3b0a 6d79 2024 6d70 n/javac\";.my $mp\n+000003d0: 695f 6a61 7220 2020 3d20 222f 7573 722f i_jar = \"/usr/\n+000003e0: 6c69 622f 6172 6d2d 6c69 6e75 782d 676e lib/arm-linux-gn\n+000003f0: 7565 6162 6968 662f 6f70 656e 6d70 692f ueabihf/openmpi/\n+00000400: 6c69 622f 6d70 692e 6a61 7222 3b0a 6d79 lib/mpi.jar\";.my\n+00000410: 2024 7368 6d65 6d5f 6a61 7220 3d20 222f $shmem_jar = \"/\n+00000420: 7573 722f 6c69 622f 6172 6d2d 6c69 6e75 usr/lib/arm-linu\n+00000430: 782d 676e 7565 6162 6968 662f 6f70 656e x-gnueabihf/open\n+00000440: 6d70 692f 6c69 622f 7368 6d65 6d2e 6a61 mpi/lib/shmem.ja\n+00000450: 7222 3b0a 0a23 2067 6c6f 6261 6c73 0a6d r\";..# globals.m\n+00000460: 7920 2473 686f 776d 655f 6172 6720 3d20 y $showme_arg = \n+00000470: 303b 0a6d 7920 2476 6572 626f 7365 203d 0;.my $verbose =\n+00000480: 2030 3b0a 6d79 2024 6d79 5f61 7267 3b0a 0;.my $my_arg;.\n+00000490: 0a23 2043 616e 6e6f 7420 7573 6520 7468 .# Cannot use th\n+000004a0: 6520 7573 7561 6c20 4765 744f 7074 7320 e usual GetOpts \n+000004b0: 6c69 6272 6172 7920 6173 2074 6865 2075 library as the u\n+000004c0: 7365 7220 6d69 6768 740a 2320 6265 2070 ser might.# be p\n+000004d0: 6173 7369 6e67 202d 6f70 7469 6f6e 7320 assing -options \n+000004e0: 746f 2074 6865 204a 6176 6120 636f 6d70 to the Java comp\n+000004f0: 696c 6572 2120 536f 2068 6176 6520 746f iler! So have to\n+00000500: 0a23 2070 6172 7365 2074 6865 206f 7074 .# parse the opt\n+00000510: 696f 6e73 206f 7572 7365 6c76 6573 2074 ions ourselves t\n+00000520: 6f20 6c6f 6f6b 2066 6f72 2068 656c 7020 o look for help \n+00000530: 616e 6420 7368 6f77 6d65 0a6d 7920 4073 and showme.my @s\n+00000540: 6176 655f 6172 6773 3b0a 666f 7265 6163 ave_args;.foreac\n+00000550: 6820 246d 795f 6172 6720 2840 4152 4756 h $my_arg (@ARGV\n+00000560: 2920 7b0a 2020 2020 6966 2028 246d 795f ) {. if ($my_\n+00000570: 6172 6720 6571 2022 2d68 2220 7c7c 0a20 arg eq \"-h\" ||. \n+00000580: 2020 2020 2020 2024 6d79 5f61 7267 2065 $my_arg e\n+00000590: 7120 222d 2d68 2220 7c7c 0a20 2020 2020 q \"--h\" ||. \n+000005a0: 2020 2024 6d79 5f61 7267 2065 7120 222d $my_arg eq \"-\n+000005b0: 6865 6c70 2220 7c7c 0a20 2020 2020 2020 help\" ||. \n+000005c0: 2024 6d79 5f61 7267 2065 7120 222d 2d68 $my_arg eq \"--h\n+000005d0: 656c 7022 2920 7b0a 2020 2020 2020 2020 elp\") {. \n+000005e0: 7072 696e 7420 224f 7074 696f 6e73 3a0a print \"Options:.\n+000005f0: 2020 2d2d 7368 6f77 6d65 2020 2020 2020 --showme \n+00000600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00000610: 5368 6f77 2074 6865 2077 7261 7070 6572 Show the wrapper\n+00000620: 2063 6f6d 7069 6c65 7220 636f 6d6d 616e compiler comman\n+00000630: 6420 7769 7468 6f75 7420 6578 6563 7574 d without execut\n+00000640: 696e 6720 6974 0a20 202d 2d76 6572 626f ing it. --verbo\n+00000650: 7365 2020 2020 2020 2020 2020 2020 2020 se \n+00000660: 2020 2020 2020 2053 686f 7720 7468 6520 Show the \n+00000670: 7772 6170 7065 7220 636f 6d70 696c 6572 wrapper compiler\n+00000680: 2063 6f6d 6d61 6e64 202a 616e 642a 2065 command *and* e\n+00000690: 7865 6375 7465 2069 740a 2020 2d2d 6865 xecute it. --he\n+000006a0: 6c70 207c 202d 6820 2020 2020 2020 2020 lp | -h \n+000006b0: 2020 2020 2020 2020 2020 5468 6973 2068 This h\n+000006c0: 656c 7020 6c69 7374 5c6e 223b 0a20 2020 elp list\\n\";. \n+000006d0: 2020 2020 2065 7869 7428 3029 3b0a 2020 exit(0);. \n+000006e0: 2020 7d20 656c 7369 6620 2824 6d79 5f61 } elsif ($my_a\n+000006f0: 7267 2065 7120 222d 2d73 686f 776d 6522 rg eq \"--showme\"\n+00000700: 2920 7b0a 2020 2020 2020 2020 2473 686f ) {. $sho\n+00000710: 776d 655f 6172 6720 3d20 313b 0a20 2020 wme_arg = 1;. \n+00000720: 207d 2065 6c73 6966 2028 246d 795f 6172 } elsif ($my_ar\n+00000730: 6720 6571 2022 2d2d 7665 7262 6f73 6522 g eq \"--verbose\"\n+00000740: 2920 7b0a 2020 2020 2020 2020 2476 6572 ) {. $ver\n+00000750: 626f 7365 203d 2031 3b0a 2020 2020 7d20 bose = 1;. } \n+00000760: 656c 7365 207b 0a20 2020 2020 2020 2070 else {. p\n+00000770: 7573 6828 4073 6176 655f 6172 6773 2c20 ush(@save_args, \n+00000780: 246d 795f 6172 6729 3b0a 2020 2020 7d0a $my_arg);. }.\n+00000790: 7d0a 0a23 2043 7265 6174 6520 6120 706c }..# Create a pl\n+000007a0: 6163 6520 746f 2073 6176 6520 6f75 7220 ace to save our \n+000007b0: 6172 6776 2061 7272 6179 2073 6f20 7765 argv array so we\n+000007c0: 2063 616e 2065 6469 7420 616e 790a 2320 can edit any.# \n+000007d0: 7072 6f76 6964 6520 636c 6173 7320 7061 provide class pa\n+000007e0: 7468 206f 7074 696f 6e0a 6d79 2040 6172 th option.my @ar\n+000007f0: 6775 6d65 6e74 7320 3d20 2829 3b0a 0a23 guments = ();..#\n+00000800: 2043 6865 636b 2074 6865 2063 6f6d 6d61 Check the comma\n+00000810: 6e64 206c 696e 6520 666f 7220 6120 636c nd line for a cl\n+00000820: 6173 7320 7061 7468 0a6d 7920 2463 705f ass path.my $cp_\n+00000830: 666f 756e 6420 3d20 303b 0a6d 7920 246d found = 0;.my $m\n+00000840: 795f 6370 3b0a 666f 7265 6163 6820 246d y_cp;.foreach $m\n+00000850: 795f 6172 6720 2840 7361 7665 5f61 7267 y_arg (@save_arg\n+00000860: 7329 207b 0a20 2020 2069 6620 2831 203d s) {. if (1 =\n+00000870: 3d20 2463 705f 666f 756e 6429 207b 0a20 = $cp_found) {. \n+00000880: 2020 2020 2020 2024 6d79 5f63 7020 3d20 $my_cp = \n+00000890: 246d 795f 6172 673b 0a20 2020 2020 2020 $my_arg;. \n+000008a0: 2069 6620 2830 203e 2069 6e64 6578 2824 if (0 > index($\n+000008b0: 6d79 5f61 7267 2c20 226d 7069 2e6a 6172 my_arg, \"mpi.jar\n+000008c0: 2229 2920 7b0a 2020 2020 2020 2020 2020 \")) {. \n+000008d0: 2020 2320 6e6f 7420 666f 756e 642c 2073 # not found, s\n+000008e0: 6f20 7765 2061 6464 206f 7572 2070 6174 o we add our pat\n+000008f0: 680a 2020 2020 2020 2020 2020 2020 6966 h. if\n+00000900: 2028 7269 6e64 6578 2824 6d79 5f61 7267 (rindex($my_arg\n+00000910: 2c20 223a 2229 203d 3d20 6c65 6e67 7468 , \":\") == length\n+00000920: 2824 6d79 5f61 7267 292d 3129 207b 0a20 ($my_arg)-1) {. \n+00000930: 2020 2020 2020 2020 2020 2020 2020 2023 #\n+00000940: 2061 6c72 6561 6479 2068 6176 6520 6120 already have a \n+00000950: 636f 6c6f 6e20 6174 2074 6865 2065 6e64 colon at the end\n+00000960: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00000970: 2024 6d79 5f63 7020 3d20 246d 795f 6370 $my_cp = $my_cp\n+00000980: 202e 2024 6d70 695f 6a61 723b 0a20 2020 . $mpi_jar;. \n+00000990: 2020 2020 2020 2020 207d 2065 6c73 6520 } else \n+000009a0: 7b0a 2020 2020 2020 2020 2020 2020 2020 {. \n+000009b0: 2020 2320 6e65 6564 2074 6f20 6164 6420 # need to add \n+000009c0: 7468 6520 636f 6c6f 6e20 6265 7477 6565 the colon betwee\n+000009d0: 6e20 7061 7468 730a 2020 2020 2020 2020 n paths. \n+000009e0: 2020 2020 2020 2020 246d 795f 6370 203d $my_cp =\n+000009f0: 2024 6d79 5f63 7020 2e20 223a 2220 2e20 $my_cp . \":\" . \n+00000a00: 246d 7069 5f6a 6172 3b0a 2020 2020 2020 $mpi_jar;. \n+00000a10: 2020 2020 2020 7d0a 2020 2020 2020 2020 }. \n+00000a20: 7d0a 2020 2020 2020 2020 6966 2028 3020 }. if (0 \n+00000a30: 3e20 696e 6465 7828 246d 795f 6172 672c > index($my_arg,\n+00000a40: 2022 7368 6d65 6d2e 6a61 7222 2929 207b \"shmem.jar\")) {\n+00000a50: 0a20 2020 2020 2020 2020 2020 2023 206e . # n\n+00000a60: 6f74 2066 6f75 6e64 2c20 736f 2077 6520 ot found, so we \n+00000a70: 6164 6420 6f75 7220 7061 7468 0a20 2020 add our path. \n+00000a80: 2020 2020 2020 2020 2069 6620 2872 696e if (rin\n+00000a90: 6465 7828 246d 795f 6172 672c 2022 3a22 dex($my_arg, \":\"\n+00000aa0: 2920 3d3d 206c 656e 6774 6828 246d 795f ) == length($my_\n+00000ab0: 6172 6729 2d31 2920 7b0a 2020 2020 2020 arg)-1) {. \n+00000ac0: 2020 2020 2020 2020 2020 2320 616c 7265 # alre\n+00000ad0: 6164 7920 6861 7665 2061 2063 6f6c 6f6e ady have a colon\n+00000ae0: 2061 7420 7468 6520 656e 640a 2020 2020 at the end. \n+00000af0: 2020 2020 2020 2020 2020 2020 246d 795f $my_\n+00000b00: 6370 203d 2024 6d79 5f63 7020 2e20 2473 cp = $my_cp . $s\n+00000b10: 686d 656d 5f6a 6172 3b0a 2020 2020 2020 hmem_jar;. \n+00000b20: 2020 2020 2020 7d20 656c 7365 207b 0a20 } else {. \n+00000b30: 2020 2020 2020 2020 2020 2020 2020 2023 #\n+00000b40: 206e 6565 6420 746f 2061 6464 2074 6865 need to add the\n+00000b50: 2063 6f6c 6f6e 2062 6574 7765 656e 2070 colon between p\n+00000b60: 6174 6873 0a20 2020 2020 2020 2020 2020 aths. \n+00000b70: 2020 2020 2024 6d79 5f63 7020 3d20 246d $my_cp = $m\n+00000b80: 795f 6370 202e 2022 3a22 202e 2024 7368 y_cp . \":\" . $sh\n+00000b90: 6d65 6d5f 6a61 723b 0a20 2020 2020 2020 mem_jar;. \n+00000ba0: 2020 2020 207d 0a20 2020 2020 2020 207d }. }\n+00000bb0: 0a20 2020 2020 2020 2070 7573 6828 4061 . push(@a\n+00000bc0: 7267 756d 656e 7473 2c20 246d 795f 6370 rguments, $my_cp\n+00000bd0: 293b 0a20 2020 2020 2020 2024 6370 5f66 );. $cp_f\n+00000be0: 6f75 6e64 203d 2032 3b0a 2020 2020 7d20 ound = 2;. } \n+00000bf0: 656c 7365 207b 0a20 2020 2020 2020 2069 else {. i\n+00000c00: 6620 2830 203d 3d20 2463 705f 666f 756e f (0 == $cp_foun\n+00000c10: 6420 2626 2028 0a20 2020 2020 2020 2020 d && (. \n+00000c20: 2020 2030 203c 3d20 696e 6465 7828 246d 0 <= index($m\n+00000c30: 795f 6172 672c 2022 2d63 7022 2920 7c7c y_arg, \"-cp\") ||\n+00000c40: 0a20 2020 2020 2020 2020 2020 2030 203c . 0 <\n+00000c50: 3d20 696e 6465 7828 246d 795f 6172 672c = index($my_arg,\n+00000c60: 2022 2d63 6c61 7373 7061 7468 2229 2929 \"-classpath\")))\n+00000c70: 0a20 2020 2020 2020 207b 0a20 2020 2020 . {. \n+00000c80: 2020 2020 2020 2024 6370 5f66 6f75 6e64 $cp_found\n+00000c90: 203d 2031 3b0a 2020 2020 2020 2020 7d0a = 1;. }.\n+00000ca0: 2020 2020 2020 2020 7075 7368 2840 6172 push(@ar\n+00000cb0: 6775 6d65 6e74 732c 2024 6d79 5f61 7267 guments, $my_arg\n+00000cc0: 293b 0a20 2020 207d 0a7d 0a0a 2320 4966 );. }.}..# If\n+00000cd0: 2074 6865 2063 6c61 7373 2070 6174 6820 the class path \n+00000ce0: 7761 736e 2774 2066 6f75 6e64 206f 6e20 wasn't found on \n+00000cf0: 7468 6520 636d 6420 6c69 6e65 2c20 7468 the cmd line, th\n+00000d00: 656e 0a23 2077 6520 6e65 7874 2063 6865 en.# we next che\n+00000d10: 636b 2074 6865 2063 6c61 7373 2070 6174 ck the class pat\n+00000d20: 6820 696e 2074 6865 2065 6e76 6972 6f6e h in the environ\n+00000d30: 6d65 6e74 2c20 6966 2069 7420 6578 6973 ment, if it exis\n+00000d40: 7473 0a69 6620 2832 2021 3d20 2463 705f ts.if (2 != $cp_\n+00000d50: 666f 756e 6420 2626 2065 7869 7374 7320 found && exists \n+00000d60: 2445 4e56 7b27 434c 4153 5350 4154 4827 $ENV{'CLASSPATH'\n+00000d70: 7d20 2626 206c 656e 6774 6828 2445 4e56 } && length($ENV\n+00000d80: 7b27 434c 4153 5350 4154 4827 7d29 203e {'CLASSPATH'}) >\n+00000d90: 2030 2920 7b0a 2020 2020 246d 795f 6370 0) {. $my_cp\n+00000da0: 203d 2024 454e 567b 2743 4c41 5353 5041 = $ENV{'CLASSPA\n+00000db0: 5448 277d 3b0a 2020 2020 6966 2830 203e TH'};. if(0 >\n+00000dc0: 2069 6e64 6578 2824 6d79 5f63 702c 2022 index($my_cp, \"\n+00000dd0: 6d70 692e 6a61 7222 2929 207b 0a20 2020 mpi.jar\")) {. \n+00000de0: 2020 2020 2023 206e 6f74 2066 6f75 6e64 # not found\n+00000df0: 2c20 736f 2077 6520 6164 6420 6f75 7220 , so we add our \n+00000e00: 7061 7468 0a20 2020 2020 2020 2069 6620 path. if \n+00000e10: 2872 696e 6465 7828 246d 795f 6370 2c20 (rindex($my_cp, \n+00000e20: 223a 2229 203d 3d20 6c65 6e67 7468 2824 \":\") == length($\n+00000e30: 6d79 5f63 7029 2d31 2920 7b0a 2020 2020 my_cp)-1) {. \n+00000e40: 2020 2020 2020 2020 2320 616c 7265 6164 # alread\n+00000e50: 7920 6861 7665 2061 2063 6f6c 6f6e 2061 y have a colon a\n+00000e60: 7420 7468 6520 656e 640a 2020 2020 2020 t the end. \n+00000e70: 2020 2020 2020 246d 795f 6370 203d 2024 $my_cp = $\n+00000e80: 6d79 5f63 7020 2e20 246d 7069 5f6a 6172 my_cp . $mpi_jar\n+00000e90: 3b0a 2020 2020 2020 2020 7d20 656c 7365 ;. } else\n+00000ea0: 207b 0a20 2020 2020 2020 2020 2020 2023 {. #\n+00000eb0: 206e 6565 6420 746f 2061 6464 2074 6865 need to add the\n+00000ec0: 2063 6f6c 6f6e 2062 6574 7765 656e 2070 colon between p\n+00000ed0: 6174 6873 0a20 2020 2020 2020 2020 2020 aths. \n+00000ee0: 2024 6d79 5f63 7020 3d20 246d 795f 6370 $my_cp = $my_cp\n+00000ef0: 202e 2022 3a22 202e 2024 6d70 695f 6a61 . \":\" . $mpi_ja\n+00000f00: 723b 0a20 2020 2020 2020 207d 0a20 2020 r;. }. \n+00000f10: 207d 0a20 2020 2069 6620 2830 203e 2069 }. if (0 > i\n+00000f20: 6e64 6578 2824 6d79 5f63 702c 2022 7368 ndex($my_cp, \"sh\n+00000f30: 6d65 6d2e 6a61 7222 2929 207b 0a20 2020 mem.jar\")) {. \n+00000f40: 2020 2020 2023 206e 6f74 2066 6f75 6e64 # not found\n+00000f50: 2c20 736f 2077 6520 6164 6420 6f75 7220 , so we add our \n+00000f60: 7061 7468 0a20 2020 2020 2020 2069 6620 path. if \n+00000f70: 2872 696e 6465 7828 246d 795f 6370 2c20 (rindex($my_cp, \n+00000f80: 223a 2229 203d 3d20 6c65 6e67 7468 2824 \":\") == length($\n+00000f90: 6d79 5f63 7029 2d31 2920 7b0a 2020 2020 my_cp)-1) {. \n+00000fa0: 2020 2020 2020 2020 2320 616c 7265 6164 # alread\n+00000fb0: 7920 6861 7665 2061 2063 6f6c 6f6e 2061 y have a colon a\n+00000fc0: 7420 7468 6520 656e 640a 2020 2020 2020 t the end. \n+00000fd0: 2020 2020 2020 246d 795f 6370 203d 2024 $my_cp = $\n+00000fe0: 6d79 5f63 7020 2e20 2473 686d 656d 5f6a my_cp . $shmem_j\n+00000ff0: 6172 3b0a 2020 2020 2020 2020 7d20 656c ar;. } el\n+00001000: 7365 207b 0a20 2020 2020 2020 2020 2020 se {. \n+00001010: 2023 206e 6565 6420 746f 2061 6464 2074 # need to add t\n+00001020: 6865 2063 6f6c 6f6e 2062 6574 7765 656e he colon between\n+00001030: 2070 6174 6873 0a20 2020 2020 2020 2020 paths. \n+00001040: 2020 2024 6d79 5f63 7020 3d20 246d 795f $my_cp = $my_\n+00001050: 6370 202e 2022 3a22 202e 2024 7368 6d65 cp . \":\" . $shme\n+00001060: 6d5f 6a61 723b 0a20 2020 2020 2020 207d m_jar;. }\n+00001070: 0a20 2020 207d 0a20 2020 2075 6e73 6869 . }. unshi\n+00001080: 6674 2840 6172 6775 6d65 6e74 732c 2024 ft(@arguments, $\n+00001090: 6d79 5f63 7029 3b0a 2020 2020 756e 7368 my_cp);. unsh\n+000010a0: 6966 7428 4061 7267 756d 656e 7473 2c20 ift(@arguments, \n+000010b0: 222d 6370 2229 3b0a 2020 2020 2320 656e \"-cp\");. # en\n+000010c0: 7375 7265 2077 6520 6d61 726b 2074 6861 sure we mark tha\n+000010d0: 7420 7765 2022 666f 756e 6422 2074 6865 t we \"found\" the\n+000010e0: 2063 6c61 7373 2070 6174 680a 2020 2020 class path. \n+000010f0: 2463 705f 666f 756e 6420 3d20 313b 0a7d $cp_found = 1;.}\n+00001100: 0a0a 2320 4966 2074 6865 2063 6c61 7373 ..# If the class\n+00001110: 2070 6174 6820 7761 736e 2774 2066 6f75 path wasn't fou\n+00001120: 6e64 2069 6e20 6569 7468 6572 206c 6f63 nd in either loc\n+00001130: 6174 696f 6e2c 2074 6865 6e0a 2320 7765 ation, then.# we\n+00001140: 2068 6176 6520 746f 2069 6e73 6572 7420 have to insert \n+00001150: 6974 2061 7320 7468 6520 6669 7273 7420 it as the first \n+00001160: 6172 6775 6d65 6e74 0a69 6620 2830 203d argument.if (0 =\n+00001170: 3d20 2463 705f 666f 756e 6429 207b 0a20 = $cp_found) {. \n+00001180: 2020 2075 6e73 6869 6674 2840 6172 6775 unshift(@argu\n+00001190: 6d65 6e74 732c 2024 6d70 695f 6a61 7220 ments, $mpi_jar \n+000011a0: 2e20 223a 2220 2e20 2473 686d 656d 5f6a . \":\" . $shmem_j\n+000011b0: 6172 293b 0a20 2020 2075 6e73 6869 6674 ar);. unshift\n+000011c0: 2840 6172 6775 6d65 6e74 732c 2022 2d63 (@arguments, \"-c\n+000011d0: 7022 293b 0a7d 0a0a 2320 436f 6e73 7472 p\");.}..# Constr\n+000011e0: 7563 7420 7468 6520 636f 6d6d 616e 640a uct the command.\n+000011f0: 6d79 2024 7265 7475 726e 436f 6465 203d my $returnCode =\n+00001200: 2030 3b0a 6966 2028 2473 686f 776d 655f 0;.if ($showme_\n+00001210: 6172 6729 207b 0a20 2020 2070 7269 6e74 arg) {. print\n+00001220: 2022 246d 795f 636f 6d70 696c 6572 2040 \"$my_compiler @\n+00001230: 6172 6775 6d65 6e74 735c 6e22 3b0a 7d20 arguments\\n\";.} \n+00001240: 656c 7365 207b 0a20 2020 2069 6620 2824 else {. if ($\n+00001250: 7665 7262 6f73 6529 207b 0a20 2020 2020 verbose) {. \n+00001260: 2020 2070 7269 6e74 2022 246d 795f 636f print \"$my_co\n+00001270: 6d70 696c 6572 2040 6172 6775 6d65 6e74 mpiler @argument\n+00001280: 735c 6e22 3b0a 2020 2020 7d0a 2020 2020 s\\n\";. }. \n+00001290: 2472 6574 7572 6e43 6f64 6520 3d20 7379 $returnCode = sy\n+000012a0: 7374 656d 2024 6d79 5f63 6f6d 7069 6c65 stem $my_compile\n+000012b0: 722c 2040 6172 6775 6d65 6e74 733b 0a7d r, @arguments;.}\n+000012c0: 0a65 7869 7420 2472 6574 7572 6e43 6f64 .exit $returnCod\n+000012d0: 653b 0a e;.\n"}]}]}]}]}