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
Issue when building fish-shell from latest source for Cygwin #2952
Comments
Configure determined you have mkostemp() but when fish was actually being compiled the necessary declaration in a header file wasn't seen. You're not trying to mix the new Windows 10 linux subsystem with cygwin are you? Assuming you're not we'll need to see the config.log file. |
Nope, I'm on Win10 build 10586 which doesn't have the Linux subsystem implemented yet. config.log: http://pastebin.com/XyPkeXXh |
Autoconf, which creates the configure script, is simply testing that a trivial program can be compiled and linked into an executable. Which is to say it is doing nothing more than verifying a public text symbol (i.e., function name) exists in a library that is linked into C/C++ binaries. On OS X that test actually fails which causes the configure script to show the source of that trivial program in the configure.log file. The actual fish compile failure is because a header file included by the fish sources (directly or indirectly) doesn't declare the mkostemp function (i.e., provide a signature for it). The mkostemp function is typically declared in stdlib.h. Is the Cygwin build environment you're using especially old or new? I'm guessing this might be a namespace issue. Why? Because the trivial program used by autconf/configure doesn't use any namespaces. Whereas the src/history.cpp file does. What happens if you replace the |
My Cygwin build environment is the current release version. Unfortunately, replacing I'm not sure how to find where in my header files it's declared, howeber
|
Okay, the |
Thanks for your assistance so far, I appreciate it. |
I think this is because of a change in Cygwin. I could build just fine on my Windows Server 2008 R2 system, and then I updated to the latest Cygwin packages - now I can reproduce this problem. The obvious suspect is libstdc++6 which I upgraded from 4.9.3-1 to 5.3.0-5. |
I take it back - this is a change in the |
Based on the chat, probably the header is something like:
however the |
Reenable mkostemp on Cygwin. Work on fish-shell#2952.
Confirmed, this fixes the build failure. Thanks! |
This was fixed in 0e7ab7a. |
Issue:
autoconf
and./configure
run fine, however when I runmake
I get the following error:Reproduction Steps:
git clone https://github.com/fish-shell/fish-shell.git
cd fish-shell
autoconf
./configure
make
Expected behavior:
Fish should compile correctly
Observed behavior:
Fish does not compile and instead returns an error.
Additional information:
Windows 10 running Babun 1.2.0/Cygwin
Fish version: current source
Operating system: Windows 10, attempting to build from Git
Terminal or terminal emulator: MinTTy
The text was updated successfully, but these errors were encountered: