Tests simulateur Numworks + KhiCAS
11 posts
• Page 1 of 2 • 1, 2
Tests simulateur Numworks + KhiCAS
(English below)
Je souhaite valider la procédure de compilation du simulateur Numworks avec KhiCAS pour Windows et Mac, c'est l'automatisation d'une procédure assez technique. La procédure est décrite ici:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnw.html#sec3
Je suis intéressé par des retours ici ou par mail, est-ce que c'est clair, est-ce que tout se passe comme prévu?
I have written a procedure to compile the Numworks simulator with KhiCAS inside for Windows and Mac users:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnwen.html#sec4
I'm interested to get feedback, either in this topic or by email : is it clear, is it running ?
Je souhaite valider la procédure de compilation du simulateur Numworks avec KhiCAS pour Windows et Mac, c'est l'automatisation d'une procédure assez technique. La procédure est décrite ici:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnw.html#sec3
Je suis intéressé par des retours ici ou par mail, est-ce que c'est clair, est-ce que tout se passe comme prévu?
I have written a procedure to compile the Numworks simulator with KhiCAS inside for Windows and Mac users:
https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/khicasnwen.html#sec4
I'm interested to get feedback, either in this topic or by email : is it clear, is it running ?
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3698
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Tests simulateur Numworks + KhiCAS
Je vais tester ça sur mac mais on peut améliorer le script un petit peu (détection de la pré-présence de brew, utilisation conditionnelle de "arch -x86_64", etc).
Je vais proposer une mise à jour ici d'ici peu.
Je vais proposer une mise à jour ici d'ici peu.
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14778
- Images: 1123
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Tests simulateur Numworks + KhiCAS
Oui, il faut gérer les Mac Intel, le script actuel ne fonctionne que sur Mac ARM64.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3698
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Tests simulateur Numworks + KhiCAS
Voila le script nwmac amélioré (à nommer "nwmac.sh" d'ailleurs, ça serait mieux), qui installe les choses un peu mieux, et qui s'arrête en cas d'erreur :
Et aussi, merci de rajouter
----
Ensuite, en fonction de son environnement, il peut y a des problèmes d'install / conflits, par exemple, et c'est sans doute ça qui peut tout faire foirer par la suite, donc ne pas hésiter à faire un peu de ménage auparavant... (perso, j'avais plusieurs installs de arm-none-eabi-gcc etc.)
Côté khicas, il y a pas mal de warnings de macros/defines re-définis qui encombrent le terminal, il faudrait sûrement corriger ça.
----
Bref, quand ça arrive au link, ça erreur de mon côté :
Pareil sur les 2 archs.
(Au passage, il y a aussi
- Code: Select all
#!/bin/bash
set -e
if [[ $(command -v brew) == "" ]]; then
echo "Installing (native) Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
else
echo "Native Homebrew has been detected, make sure it's been updated recently!"
fi
if [[ ! -x "/usr/local/bin/brew" ]] && [[ $(uname -m) == "arm64" ]]; then
echo "Installing x86_64 Homebrew..."
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
echo "Installing build dependencies..."
brew install python-setuptools numworks/tap/epsilon-sdk libpng gmp mpfr mpfi
if [[ $(uname -m) == "arm64" ]]; then
arch -x86_64 /usr/local/bin/brew install libpng gmp mpfr mpfi
fi
echo "Cloning sources..."
cd /tmp
rm -rf epsilon
git clone --depth 1 https://github.com/parisseb/epsilon
cd epsilon
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/ext.tar.bz2
tar xfj ext.tar.bz2
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/nwsimu.tgz
tar xfz nwsimu.tgz
echo "Building..."
./mkmac
echo "Moving things into place..."
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/khi92.tar
mv khi92.tar ~/Documents/scripts.tar
mv output/release/simulator/macos/epsilon.app /Applications
echo "epsilon.app is now available in /Applications/"
open /Applications/epsilon.app
Et aussi, merci de rajouter
-j
ou au moins -j4
aux appels de "make" dans "mkmac", parce que sinon ça prend vraiment trop de temps...----
Ensuite, en fonction de son environnement, il peut y a des problèmes d'install / conflits, par exemple, et c'est sans doute ça qui peut tout faire foirer par la suite, donc ne pas hésiter à faire un peu de ménage auparavant... (perso, j'avais plusieurs installs de arm-none-eabi-gcc etc.)
Côté khicas, il y a pas mal de warnings de macros/defines re-définis qui encombrent le terminal, il faudrait sûrement corriger ça.
----
Bref, quand ça arrive au link, ça erreur de mon côté :
- Code: Select all
LD epsilon.bin
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ [... tous les fichiers .o ...] -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk -mmacosx-version-min=10.10 -weak_framework Metal -weak_framework QuartzCore -framework CoreAudio -framework CoreVideo -framework Cocoa -framework IOKit -framework CoreFoundation -framework Carbon -framework ForceFeedback -framework AudioToolbox -rdynamic -o output/release/simulator/macos/arm64/epsilon.bin
Undefined symbols for architecture arm64:
"_c_det", referenced from:
_linalg_det in graphic.o
"_c_draw_arc", referenced from:
_graphic_draw_arc in graphic.o
"_c_draw_circle", referenced from:
_graphic_draw_circle in graphic.o
"_c_draw_filled_arc", referenced from:
_graphic_draw_filled_arc in graphic.o
"_c_draw_filled_circle", referenced from:
_graphic_draw_filled_circle in graphic.o
"_c_draw_filled_polygon", referenced from:
_graphic_draw_polygon_ in graphic.o
"_c_draw_line", referenced from:
_graphic_draw_line in graphic.o
"_c_draw_polygon", referenced from:
_graphic_draw_polygon_ in graphic.o
"_c_draw_rectangle", referenced from:
_graphic_draw_rectangle in graphic.o
"_c_draw_string", referenced from:
_graphic_draw_string in graphic.o
"_c_draw_string_medium", referenced from:
_graphic_draw_string in graphic.o
"_c_draw_string_small", referenced from:
_graphic_draw_string in graphic.o
"_c_egv", referenced from:
_linalg_egv in graphic.o
"_c_eig", referenced from:
_linalg_eig in graphic.o
"_c_fft", referenced from:
_linalg_fftifft in graphic.o
"_c_fill_rect", referenced from:
_graphic_clear_screen in graphic.o
_graphic_fill_rect in graphic.o
"_c_inv", referenced from:
_linalg_inv in graphic.o
"_c_pcoeff", referenced from:
_linalg_pcoeff in graphic.o
"_c_proot", referenced from:
_linalg_proot in graphic.o
"_c_rref", referenced from:
_linalg_rref in graphic.o
"_c_set_pixel", referenced from:
_graphic_set_pixel in graphic.o
"_caseval", referenced from:
_cas_caseval in graphic.o
_turtle_forward in graphic.o
_turtle_backward in graphic.o
_turtle_left in graphic.o
_turtle_pensize in graphic.o
_turtle_right in graphic.o
_turtle_reset in graphic.o
...
"_console_input", referenced from:
_mp_hal_input in port.o
"_console_output", referenced from:
_mp_hal_stdout_tx_strn_cooked in port.o
"_ext_main", referenced from:
Home::Controller::handleEvent(Ion::Events::Event) in controller.o
run_external_main() in external_apps.o
"_flash_filebrowser", referenced from:
_os_file_browser in port.o
"_flash_read", referenced from:
_filesize in port.o
_read_file in port.o
"_os_get_pixel", referenced from:
_graphic_get_pixel in graphic.o
"_sync_screen", referenced from:
_graphic_show_screen in graphic.o
"_turtle_freeze", referenced from:
_turtle_forward in graphic.o
_turtle_backward in graphic.o
_turtle_left in graphic.o
_turtle_pensize in graphic.o
_turtle_right in graphic.o
_turtle_reset in graphic.o
_turtle_dessine_tortue in graphic.o
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Pareil sur les 2 archs.
(Au passage, il y a aussi
was built for newer 'macOS' version (14.0) than being linked (10.10)
pour la libgiac, il faudrait surement passer le bon flag pour mettre la target a 10.10 (ou alors pas la mettre du tout, nulle part))MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14778
- Images: 1123
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Tests simulateur Numworks + KhiCAS
J'ai pris en compte les modifs sauf le set -e.
En effet c'est normal qu'il y ait une erreur, parce qu'il tente de linker avec le process normal de link de Numworks, donc sans la libgiac. Et c'est a ca que servent les commandes contenues dans mkarm et mkx86. Donc il ne faut pas stopper le script en cas d'erreur! Evidemment, ce serait mieux d'intervenir directement dans le processus de make de Numworks, mais c'est trop complique pour moi...
Les 10.10 vs 14 viennent sans doute de la libgmp/mpfr/mpfi que je n'ai pas recompilees.
En effet c'est normal qu'il y ait une erreur, parce qu'il tente de linker avec le process normal de link de Numworks, donc sans la libgiac. Et c'est a ca que servent les commandes contenues dans mkarm et mkx86. Donc il ne faut pas stopper le script en cas d'erreur! Evidemment, ce serait mieux d'intervenir directement dans le processus de make de Numworks, mais c'est trop complique pour moi...
Les 10.10 vs 14 viennent sans doute de la libgmp/mpfr/mpfi que je n'ai pas recompilees.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3698
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Tests simulateur Numworks + KhiCAS
Ok je vois.
Mais en fait il suffit de mettre le "set -e" au debut, puis l'inverse ("set +e") avant l'appel a mkmac donc.
Mais en fait il suffit de mettre le "set -e" au debut, puis l'inverse ("set +e") avant l'appel a mkmac donc.
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14778
- Images: 1123
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Tests simulateur Numworks + KhiCAS
en effet, c'est fait!
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3698
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Tests simulateur Numworks + KhiCAS
je modifie mkmac pour essayer de tenir compte des Mac Intel, est-ce que ca te semble correct
- Code: Select all
#! /bin/bash
cd ext/giac-1.6.0/src
if [[ $(uname -m) == "arm64" ]]; then
make -f Makefile.nwmac_arm64 -j4
fi
make -f Makefile.nwmac_x86_64 -j4
cd ../../..
if [[ $(uname -m) == "arm64" ]]; then
make V=1 PLATFORM=simulator -j4
./mkarm
fi
make V=1 PLATFORM=simulator -j4
./mkx86
if [[ $(uname -m) == "arm64" ]]; then
/Library/Developer/CommandLineTools/usr/bin/lipo -create output/release/simulator/macos/arm64/epsilon.bin output/release/simulator/macos/x86_64/epsilon.bin -output output/release/simulator/macos/epsilon.app/Contents/MacOS/Epsilon
else
cp output/release/simulator/macos/x86_64/epsilon.bin output/release/simulator/macos/epsilon.app/Contents/MacOS/Epsilon
fi
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3698
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Tests simulateur Numworks + KhiCAS
A priori oui (on peut stocker le résultat de
$(uname -m) == "arm64"
dans une variable, mais bref)MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14778
- Images: 1123
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Tests simulateur Numworks + KhiCAS
J'ajoute une commande pour faire un pkg, au cas ou...
Ca donne pour nwmac
Ca donne pour nwmac
- Code: Select all
#!/bin/bash
set -e
if [[ $(command -v brew) == "" ]]; then
echo "Installing (native) Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
else
echo "Native Homebrew has been detected, make sure it's been updated recently!"
fi
if [[ ! -x "/usr/local/bin/brew" ]] && [[ $(uname -m) == "arm64" ]]; then
echo "Installing x86_64 Homebrew..."
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
echo "Installing build dependencies..."
brew install python-setuptools numworks/tap/epsilon-sdk libpng gmp mpfr mpfi
if [[ $(uname -m) == "arm64" ]]; then
arch -x86_64 /usr/local/bin/brew install libpng gmp mpfr mpfi
fi
echo "Cloning sources..."
cd /tmp
rm -rf epsilon
git clone --depth 1 https://github.com/parisseb/epsilon
cd epsilon
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/ext.tar.bz2
tar xfj ext.tar.bz2
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/numworks/nwsimu.tgz
tar xfz nwsimu.tgz
echo "Building..."
set +e
./mkmac
echo "Packaging"
mkdir tmp
mv output/release/simulator/macos/epsilon.app tmp
pkgbuild --install-location /Applications --identifier khicasnw.pkg.app --root tmp ~/Downloads/Khicasnw.pkg
echo "Moving things into place..."
wget https://www-fourier.univ-grenoble-alpes.fr/~parisse/khi92.tar
mv khi92.tar ~/Documents/scripts.tar
mv tmp/epsilon.app /Applications
echo "epsilon.app is now available in /Applications/"
open /Applications/epsilon.app
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3698
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
11 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: ClaudeBot [spider] and 0 guests