git clone --recursive https://github.com/dmateos-ugr/DDSI-Seminario1.git
ojito al --recursive
Esto es necesario independientemente de si usamos Zig, Python, C o C++. Es para instalar el driver manager y el driver para oracle. Es basicamente lo que nos dice aquí.
- Nos metemos aquí y descargamos los archivos
oracle-instantclient-basic-21.4.0.0.0-1.el8.x86_64.rpm
yoracle-instantclient-odbc-21.4.0.0.0-1.el8.x86_64.rpm
. - Nos metemos en la carpeta donde se hayan descargado.
- Rezamos 3 ave marías.
- Cerramos los ojos y ejecutamos:
sudo apt install unixodbc unixodbc-dev libaio1
sudo alien -i --scripts oracle-instantclient-basic-21.4.0.0.0-1.el8.x86_64.rpm
sudo alien -i --scripts oracle-instantclient-odbc-21.4.0.0.0-1.el8.x86_64.rpm
sudo touch /etc/odbcinst.ini
cd /usr/lib/oracle/21/client64/lib/
sudo ../bin/odbc_update_ini.sh /
- Comprobamos que todo ha ido bien:
david@salero2:~$ odbcinst -q -d
[Oracle 21 ODBC driver]
Esto sólo lo debería necesitar Miguel.
- Ir a las descargas de Zig descargarse el archivo
zig-linux-x86_64-0.8.1.tar.xz
. - Extrarlo en algún sitio, por ejemplo en la carpeta personal, y renombrar la carpeta a
zig
. - Añadir la carpeta al PATH. Esto se puede hacer por ejemplo añadiendo la siguiente linea a tu archivo
~/.bashrc
:export PATH="$PATH:~/zig"
- Abrir una nueva terminal, o ejecutar el
.bashrc
en la actual consource ~/.bashrc
, y ejecutarzig version
, comprobando que pone 0.8.1.
Asumiendo que instalamos zls en /home/david/zls
:
- Eliminar el
zls
si lo descargamos el otro día:rm -rf ~/zls
- Descargar una nueva versión de aquí, y extraer el contenido de
x86_64-linux.tar.xz
en~/zls
. Debe quedar algo así:
david@salero2:~/zls$ ls -R
.:
bin README.md
./bin:
build_runner.zig zls
- Irse a la carpeta
~/zls/bin
y ejecutar./zls config
. Ejemplo:
? Should this configuration be system-wide? (y/n) > n
Could not find 'zig' in PATH
? What is the path to the 'zig' executable you would like to use?/home/david/zig/zig
? Which code editor do you use? (select one)
> VSCode
? Do you want to enable snippets? (y/n) > n
? Do you want to enable style warnings? (y/n) > y
? Do you want to enable semantic highlighting? (y/n) > y
? Do you want to enable .* and .? completions? (y/n) > n
Writing config to /home/david/.config/zls.json ... successful.
- Descargarse el archivo build_runner.zig y guardarlo en
~/zls/bin/build_runner.zig
, reemplazando el existente. Se pude hacer abriéndolo con el navegador -> click derecho -> guardar como. - En VSCode, instalar las extensiones
tiehuis.zig
yAugusteRame.zls-vscode
, si no estaban ya instaladas. - Irse a las Settings de VSCode (CTRL + ,), buscar
zigLanguageClient.path
y actualizarlo con la nueva path del binarioszls
. En mi caso antes era/home/david/zls/zls
, y ahora es/home/david/zls/bin/zls
. - Reiniciar el VSCode.
- Editar el archivo del repositorio
src/main.zig
y comprobar que nos autocompleta tanto escribiendostd.
comozdb.
.
También, desde la raíz del repositorio, ejecutad zig build run
y comprobad que os compila y se os ejecuta (zig build
compila en ./zig-out/bin/
, y el run
lo ejecuta). Si no estáis conectados a la VPN de la UGR, a la hora de ejecutarlo os dará un error con una stack trace indicando que el error ocurrió en la línea que se intenta conectar a la base de datos.