BricxCC Command Center Error - Unknown GNU error code(-255)
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
Hi,
I didn't put "lmsapi" into the path.
(I once tried it, but nothing changed..)
Instead, I put the linux tools(make and rm) into the CSLITE/bin directory.
I wonder those two files are not compatible with my system or something..
I didn't put "lmsapi" into the path.
(I once tried it, but nothing changed..)
Instead, I put the linux tools(make and rm) into the CSLITE/bin directory.
I wonder those two files are not compatible with my system or something..
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
I tried to emulate a failure in make and rm (I moved them out of my path) and it did not produce any errors with the test file compiling. Therefore, I do not think that they are causing your issue.
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
I would tell BricxCC to keep the makefile it generates. That option is on the Compilers page, Common tab. It will be called the same as the program you are trying to compile with a .mak extension. After trying to compiler please post both the .mak and the source code file you are trying to compile (in code blocks, preferrably).
Please, I beg, keep all the API files in the same folder as your source code for now and do not put paths into the .prj file manually. It is simple enough to do and doesn't cause any problems (i.e., using one folder for all the files). It is not impossible that DOS-style paths are causing trouble since make and the gcc prefer unix-style paths. You don't need to worry about paths if you just leave everything in one folder, like I have recommended for the time being. Eventually I will add proper support for paths in the project file and all that sort of thing.
If you could provide more details it would help. Are you for certain picking EV3 as the brick type, Linux as the firmware type, and USB as the port? Are you for certain using the 20131007 test release of BricxCC? What is the code you are trying to compile? Did you try compiling any of the test programs in my lms_api.zip (http://bricxcc.sourceforge.net/test_rel ... ms_api.zip)? When you open a command prompt and type "make --version" what does it say? Have you reset the Compiler tab back to its default values in case something there is wrong?
This is another example of why I strongly prefer email to help solve problems with very early versions of pre-release software. Once the problem is solved then a post that describes the problem and its solution would be far more beneficial to the community than several back and forth before it (with any luck) eventually gets solved. I will almost certainly see the problem earlier and it will get fixed faster and if by some odd chance it involves user error there will be no embarrassing moments for anyone.
John Hansen
Please, I beg, keep all the API files in the same folder as your source code for now and do not put paths into the .prj file manually. It is simple enough to do and doesn't cause any problems (i.e., using one folder for all the files). It is not impossible that DOS-style paths are causing trouble since make and the gcc prefer unix-style paths. You don't need to worry about paths if you just leave everything in one folder, like I have recommended for the time being. Eventually I will add proper support for paths in the project file and all that sort of thing.
If you could provide more details it would help. Are you for certain picking EV3 as the brick type, Linux as the firmware type, and USB as the port? Are you for certain using the 20131007 test release of BricxCC? What is the code you are trying to compile? Did you try compiling any of the test programs in my lms_api.zip (http://bricxcc.sourceforge.net/test_rel ... ms_api.zip)? When you open a command prompt and type "make --version" what does it say? Have you reset the Compiler tab back to its default values in case something there is wrong?
This is another example of why I strongly prefer email to help solve problems with very early versions of pre-release software. Once the problem is solved then a post that describes the problem and its solution would be far more beneficial to the community than several back and forth before it (with any luck) eventually gets solved. I will almost certainly see the problem earlier and it will get fixed faster and if by some odd chance it involves user error there will be no embarrassing moments for anyone.
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
Hi,
thanks for all your help, I resolve the problem.
The was due to the version of "make.exe", which was in the package.
The version was 3.80, and it keep generating the following error when I tested in command line.
make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4ff283)
After I upgrade it to 3.82.90, the problem was gone.
Here's a link to the new make.exe I used.
https://dl.dropboxusercontent.com/u/576 ... 2-make.zip
Probably you should rename it.
If some of you want to update your tutorial, feel free to grab that file
thanks for all your help, I resolve the problem.
The was due to the version of "make.exe", which was in the package.
The version was 3.80, and it keep generating the following error when I tested in command line.
make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4ff283)
After I upgrade it to 3.82.90, the problem was gone.
Here's a link to the new make.exe I used.
https://dl.dropboxusercontent.com/u/576 ... 2-make.zip
Probably you should rename it.
If some of you want to update your tutorial, feel free to grab that file
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
I'm glad that you were able to sort out this error. On my Win7 x64 laptop I don't have any trouble with the 3.80 build of make. CodeSourcery Lite comes with cs-make.exe and cs-rm.exe which you can copy and rename as make.exe and rm.exe which should work fine too. The version of make that comes with CodeSourcery Lite is 3.81. Can you try that one to see if it works or not?
John Hansen
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
-
- Posts: 2
- Joined: 12 Oct 2013, 18:54
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
Hi everyone,
I can confirm I'm getting the same error while compiling the test.c project.
I've went through the walkthrough available at https://docs.google.com/document/d/1tA2 ... sBtro/edit (thanks Totokan)
Install paths:
C:\CSLITE
C:\BricxCC
Code path:
C:\EV3\Test\test.prj
C:\EV3\Test\test.c <- this is the source i'm trying to build.
C:\EV3\Test\test.mak <- this is the file generated by BricxCC after enabling the keep option in Compilers page
C:\EV3\Test\lmsapi\ <- copied all the .h and .c files here
I've attached an archive of the C:\EV3 folder.
I have Windows 8 machine. PATH variable:
C:\CSLITE\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\VXIPNP\WinNT\Bin
Using BricxCC version 3.3.8.11
Best Regards,
Cezar
I can confirm I'm getting the same error while compiling the test.c project.
I've went through the walkthrough available at https://docs.google.com/document/d/1tA2 ... sBtro/edit (thanks Totokan)
Install paths:
C:\CSLITE
C:\BricxCC
Code path:
C:\EV3\Test\test.prj
C:\EV3\Test\test.c <- this is the source i'm trying to build.
Code: Select all
#include <stdio.h>
#include <unistd.h>
#include "./lmsapi/ev3_lcd.h"
#include "./lmsapi/ev3_command.h"
int main()
{
int i;
LcdInit();
LcdText(1, 0, 0, "Everything is working!");
Wait(SEC_1);
LcdExit();
}
C:\EV3\Test\lmsapi\ <- copied all the .h and .c files here
I've attached an archive of the C:\EV3 folder.
I have Windows 8 machine. PATH variable:
C:\CSLITE\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\VXIPNP\WinNT\Bin
Using BricxCC version 3.3.8.11
Best Regards,
Cezar
- Attachments
-
- test.mak.txt
- (436 Bytes) Downloaded 426 times
-
- EV3.rar.txt
- (72.78 KiB) Downloaded 450 times
-
- Posts: 2
- Joined: 12 Oct 2013, 18:54
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
UPDATE:
Following John's reccomendation, I have renamed (with copy)
C:\CSLITE\bin\cs-make.exe and
C:\CSLITE\bin\cs-rm.exe
to
C:\CSLITE\bin\make.exe
C:\CSLITE\bin\rm.exe
Now the compiler is starting and I'm getting some output:
Recap, EV3 target board, Linux as firmware, board version 1.03H
Code I'm trying to compile is same as above. I've attached again makefile generated.
Regards,
Cezar
Following John's reccomendation, I have renamed (with copy)
C:\CSLITE\bin\cs-make.exe and
C:\CSLITE\bin\cs-rm.exe
to
C:\CSLITE\bin\make.exe
C:\CSLITE\bin\rm.exe
Now the compiler is starting and I'm getting some output:
Code: Select all
rm: cannot remove `*.o': Invalid argument
rm: cannot remove `*.ppu': Invalid argument
rm: cannot remove `*.rst': Invalid argument
make: *** [clean] Error 1
Code I'm trying to compile is same as above. I've attached again makefile generated.
Regards,
Cezar
- Attachments
-
- test.mak.txt
- (436 Bytes) Downloaded 383 times
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
Apparently the cs-rm.exe included in CodeSourcery Lite is not a standard rm. You will need to use the rm.exe from the linux_tools.zip included in my test release zip. You should be able to use cs-make.exe copied and renamed to make.exe but definitely not cs-rm.exe.
Earlier today I replaced the 20131007 test release zip with a new one that includes a linux_tools.zip that contains the cs-make.exe renamed to make.exe (i.e., version 3.81).
John Hansen
Earlier today I replaced the 20131007 test release zip with a new one that includes a linux_tools.zip that contains the cs-make.exe renamed to make.exe (i.e., version 3.81).
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
Re: BricxCC Command Center Error - Unknown GNU error code(-255)
You will probably get linker errors if you do not add -Llmsapi to the LDFLAGS variable in the makefile. It also looks like you have an old makefile template which can be fixed by clicking the Default button on the Compiler tab (if you have the 20131007 test release).
Here's a generated makefile that shows how you can use relative paths for library sources:
To get a makefile that looks like this you would add lmsapi/ev3_command.c and lmsapi/ev3_output.c to the .prj file (manually adding the unix-style relative paths). I have in this case edited the LDFLAGS variable in the template to add -Llmsapi (defining the relative lmsapi folder as a library path). I have also put -Ilmsapi (that's a capital i followed by lmsapi) in the Flags field. This value replaces the %FLAGS% token in the template.
If you want to link to the libev3.so shared library (and copy it to a lib folder on your micro SD card) then check the box on the EV3 page, leave the project manager window empty, and then add -Llmsapi to the LDFLAGS variable in addition to setting the include path via the Flags field.
The commented out pscp line shows you how you could transfer the binary to the EV3 if you have started dropbear on the EV3 and are connected either via wifi or wired ethernet. You would need to have putty installed and on your path.
John Hansen
Here's a generated makefile that shows how you can use relative paths for library sources:
Code: Select all
PROGRAM=ex_RotateMotor
DOBJECTS=lmsapi/ev3_command.o lmsapi/ev3_output.o
TOOLPREFIX=arm-none-linux-gnueabi-
all:: realclean $(DOBJECTS) $(PROGRAM)
download:: all
#pscp -scp -pw "" ex_RotateMotor [email protected]:/media/card
clean::
rm -f *.o *.ppu *.rst
realclean:: clean
rm -f $(PROGRAM)
FLAGS=-Ilmsapi
LDFLAGS=-Wl,-R/media/card/lib -Llmsapi
CC=$(TOOLPREFIX)gcc
# how to link executable
ex_RotateMotor: ex_RotateMotor.c
$(CC) $(FLAGS) $(LDFLAGS) $< -o$@ lmsapi/ev3_command.o lmsapi/ev3_output.o
# how to compile source
%.o: %.c
$(CC) $(FLAGS) -c $< -o$@
If you want to link to the libev3.so shared library (and copy it to a lib folder on your micro SD card) then check the box on the EV3 page, leave the project manager window empty, and then add -Llmsapi to the LDFLAGS variable in addition to setting the include path via the Flags field.
The commented out pscp line shows you how you could transfer the binary to the EV3 if you have started dropbear on the EV3 and are connected either via wifi or wired ethernet. You would need to have putty installed and on your path.
John Hansen
Multi-platform LEGO MINDSTORMS programming
http://bricxcc.sourceforge.net/
http://bricxcc.sourceforge.net/
Who is online
Users browsing this forum: No registered users and 1 guest