-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Trouble with 64 bit Build on Windows #3242
Comments
I just followed the instructions, from a clean environment, and did not have an issue. The last two lines of the error log you provide make absolutely no sense to me. What do the referenced lines look like in your environment. Are you sure you didn't have some old build state lying around? |
line 858 is the one with the call to localtime_r and yes, this is on an updated source tree.
and gcc /c/programs/julia64> gcc -v |
I don't mean just that it is up-to-date (although posting your git sha1 would be more helpful), I mean that after switching compiler versions, you should delete everything that has previously been compiled ( |
I had done a 'make distclean' before but for leaving no doubts I ripped the dir and started from a fresh. Unfortunately it made no difference at all. Note that the line c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\x86_64-w64-mingw32\bits\gthr-default.h:35:0 includes pthreads.h and that's where it all starts ending in the error on the localtime_r() call. I searched google with "struct tm* localtime_r(const time_t *t, struct tm *tm);" and other people have had the some problem, though the reports are about 2011 and refer to a localtime_r bug. If I comment the line 858 in julia.h (the one that calls localtime_r) than the building work proceeds a bit more but stops with a linking error that, curiously, is the same as when we do not do the first patch mentioned in the errata. LINK usr/lib/libjulia-release.dll I honestly do not know what else to do. This is the same machine where I managed to build with the 'doomed' w32 gcc compiler and all paths are set by a batch that calls the mingw shell to minimize to the maximum the path contamination risk. |
Ah, I didn't look closely enough at this comment in your gcc: It seems like you lost the patch mentioned in the errata, presumably when you did the I thought you would need to add |
OK, So I removed the posix and installed the win32. Now I get (and I've been here before. No point in doing clean or cleanall) LINK usr/bin/julia-release-readline.exe *** This error is usually fixed by running 'make clean'. If the error persists, try 'make cleanall'. *** |
Just to be clear, you've switched compilers again so you did |
Yes and yes. |
This may be a good deal more annoying than I had initially anticipated. The problem is the 64-bit build is still technically a cross-compile. So LLVM configures itself for the i686 "native" platform, resulting in segfaults as it truncates pointers (and messes up the calling conventions). |
I've thought it was an LLVM bug, because I've yet to be successful in getting any LLVM tests to pass for me. |
It's not really an LLVM bug, just a configuration mistake. There has been a lot of noise on google about the best way to "fix" this problem but no resolution has been settled on. Unless you have further thoughts, I am going to "fix" this by adding another errata to the README.windows file noting that a native windows-64 build is still considered cross-compiling and requires adding (optionally, the user can also add |
You're right; bad language on my part. I'll try a fresh build again tomorrow and report back. |
Meh, it doesn't work either since the |
I'm tempted to just force |
Sorry, still no good. I still get. And pardon me saying, but why closing the issues without the issue reporter confirm that it is solved?
[pao: formatting] |
Note that this was an autoclose from the commit message (which contains the string |
@joa-quim Did you do Issues are connected to the commit messages to keep track of how issues got fixed. GitHub provides the Comment & Reopen button to make it easy (e.g. it is expected that you will reopen the bug if it isn't completely fixed) |
No I hadn't done "clean -fdx", only "cleanall". But now that I did I get
Before trying to rebuild I always update to latest which now is: a0fa4a2 And about the Reopen button, i don't see it. Only these two: "Close & Comment" & "Comment" |
Right, looking into the git man I found the |
Just a PS. Now that I closed the issue I can see a Reopen button. |
OK, I followed the instructions in README.windows exactly but it errors at
CC src/codegen.o
In file included from c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\x86_64-w64-mingw32\bits\gthr-default.h:35:0,
from c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\x86_64-w64-mingw32\bits\gthr.h:148,
from c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\ext\atomicity.h:33,
from c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\bits\ios_base.h:39,
from c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\ios:42,
from c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\ostream:38,
from c:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\iterator:64,
from c:/programs/julia64/deps/llvm-3.2/include/llvm/ADT/SmallVector.h:25,
from c:/programs/julia64/deps/llvm-3.2/include/llvm/ExecutionEngine/ExecutionEngine.h:19,
from codegen.cpp:24:
julia.h:858:22: error: expected unqualified-id before '{' token
DLLEXPORT struct tm* localtime_r(const time_t *t, struct tm *tm);
^
The text was updated successfully, but these errors were encountered: