make failing in custom code
Mark Geisert
mark@maxrnd.com
Thu Sep 27 16:49:00 GMT 2018
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
More information about the Cygwin
mailing list