Omnimaga
Omnimaga => Our Projects => Ndless => Topic started by: Jonson26 on June 07, 2017, 12:09:09 pm
-
Well...
I tried to install the ndless sdk and now i,m totally confused.
There are two totally different instructions on ndlessly. But:
1. The links to the files in the one that seems easier are both dead.
2. The more complicated one: Why the heck do i need PHP, openssl and all that stuff to make a compiler running!? ??? :banghead:
Come on! It's a program that translates C language into assembly! Why do i need all that stuff complicated even to
make a "Hello world!" example? I saw TIGCC, and it has a simple, minimalistic and understandable .exe installer.
Shouldn't there be something similar for the nspire?
I'l gratefully apprieciate any help.
-
1. The links to the files in the one that seems easier are both dead.
You may find this useful: https://github.com/ndless-nspire/Ndless/wiki/Ndless-SDK:-C-and-assembly-development-introduction
2. The more complicated one: Why the heck do i need PHP, openssl and all that stuff to make a compiler running!? ??? :banghead:
Come on! It's a program that translates C language into assembly! Why do i need all that stuff complicated even to
make a "Hello world!" example? I saw TIGCC, and it has a simple, minimalistic and understandable .exe installer.
Shouldn't there be something similar for the nspire?
Welcome to the world of open source. Where things require a little knowhow, are very rarely polished, and most developers aren't paid for their time.
-
Wow. Quick response! Thank you Eeems, really.
Do you also know where to find those things?
php (5.6+), libboost-devel, libboost_program_options*, binutils, gcc-core, gcc-g++, git, mpfr, mpfr-devel, gmp, libgmp-devel, libmpc3, libmpc-devel, openssl-dev, make, texinfo, zlib-devel, wget
I didnt even manage to find php... :( I,m on windows 7 btw.
-
Install Cygwin (32bit, x86) and the following dependencies
You will install them as part of installing Cygwin (https://cygwin.com/install.html). You'd find them on this screen:
(http://i.imgur.com/76yYIjO.png)
-
O.O So THAT was the thing!
Thank you very much!
Ok. I don,t get it. :banghead:
I go to the toolchain folder using cygwin and do ./build_toolchain.sh and i get this:
$ ./build_toolchain.sh
Building and installing to '/cygdrive/c/users/lioł/ndless/ndless-sdk/toolchain/install'...
./build_toolchain.sh: linia 47: gcc: nie znaleziono polecenia
GMP (gmp-devel/libgmp-dev) dependency seems to be missing!
./build_toolchain.sh: linia 48: gcc: nie znaleziono polecenia
MPFR (mpfr-devel/libmpfr-dev) dependency seems to be missing!
./build_toolchain.sh: linia 49: gcc: nie znaleziono polecenia
MPC (mpc-devel/libmpc-dev) dependency seems to be missing!
./build_toolchain.sh: linia 50: gcc: nie znaleziono polecenia
zlib (zlib-devel/zlib1g-dev) dependency seems to be missing!
./build_toolchain.sh: linia 51: gcc: nie znaleziono polecenia
libpython2.7 (python-devel/python2.7-dev) dependency seems to be missing!
"nie znaleziono polecenia" means "command not found" in polish.
What did i do wrong?
Edit (Eeems): Merged double post
-
Ok. I don,t get it. :banghead:
I go to the toolchain folder using cygwin and do ./build_toolchain.sh and i get this:
$ ./build_toolchain.sh
Building and installing to '/cygdrive/c/users/lioł/ndless/ndless-sdk/toolchain/install'...
./build_toolchain.sh: linia 47: gcc: nie znaleziono polecenia
GMP (gmp-devel/libgmp-dev) dependency seems to be missing!
./build_toolchain.sh: linia 48: gcc: nie znaleziono polecenia
MPFR (mpfr-devel/libmpfr-dev) dependency seems to be missing!
./build_toolchain.sh: linia 49: gcc: nie znaleziono polecenia
MPC (mpc-devel/libmpc-dev) dependency seems to be missing!
./build_toolchain.sh: linia 50: gcc: nie znaleziono polecenia
zlib (zlib-devel/zlib1g-dev) dependency seems to be missing!
./build_toolchain.sh: linia 51: gcc: nie znaleziono polecenia
libpython2.7 (python-devel/python2.7-dev) dependency seems to be missing!
"nie znaleziono polecenia" means "command not found" in polish.
What did i do wrong?
Are you running this from cygwin or from the windows command line?
Did you also install gcc and the other dependencies or just php?
-
I'm doing it from cygwin, but maybe i don't know how to install dependencies...
...so what do i do to install dependencies?
Ok. I figured it out myself.
I can only hope, i selected the right packages.
Edit(Eeems): Merged triple post
-
I'm doing it from cygwin, but maybe i don't know how to install dependencies...
...so what do i do to install dependencies?
Ok. I figured it out myself.
I can only hope, i selected the right packages.
You have to select the packages that are required. According to the documentation on the page I linked you to, you need to select the following packages: php (5.6+), libboost-devel, libboost_program_options*, binutils, gcc-core, gcc-g++, git, mpfr, mpfr-devel, gmp, libgmp-devel, libmpc3, libmpc-devel, openssl-dev, make, texinfo, zlib-devel, wget
Please stop double/triple posting. Instead use the edit button on your previous post.
-
Please stop double/triple posting. Instead use the edit button on your previous post.
Sorry. I won't do it again.
Btw, do you have an idea what this might be?
make: *** [Makefile:854: all] Błąd 2
"Błąd" --> "Error"
-
Btw, do you have an idea what this might be?
make: *** [Makefile:854: all] Błąd 2
"Błąd" --> "Error"
Not really, it seems to be a generic error. What exactly are you running? Maybe include some more of the output so that I can understand the context.
-
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating bfd-in3.h
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing bfd_stdint.h commands
config.status: executing default commands
make[1]: Opuszczenie katalogu '/cygdrive/c/users/lioł/ndless/ndless-sdk/toolchain/build'
make: *** [Makefile:854: all] Błąd 2
"Opuszczenie katalogu" --> "Leaving catalog"
"Błąd" --> "Error"
Do You think I should simply replace the polish words, or do it as now?
-
Replacing the polish words would be nice :)
That said, what are you running to get this to happen?. I would suggest taking a look at one of the makefiles it mentions and looking at line 854 and see if that helps you understand what might be going wrong.
-
Well...
There's the problem.
I'm still running build_toolchain.sh, and it only has lihe 87 lines or so...
-
Well...
There's the problem.
I'm still running build_toolchain.sh, and it only has lihe 87 lines or so...
I would suggest taking a look at one of the makefiles it mentions and looking at line 854 and see if that helps you understand what might be going wrong.
So look at the output you just gave me:
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating bfd-in3.h
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing bfd_stdint.h commands
config.status: executing default commands
make[1]: Opuszczenie katalogu '/cygdrive/c/users/lioł/ndless/ndless-sdk/toolchain/build'
make: *** [Makefile:854: all] Błąd 2
It mentions a couple Makefiles, look at them. Or look into what this default commands thing is.
-
:( I found the makefile it was executing, but i have no idea what the problem might be...
Aren't there any precompiled versions of this sdk? It would work for me, if tey wuldn't be
terribly outdatet...
I'll send the makefile, if it helps. It was located at <ndless directory>\ndless-sdk\toolchain\build .
Unfortunatley i have no idea what those default commands might be...
-
:( I found the makefile it was executing, but i have no idea what the problem might be...
Aren't there any precompiled versions of this sdk? It would work for me, if tey wuldn't be
terribly outdatet...
I'll send the makefile, if it helps. It was located at <ndless directory>\ndless-sdk\toolchain\build .
Unfortunatley i have no idea what those default commands might be...
Spellcheck is your friend.
There may be some people with precompiled versions of the SDK on windows that might be willing to share with you. At this point unless someone who works on it comes forward with a solution, you may want to open an issue here: https://github.com/ndless-nspire/Ndless/issues/new
From what I can tell it's failing when attempting to determine what directory it's running in. @ExtendeD @Legimet or @Vogtinator do you have any idea what is going on here? It's failing on the following code@r=`${PWD_COMMAND}`; export r; \
-
Can you list the dotfiles (files whose names start with .) in the directory containing build_toolchain.sh?
-
I only see .gitmodules in there.
EDIT: Wrong folder. :-[ Sorry. There are ".downloaded" and ".gitgnore".
-
So that means that it failed when building binutils.
Can you post the complete log of what happens when you run build_toolchain.sh?
-
Like this? I left the files created in the prievious run of build_toolchain.sh.
-
Uhm... Now I start to wonder , if it was at the end all my fault...
You see, I didn't fix the genzehn thingie, because there was no such folder/file in the toolchain directory.
Maybe that is the problem? :-[ Sorry for the trouble.
-
It has nothing to do with genzehn. Did you install gcc-g++ (the C++ compiler) in cygwin? I think that is the issue.
Make sure you have all of the dependencies in the list given on https://hackspire.org/index.php/C_and_assembly_development_introduction
php (5.6+), libboost-devel, libboost_program_options*, binutils, gcc-core, gcc-g++, git, mpfr, mpfr-devel, gmp, libgmp-devel, libmpc3, libmpc-devel, make, zlib-devel, wget
You can install these with the cygwin installer.
Also, you still need to fix the zehn.h symlink, but it is located in ndless-sdk/tools/genzehn. You need to replace it with the file in ndless-sdk/include.
-
Also, you still need to fix the zehn.h symlink, but it is located in ndless-sdk/tools/genzehn. You need to replace it with the file in ndless-sdk/include.
Is this link done in a way that cygwin libraries can't handle?
-
Is this link done in a way that cygwin libraries can't handle?
Unfortunately, Git on Windows doesn't enable support for symlinks by default because of differences between Windows symlinks and POSIX symlinks: https://github.com/git-for-windows/git/wiki/Symbolic-Links
-
Unfortunately, Git on Windows doesn't enable support for symlinks by default because of differences between Windows symlinks and POSIX symlinks: https://github.com/git-for-windows/git/wiki/Symbolic-Links
That's git on windows, from what I understand cygwin uses it's own build that should be able to handle symlinks.
In any case, the instructions for windows should be updated to reflect how to enable symlinks in git.
-
Perhaps it does. Someone with Windows would have to test it and update the instructions if necessary.
-
I still don't know why it does not work...
Maybe i could use a copy of someone's toolchain folder? Would this work?
Eems, you said some people had precompiled packages. Do you know how i could reach those persons?
-
I still don't know why it does not work...
Maybe i could use a copy of someone's toolchain folder? Would this work?
Eems, you said some people had precompiled packages. Do you know how i could reach those persons?
It's Eeems not Eems.
You still haven't answered @Legimet's questions.
Have you followed the steps he outlined here:
It has nothing to do with genzehn. Did you install gcc-g++ (the C++ compiler) in cygwin? I think that is the issue.
Make sure you have all of the dependencies in the list given on https://hackspire.org/index.php/C_and_assembly_development_introduction
php (5.6+), libboost-devel, libboost_program_options*, binutils, gcc-core, gcc-g++, git, mpfr, mpfr-devel, gmp, libgmp-devel, libmpc3, libmpc-devel, make, zlib-devel, wget
You can install these with the cygwin installer.
Also, you still need to fix the zehn.h symlink, but it is located in ndless-sdk/tools/genzehn. You need to replace it with the file in ndless-sdk/include.
As for the precompiled packages, I'm not sure who actually have them. You could create an issue asking for it here: https://github.com/ndless-nspire/Ndless/issues
It would still probably be best to just sort out the issues that @Legimet mentioned.
-
There are no up-to-date precompiled packages for any platform. Few of us use Windows, so it would be tough to provide one for Windows. That said, if someone wants to make one, feel free to do so!
Did you try installing g++? What happens if you try that?
-
1. Tried it on linux. Didn't work.
2. I already had gcc installed.
3. The binaries don't have to be as up-to-date. I only want the compiled stuff to work on my calculartor without crashing it.
-
@Jonson26 g++, not gcc. These are 2 different packages...
If you want to use GNU/Linux, it is very easy.
-
G++ was already there too.
Again, i only want the compiled stuff to work on my calculator... :'(
Old binaries will be fine for me as long as they don't have any "critical " bugs, that make your device go "BOOOM!!!".
-
@Jonson26 What error message did you get this time? What distro are you using?
-
I'm using zorin os (it's based on ubuntu).
The error was something like error: 2. The same thing that i had on cygwin.
Again: I could also use outtdated binaries, as long as theey work with my calc(ti-nspire cas classic - os 3.9.0 latest ndless).
-
@Jonson26 Just to be clear, you followed the following instructions and were still getting the same error, or a new one?
Also, you still need to fix the zehn.h symlink, but it is located in ndless-sdk/tools/genzehn. You need to replace it with the file in ndless-sdk/include.
-
I only followed this instruction when i was using cygwin. I thought Linux systems don't need this fix (Or do they?), so i just git cloned the repository and installed the listed dependencies.
BTW, you should list libpython 2.7 devel on the dependencies list, as the sh script returns an error about it being missing immediatley after launching it. Just to be clear, it happened to me on both Windows and Linux, so it's not a platform-based problem.
-
I only followed this instruction when i was using cygwin. I thought Linux systems don't need this fix (Or do they?), so i just git cloned the repository and installed the listed dependencies.
Correct this was only for Windows. I was just going back through the posts and realized you never told us the result of this.
BTW, you should list libpython 2.7 devel on the dependencies list, as the sh script returns an error about it being missing immediately after launching it.
It's a github wiki page, you should make the edit
Just to be clear, it happened to me on both Windows and Linux, so it's not a platform-based problem.
Could you post the logs so we can have a bit more context as to where it is happening on linux? Or is it giving the exact same output you had before?
-
Please post the complete output of build_toolchain.sh so that we can find the error.
-
The fix didn't help. :(
Here i post the terminal output copied into a txt file.
-
This is a bug in GDB. It requires to install texinfo (although it shouldn't be necessary):
sudo apt install texinfo
Do this and run again. It's almost done!
-
It worked!
But now i can't get through the 'make' process...
When i run it in the main folder (The one with the folders named ndless and ndless-sdk), i get this output:
make -C ndless-sdk
make[1]: Entering directory `/home/jamroga/Ndless/ndless-sdk'
make -C libsyscalls
make[2]: Entering directory `/home/jamroga/Ndless/ndless-sdk/libsyscalls'
php mkStubs.php > ../include/syscall-decls.h
/bin/sh: 1: php: not found
make[2]: *** [stubs.cpp] Error 127
make[2]: Leaving directory `/home/jamroga/Ndless/ndless-sdk/libsyscalls'
make[1]: *** [build-libsyscalls] Error 2
make[1]: Leaving directory `/home/jamroga/Ndless/ndless-sdk'
make: *** [build-ndless-sdk] Error 2
-
It worked!
But now i can't get through the 'make' process...
When i run it in the main folder (The one with the folders named ndless and ndless-sdk), i get this output:
make -C ndless-sdk
make[1]: Entering directory `/home/jamroga/Ndless/ndless-sdk'
make -C libsyscalls
make[2]: Entering directory `/home/jamroga/Ndless/ndless-sdk/libsyscalls'
php mkStubs.php > ../include/syscall-decls.h
/bin/sh: 1: php: not found
make[2]: *** [stubs.cpp] Error 127
make[2]: Leaving directory `/home/jamroga/Ndless/ndless-sdk/libsyscalls'
make[1]: *** [build-libsyscalls] Error 2
make[1]: Leaving directory `/home/jamroga/Ndless/ndless-sdk'
make: *** [build-ndless-sdk] Error 2
I'm going to guess you didn't install php, or do you don't have it on your path.
sudo apt install php5
-
I didn't have php indeed, but after installing it i still get the same error message when running make...
I still want those old binaries, thought.
-
sudo apt install php-cli
-
I am unable to install it. It says, that the package was not found.
-
I am unable to install it. It says, that the package was not found.
After less then a minute of googling I found this: https://unix.stackexchange.com/questions/10976/how-do-i-install-a-php-cli-with-a-usable-interactive-prompt-on-debian-wheezy
Try installing php5-cli.
-
Apparently php5-cli was already present. The problem is still there.
-
Apparently php5-cli was already present. The problem is still there.
Well then you'll need to figure out why php isn't on your path.
-
Are you sure you have it? Post the output of
dpkg -l | grep php
.
-
Here it is:
ii libapache2-mod-php5 5.5.9+dfsg-1ubuntu4.22 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php5 5.5.9+dfsg-1ubuntu4.22 all server-side, HTML-embedded scripting language (metapackage)
ii php5-cli 5.5.9+dfsg-1ubuntu4.22 amd64 command-line interpreter for the php5 scripting language
ii php5-common 5.5.9+dfsg-1ubuntu4.22 amd64 Common files for packages built from the php5 source
ii php5-json 1.3.2-2build1 amd64 JSON module for php5
ii php5-readline 5.5.9+dfsg-1ubuntu4.22 amd64 Readline module for php5
Besides, why did that compiler become so complicated? I saw an old tutorial, in which the installation process was far more simple than now!
-
@Jonson26: What happens if you run
which php
and which php5
?
-
Besides, why did that compiler become so complicated? I saw an old tutorial, in which the installation process was far more simple than now!
Well if you were on Ubuntu instead of a Ubuntu based system it would be easier. The installation process hasn't really changed much.
-
1./usr/bin/php
2./usr/bin/php5
-
@Jonson26 Then it should work. Try building Ndless?
-
...
-
...
What does your path look like? It seems that php is not the problem and that you haven't updated your path as per the instructions (https://github.com/ndless-nspire/Ndless/wiki/Ndless-SDK:-C-and-assembly-development-introduction#build-and-install-toolchain-and-sdk)
-
Tried to update my path. Didn't work. :(
Here it is: (the path)
home/jamroga/Ndless/ndless-sdk/toolchain/install/bin:/home/jamroga/Ndless/ndless-sdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
-
Tried to update my path. Didn't work. :(
Here it is: (the path)
home/jamroga/Ndless/ndless-sdk/toolchain/install/bin:/home/jamroga/Ndless/ndless-sdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
And by didn't work you mean it threw the same error or a new error?
Also, check /home/jamroga/Ndless/ndless-sdk/bin to make sure the nspire-gcc executable exists.
-
I think it's the same error.
The file is in there, but i don't seem to be able to run it...
-
I think it's the same error.
The file is in there, but i don't seem to be able to run it...
Have you checked it's flags to see if it's executable? Can you verify that it is the same error so that we don't have to spin in circles on something that isn't the actual issue.
-
Well, in the properties menu it is set to executable.
Here I post my newest terminal output. (Sorry for the slow response time, with school beginning soon in Poland... :/)
jamroga@Dell-Latitude-E6500:~/Ndless$ make
make -C ndless-sdk
make[1]: Entering directory `/home/jamroga/Ndless/ndless-sdk'
make -C libsyscalls
make[2]: Entering directory `/home/jamroga/Ndless/ndless-sdk/libsyscalls'
arm-none-eabi-g++ -mcpu=arm926ej-s -std=c++11 -nostdlib -O3 -fPIE -fno-exceptions -fno-rtti -mlong-calls -Wall -Werror -I ../include/ -I ../thirdparty/nspire-io/include/ -D_TINSPIRE -ffunction-sections -fdata-sections -c stubs.cpp -o stubs.o
make[2]: arm-none-eabi-g++: Command not found
make[2]: *** [stubs.o] Error 127
make[2]: Leaving directory `/home/jamroga/Ndless/ndless-sdk/libsyscalls'
make[1]: *** [build-libsyscalls] Error 2
make[1]: Leaving directory `/home/jamroga/Ndless/ndless-sdk'
make: *** [build-ndless-sdk] Error 2
I am actually start thinking about abandoning that sdk project, in favor of TI-92 developement. My electronics-guru-uncle took a look at the broken i/o port, and said, he could easily fix it.
At least one good message for me. ;)
-
Well you really shouldn't abandon the SDK yet. It looks like it's a completely new error you are running into. arm-none-eabi-g++ is missing on your machine.
-
It means that your $PATH is wrong and if your post with the PATH is correct, the slash before
home/jamroga/Ndless/ndless-sdk/toolchain/install/bin
is missing.
-
@Jonson26 Do what Vogtinator said, fix your PATH.
-
Well, at the moment I can't really acces that linux computer,so I'm unable to do anything with the compiler. Besides, soon I'll have my ti92's i/o port fixed, so i want to dedicate myself more to 68k developement.
P.S.: A propos OS: Fun fact: I'm actually writing this on a winXP machine. 8) Deal with it, Microsoft! I'm not taking your badly-designed Windows 10!
-
Hello
I hope someone can help me on this.
I'm installing Ndless-sdk but when I run Make this is the output I get.
brito@OESKTOP-OLM913D /cygdrive/c/ndless-master/ndless-sdk
make all
make -C libsyscalls
make[1]: Entering directory 7cygdrive/c/ndless-master/ndless-sdk/libsyscalls'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory 7cygdrive/c/ndless-master/ndless-sdk/libsyscalls'
make -C libndls
make[1]: Entering directory 7cygdrive/c/ndless-master/ndless-sdk/libndls'
nspire-gcc -02 -funroll-loops -nostdlib -Wall -Werror -Wextra -ffunction-section
make[1]: nspire-gcc: Command not found
make[1]: *** [Makefile:18: wait_keypressed.o] Error 127
make[1]: Leaving directory 7cygdrive/c/ndless-master/ndless-sdkjlibndls'
make: *** [Makefile:14: build-libndls] Error 2
britoaDESKTOP-OLM917D /cygdrive/c/ndless-master/ndless-sdk
Thank you for the help
-
Hello
I hope someone can help me on this.
I'm installing Ndless-sdk but when I run Make this is the output I get.
brito@OESKTOP-OLM913D /cygdrive/c/ndless-master/ndless-sdk
make all
make -C libsyscalls
make[1]: Entering directory 7cygdrive/c/ndless-master/ndless-sdk/libsyscalls'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory 7cygdrive/c/ndless-master/ndless-sdk/libsyscalls'
make -C libndls
make[1]: Entering directory 7cygdrive/c/ndless-master/ndless-sdk/libndls'
nspire-gcc -02 -funroll-loops -nostdlib -Wall -Werror -Wextra -ffunction-section
make[1]: nspire-gcc: Command not found
make[1]: *** [Makefile:18: wait_keypressed.o] Error 127
make[1]: Leaving directory 7cygdrive/c/ndless-master/ndless-sdkjlibndls'
make: *** [Makefile:14: build-libndls] Error 2
britoaDESKTOP-OLM917D /cygdrive/c/ndless-master/ndless-sdk
Thank you for the help
See the following for the solution:
It means that your $PATH is wrong and if your post with the PATH is correct, the slash before
home/jamroga/Ndless/ndless-sdk/toolchain/install/bin
is missing.
EDIT: Looks like there is a github issue that addresses this already: ndless-nspire/Ndless#83 (https://github.com/ndless-nspire/Ndless/issues/83)