Temat: OITIMETOOL- niekompatybilność Pin Library z ubuntu 17.04

Próbowałem zainstalować OITIMETOOL na moim ubuntu 17.04. Jednakże po zrobieniu wszystkiego według instrukcji wyskoczył mi taki komunikat:
A: Source/pin/injector_nonmac/auxvector.cpp: CopyAux: 291: unexpected AUX VEC type 26

################################################################################
## STACK TRACE
################################################################################
addr2line -C -f -e "/home/bartek/Desktop/oitimetool-bin-master/pin-2.14-71313-gcc.4.4.7-linux/ia32/bin/pinbin" 0x566b728b 0x566b80f6 0x566b83e1 0x5691c3a7 0x56921972 0x56923809 0x56912e59 0x5691801f 0x56906202 0x56911cc1 0x5582f276
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
??
??:0
Detach Service Count: 1
Pin 2.14
Copyright (c) 2003-2015, Intel Corporation. All rights reserved.
@CHARM-VERSION: $Rev: 71293 $
@CHARM-BUILDER: BUILDER
@CHARM-COMPILER: gcc 4.4.7
@CHARM-TARGET: ia32
@CHARM-CFLAGS: __OPTIMIZE__=1 __NO_INLINE__=__NO_INLINE__
Aborted (core dumped)

Po małym researchu w internecie dowiedziałem się, że jest to problem z brakiem supportu danej wersji biblioteki PinLibrary dla Ubuntu 17.04. Czy da się zmienić używaną wersję biblioteki na nowszą lub naprawić ten błąd bez downradeu systemu operacyjnego?
Proszę o pomoc
Taki sam błąd mam na Manjaro 17.0.6, więc to nie kwestia konkretnej dystrybucji.
Idźmy dalej, wersja biblioteki pin wymieniona na githubie timetoola (61208) nigdy chyba nie istniała. Można znaleźć starą listę wersji na wayback machine (https://web.archive.org/web/20150325123148/https://software.intel.com/en-us/articles/pin-a-binary-instrumentation-tool-downloads), ale tam jest 61206 (oczywiście na serwerach intela już jej nie ma więc nie da się jej pobrać). Czy organizatorzy byliby w stanie udostępnić funkcjonalną wersję OITT? Albo chociaż przyjrzeć się problemowi?
Warto wiedzieć, że środowisko olimpiady to 32-bitowe Ubuntu 14.04 z jądrem 3.13. Sama instalacja wspomnianego jądra powinna wystarczyć. Niestety Pin w wersji 3.x różni się w dużym stopniu od 2.x, więc sama rekompilacja biblioteki nie wystarczy.

Na szczęście nie trzeba tego robić - OITimeTool tylko zlicza ilość wykonanych instrukcji [chociaż posiada też zaimplementowaną symulację dostępu do pamięci - jeżeli dostęp do pamięci jest nieliniowy naliczany jest dodatkowy czas - co ciekawe nie wygląda żeby było to używane na OIu czy na Szkopule].
Czas (w ms) to (ilość instrukcji / 2000000). Przykładowa biblioteka robiąca dokładnie to samo znajduje się w dystrybucji Pina - w folderze source/tools/SimpleExamples - wystarczy wykonać make w danym folderze po pobraniu najnowszego Pina i użyć wyjściowej biblioteki obj-intel64/inscount2_mt.so
Pozostaje wywołać pina:
$ ./pin -t *.so -- ./zadanie < wejscie.in > wyjscie.out

i odczytać wyjście z narzędzia:
$ tail wyjscie.out | grep Count

Czasy będą odstawać, ale powinny być bardzo podobne do ostatecznych.
Dla ciekawskich zapraszam na repozytorium z implementacją próbującą naśladować OITimeToola (tylko x86 i Pin v2.x): https://github.com/PowerOfDark/Sjudge
Dziękuję bardzo, zaraz wypróbuję tą metodę. Jedno pytanie, czy czas to na pewno ilość (instrukcji / 2000000), a nie (ilość instrukcji / 3000000)? Tutaj: http://oi.edu.pl/l/srodowisko/ na samym końcu możemy przeczytać, że "Zakładamy zegar procesora o częstotliwości 3GHz."