[so] [SO][Tema1] Rulare checker pe masina virtuala linux

Mihai Barbulescu b12mihai at gmail.com
Sun Mar 11 15:30:03 EET 2018


Buna Cristina,

Cateva obiectii:

1. Makefile-ul de pe Linux tot nu imi place cum arata (nu pasa .h-uri
ca input la gcc)

2. Pentru Makefile-ul de pe Windows:
     - porneste de la cel de Linux si inlocuieste gcc cu cl
     - Vad ca folosesti /D_CRT_SECURE_NO_DEPRECATE asa cum e specificat aici [2]
     - Nu uita ca in lumea cl.exe fata de gcc se foloseste standardul
de compilare C89. De exemplu, ceva care imi sare in ochi de pe
vmchecker, in functia ta main(), e ca declari variable in mijlocul
codului. C99 din gcc te lasa, C89 din Windows nu. Pe Linux, ca sa poti
investiga problemele raportate de cl poti face foarte frumos adaugand
la compilarea cu gcc optiunea  -std=c89 sau -ansi (o
activezi/dezactivezi in functie de cum nu iti este clar ce nu merge)

3. Ai testul 29 care isi ia segmentation fault, urmareste indicatiile
de debugging de aici [1] (note-tip-ul verde cu rezolvarea erorilor de
tip Segmentation Fault)


[1] https://ocw.cs.pub.ro/courses/so/teme/tema-1#punctare
[2] https://ocw.cs.pub.ro/courses/so/teme/general#build

2018-03-11 15:10 GMT+02:00 Cristina Voineag <cristina.voineag at ymail.com>:
> Aseara am reusit sa fac sa treaca toate testele dar Makefile-ul era gresit.
> Pentru ca am refolosit surse de anul trecut, am omis faptul ca hash.c nu
> trebuie sa apara in Makefile-ul acestei teme. Am corectat azi Makefile-ul
> conform specificatiilor.
>
> Incepand rezolvarea pe windows, intampin urmatoarea problema: nu pot compila
> de niciun fel sursele. Codul stiu ca este bun, pe Linux imi trec testele,
> dar chiar si cea mai simpla comanda: cl tema1.c, imi genereaza o gramada de
> erori,  de exemplu, imi spune despre toate variabilele folosite ca sunt
> nedeclarate sau ca nu am ';' la sfarsitul liniilor. Am incercat toate
> variantele gasite in laborator sau pe internet dar situatia ramane la fel.
> Precizez ca folosec masina vituala windows de la SO.
>
> Multumesc anticipat,
> Cristina
>
> On Sunday, March 11, 2018, 12:31:36 PM GMT+2, Mihai Barbulescu
> <b12mihai at gmail.com> wrote:
>
>
> Pe lista publica acum ca să vadă și ceilalți studenți. Procedura ta de
> compilare e complet greșită, de aia ai prosopul de erori probabil și local,
> te rog sa te uiți cu atenție în laborator 1 (1) cum se fac linkarile versus
> ce ai tu aici
>
> gcc -Wall -fPIC tema1.c utils.h hashtable.h hash.h -c
> gcc -Wall -fPIC -o tema1 libhash.so
>
>
> NU TREBUIE sa regenerati libhash.so!!!!
>
> (1) https://ocw.cs.pub.ro/courses/so/laboratoare/laborator-01
>
> On Mar 10, 2018 19:58, "Cristina Voineag via so" <so at cursuri.cs.pub.ro>
> wrote:
>
> Salut,
>
> Nu reusesc sa rulez checker-ul nici pe masina virtuala linux, nici pe pe
> masina fizica.
>
> Eroare masina fizica: ./tema1: error while loading shared libraries:
> libhash.so: wrong ELF class: ELFCLASS32.
> Eroare masina vituala linux: ./tema1: cannot execute binary file: Exec
> format error.
>
> Masina virtuala linux: Am cautat pe net si am gasit ca ar putea fi o
> problema cu faptul ca rulez checker-ul direct dintr-un folder Shared. Prin
> urmare, am arhivat fisierele necesare checker-ului si le-am mutat intr-un
> folder ne-share-uit => in continuare nu pot rula.
>
> De asemenea, pentru verificarea coding style-ului cu checkpatch.pl, desi am
> primit warning-uri si am corectat codul, nu primesc punctajulul aferent. In
> plus, apare urmatorul output: No structs that should be const will be found
> - file '/SO/Tema1/1-multi/checker/ const_structs.checkpatch': No such file
> or directory.
>
> Imi puteti da niste sugestii pentru rezolvarea acestor probleme ?
> Multumesc anticipat.
>
> ______________________________ _________________
> http://ocw.cs.pub.ro/courses/ so/info/lista-discutii



-- 
Cu stimă,
Mihai Bărbulescu


More information about the so mailing list