Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moosefs-3.0.78 fails to compile in Cygwin64 #13

Closed
nrm21 opened this issue Jun 20, 2016 · 2 comments
Closed

Moosefs-3.0.78 fails to compile in Cygwin64 #13

nrm21 opened this issue Jun 20, 2016 · 2 comments
Assignees

Comments

@nrm21
Copy link

nrm21 commented Jun 20, 2016

I'm having an issue (when I wasn't before) compiling the latest v3.0.78 in Cygwin. Here is the issue when I run make:

$ make
make  all-recursive
make[1]: Entering directory '/home/Nate/moosefs-3.0.78'
Making all in mfstests
make[2]: Entering directory '/home/Nate/moosefs-3.0.78/mfstests'
  CC       mfstest_datapack-mfstest_datapack.o
  CCLD     mfstest_datapack.exe
  CC       mfstest_clocks-mfstest_clocks.o
In file included from /usr/include/time.h:12:0,
                 from /usr/include/sys/time.h:268,
                 from mfstest_clocks.c:22:
/usr/include/sys/reent.h:276:3: error: expected specifier-qualifier-list before ‘_fpos64_t’
   _fpos64_t _EXFNPTR(_seek64, (struct _reent *, _PTR, _fpos64_t, int));
   ^
In file included from mfstest_clocks.c:25:0:
/usr/include/stdio.h:58:9: error: unknown type name ‘_fpos64_t’
 typedef _fpos64_t fpos_t;
         ^
make[2]: *** [Makefile:737: mfstest_clocks-mfstest_clocks.o] Error 1
make[2]: Leaving directory '/home/Nate/moosefs-3.0.78/mfstests'
make[1]: *** [Makefile:462: all-recursive] Error 1
make[1]: Leaving directory '/home/Nate/moosefs-3.0.78'
make: *** [Makefile:394: all] Error 2

It seems all related to not knowing about the "_fpos64_t" type and google isn't that helpful.

The funny thing is this... I have the code base from an older version of Moose (3.0.73) still in my Cygwin database from a few months ago. Since that time I had reinstalled my OS (my Cygwin dir structure was located on a different partition and remained in place). So I reran make on the older one just to see what would happen. And sure enough I got the same error (even though I compiled perfectly just a month ago from the very same files!).

So I'm pretty sure it's NOT something in the MooseFS code but likely Cygwin. Still I'm trying lots of things here (even installed MinGW and tried compiling with that but no go). I'm hoping you guys can help me.

All I really need is the chunkserver for 1 windows box... I don't use Windows for anything else... all my other boxes are Linux.

In the meantime I will continue to use this 3.0.74 version I comiled last month... but going into the future this won't be optimal.

@nrm21 nrm21 changed the title Moosefs fails to compile in Cygwin64 Moosefs-3.0.78 fails to compile in Cygwin64 Jun 20, 2016
@acid-maker
Copy link
Member

This issue is connected with newest header files in cygwin and msys2. Order of including sys/time.h
and sys/types.h is important in Cygwin (and shouldn't be). Also in the newest version of cygwin and msys2 _GNU_SOURCE needs to be defined to enable some functions (similarly to Linux).

I've fixed that in commit 713eb94

@nrm21
Copy link
Author

nrm21 commented Jun 21, 2016

Thank you sir, working beautifully now. :)

...on Cygwin anyway, didn't test with MinGW, but I never use that for compiling this program.

@nrm21 nrm21 closed this as completed Jun 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants