EmbeddedRelated.com
Forums

Why isn't object file created?

Started by learn 7 years ago4 replieslatest reply 7 years ago110 views

I'm using WindRiver 5.9.4.8 Compiler to cross compile large embedded 'C' language project.

The source code is in the hard disk on my windows computer.  The compiler is in Oracle Linux Server.

I invoke WinSCP to access Linux Server.  Now, there are Two Windows on my screen.  Window on the left has my windows directory tree.  Window on the right has my Linux directory tree.  I drag source code from my Windows machine to Linux Directory Tree.

WinSCP comes with a command shell.  I invoke make program from the command shell.  The compiler starts executing because I see dcc command on the command window.  It tries to compile first .c file but object file or .o file isn't created.  The error message is as follows:

"/tmp/dtmpBAAa25644", error:  cannot create output file  ./BOOT/Object/filename.o

The compiler license file is in a different Linux server.  According to my IT department, I don't need access to this different Linux Server.  License gets pulled without me having access to this server.

Then, what is the problem?  Why isn't the first .o file getting created? 

[ - ]
Reply by Tim WescottDecember 23, 2016

Not very informative.  If it's not a license problem, the next suspect down on my list would be that for some reason the compiler doesn't have sufficient write permissions.  Does it manage to create the BOOT and BOOT/Object directories?  Do they have executable permissions (required, IIRC, for creating files in a directory).

You might check and see if the compiler runs with you as the owner, or if it gets invoked as a deamon with someone else as the owner -- in that case, the permissions on your directories need to be set up such that that other owner can do what it needs to do.

Good luck.

[ - ]
Reply by learnDecember 23, 2016

I created Object folder, then the build worked.

[ - ]
Reply by techdcsDecember 23, 2016

Hi you do not Write permission on the Linux Server and the path to create the output file should be specified. hope this helps .

rgds


[ - ]
Reply by learnDecember 23, 2016

I was expecting makefile to create the Object directory but I didn't see any make directory commands in the makefile.