<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Sziasztok!</p>
    <p>Sikerült a P4C fordítása hiba nélkül. Valószínűleg tényleg a
      build könyvtárban való make-elés lehetett a megoldás. A
      következőket csináltam:</p>
    <p><font face="Courier New, Courier, monospace">git clone
        <a class="moz-txt-link-freetext" href="https://github.com/p4lang/p4c">https://github.com/p4lang/p4c</a><br>
        export P4C=`pwd`/p4c<br>
        cd $P4C<br>
        git submodule update --init --recursive<br>
        ./bootstrap.sh<br>
        CXXFLAGS="-fPIC -g" ./configure<br>
        cd build<br>
        make -j4</font><br>
    </p>
    <p>Ez így mind sikeresen lefut, majd utána a make check is csak 1
      XFAIL-t tartalmaz.</p>
    <p>Azt viszont nem tudom, hogy mennyire normális, hogy a "<font
        face="Courier New, Courier, monospace">python test_p4c.py "$P4C"
        $P4C/testdata/p4_16_samples/global-action.p4</font>" futtatása a
      következő hibához vezet:</p>
    <p><font face="Courier New, Courier, monospace">Traceback (most
        recent call last):<br>
          File "test_p4c.py", line 4, in <module><br>
            import p4c2py<br>
        ImportError: No module named p4c2py</font><br>
    </p>
    Marci<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 2017-02-20 00:56, Brunner Márton
      wrote:<br>
    </div>
    <blockquote
      cite="mid:cb394c2c-b111-9f21-9851-e5e7d1d03b12@caesar.elte.hu"
      type="cite">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p>Sziasztok!</p>
      <p>Ahogy a múltkori meetingen megbeszéltük, megpróbáltam
        összehozni a p4c2py dolgok fordítását. Amire jutottam azt nem
        igazán nevezném még sikernek, és még így sem volt túl egyszerű.
        Megpróbáltam minden lépést összegyűjteni, ha esetleg van
        javaslat, hogy a problémás lépéseket hogyan javíthatnám, akkor
        még próbálkozhatok vele.</p>
      <p>Nálam egy pár extra package telepítésére szükség volt, a
        readme-ben említetteken kívül: <b>libtool m4 dh-autoreconf</b>
        (Ezeket az egyes hibák előkerülésekor a hibára rákeresve
        próbáltam összehozni.)</p>
      <p>A p4c readme-jében szerepel, hogy a 16.04-es ubuntu-ra, a
        protobuf-nak csak egy korábbi verziója telepíthető apt-get-tel,
        így a frissebb verziót a githubról kell buildelni. (A 3.0.2-es
        verziót fordítottam, ez a leírás alapján: <a
          moz-do-not-send="true"
          href="https://github.com/google/protobuf/blob/master/src/README.md">https://github.com/google/protobuf/blob/master/src/README.md</a>)</p>
      <p>A p4c-s github repo clone-ozásakor belefutottam még egy
        olyanba, hogy a benne szereplő submodul-t külön kell leszedni
        ("git submodule update --init --recursive" paranccsal).</p>
      <p>Ezután következett a p4c forráskód fordítása, ami a következő
        hibához vezetett:</p>
      <p><font face="Courier New, Courier, monospace"> /bin/mkdir -p
          './p4include'<br>
           <b>/usr/bin/install -c -m 644
            ./backends/ebpf/p4include/ebpf_model.p4 ./p4include/core.p4
            ./p4include/v1model.p4 './p4include'</b><br>
          /usr/bin/install: './p4include/core.p4' and
          './p4include/core.p4' are the same file<br>
          /usr/bin/install: './p4include/v1model.p4' and
          './p4include/v1model.p4' are the same file<br>
          Makefile:1692: recipe for target 'install-p4includeHEADERS'
          failed<br>
          make[2]: *** [install-p4includeHEADERS] Error 1<br>
          make[2]: Leaving directory '/home/brmarci/Downloads/p4c'<br>
          Makefile:2466: recipe for target 'all-local' failed<br>
          make[1]: *** [all-local] Error 2<br>
          make[1]: *** Waiting for unfinished jobs....<br>
          make[1]: Leaving directory '/home/brmarci/Downloads/p4c'<br>
          Makefile:1250: recipe for target 'all' failed<br>
          make: *** [all] Error 2</font></p>
      <p>A vastagon szedett sor végrehajtása az utána levő két sort írja
        ki és 1-es hibakóddal tér vissza, így a fordítás leáll.</p>
      <p>Annyival még tovább mentem, hogy a Makefile-ból kiszedtem azt a
        sort ami a hibához vezet (ha jól értelmeztem ez csak azon száll
        el, hogy önmagukba akarja másolni a fájlokat). Ezután a make
        sikeresen lefutott, majd a p4c2py fordítása is (látszólag) hiba
        nélkül megtörtént. Viszont amikor a "python test_p4c.py "$P4C"
        $P4C/testdata/p4_16_samples/global-action.p4" parancsot
        futtatnám, ez a hiba fogad:</p>
      <p><font face="Courier New, Courier, monospace">Traceback (most
          recent call last):<br>
            File "test_p4c.py", line 126, in <module><br>
              node_count, _, _, tree = do_visit(p4program, (0, 0, [-1] *
          max_indent, []), print_op_in, print_op_out)<br>
            File "test_p4c.py", line 70, in do_visit<br>
              p4c.test_visitor(node, v)<br>
          RuntimeError: COMPILER BUG:
          /home/brmarci/Downloads/p4c//lib/crash.cpp:226<br>
          Exiting with SIGSEGV<br>
          <br>
          Segmentation fault (core dumped)</font></p>
      <p>Eddig jutottam. Robi, ha van valami javaslatod, hogy mit
        csináljak másként, akkor szívesen megpróbálom máshogy is.<br>
      </p>
      <p>Marci<br>
      </p>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
P4 mailing list
<a class="moz-txt-link-abbreviated" href="mailto:P4@plc.inf.elte.hu">P4@plc.inf.elte.hu</a>
<a class="moz-txt-link-freetext" href="https://plc.inf.elte.hu/mailman/listinfo/p4">https://plc.inf.elte.hu/mailman/listinfo/p4</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>