Tapas Mishra wrote:
Hi,
I am trying to do a project when I do a make on project code
in cygwin environment I get following error
gcc -Wall -g -c main.c -o main.o
main.c: In function ‘main’:
main.c:50:8: warning: unused variable ‘physmem’ [-Wunused-variable]
char *physmem = page_table_get_physmem(pt);
^~~~~~~
gcc -Wall -g -c page_table.c -o page_table.o
page_table.c: In function ‘page_table_set_entry’:
page_table.c:125:2: warning: implicit declaration of function
‘remap_file_pages’ [-Wimplicit-function-declaration]
remap_file_pages(pt->virtmem+page*PAGE_SIZE,PAGE_SIZE,0,frame,0);
^~~~~~~~~~~~~~~~
gcc -Wall -g -c disk.c -o disk.o
gcc -Wall -g -c program.c -o program.o
gcc main.o page_table.o disk.o program.o -o virtmem
page_table.o: In function `page_table_set_entry':
/home/DEEL/cs602/try1/page_table.c:125: undefined reference to
`remap_file_pages'
/home/DEEL/cs602/try1/page_table.c:125:(.text+0x491): relocation
truncated to fit: R_X86_64_PC32 against undefined symbol
`remap_file_pages'
collect2: error: ld returned 1 exit status
make: *** [makefile:2: virtmem] Error 1
I compiled the same code on a linux instance hosted on amazon cloud
and it compiled successfully. So this brought me to a conclusion some
files are missing in cygwin and hence I reached here.
I glanced at your pastebin files briefly. These warnings and errors appear to
be garden variety coding issues. Nothing Cygwin-specific that I can see.
The first warning is that you've defined physmem but aren't using that
definition anywhere in the same function. The second warning tells that you
haven't defined remap_file_pages() at any point before it's used in that source
file. It needs to be defined before use in that file, or in a header file
#included before use. And the error message is messily saying
remap_file_pages() wasn't defined in any of the object files you're linking.
Dunno how this could work as-is anywhere :-). Minor tweaks should fix it.
..mark
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple