-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
VS compilation (of extra code) not picking up zlib when 'gcc make' does #2352
Comments
This symbol is not defined in |
@dscho thanks for confirming. I was well tired last night;-) I had rebased (rather than merged) the I did need to
I think there is still a minor confusion in the sequence as to the Version string still has the old g. [strike that] - It's that the I've not worked out how to start a bash window (rather than a CMD window) that picks up the new version, but my CMD window is running OK (now I've change my install options to the latest recommendation;-). |
@dscho in https://github.com/git-for-windows/git/wiki/Compiling-Git-with-Visual-Studio, it's stated that one can "open the git bash and run the tests". However with the recommended settings (git-only in CMD) the testing is not properly working for me. Did you do your testing using the third path install option of having the *nix commands on path as well? I am able to If I In my head I have a memory that the MSVC compilation didn't include any 'install' capability, so I may be attempting too much at the moment (i.e. investigating the >4GiB code with VS leaving many tricky corners un-proven..). |
No, I do not need that, as those *nix commands are in the |
Hi @dscho my problem is the method of starting bash, and recognising it (having always run the bash only minty window, with it's pleasant colouring and title). I haven't yet found the correct method of starting bash (or cmd) that still gives the correct (compiled) version string when executed from the /t sub-directory. The XY problem is how to find the correct config settings that will The reason for a loose object is debugging. It does not involve the use of pack files nor crs32, just the zlib and the basic size_t length fixes. The commit test after the add checks for the pack/crc32 fixes. It feels like the MSVC compilation needs an extra install step, but I can't put my finger on the correct place to resolve the issues (especially if they corrupt the expectations you already have in the code). So when you say "run Here's some output, typed at the cmd window just now.
(I'm out almost all day Sunday) |
Doesn't |
No. I am thinking about starting |
I guess that it is added as a pack file? If so, maybe there is some threshold kicking in? From looking at the documentation, I'd suspect |
I wasn't really aware of Where does it fit within the normal scheme of things? (does something automatically invoke it?)
My start menu item (shortcut, also pinned to taskbar, location I also have the sdk icon (shortcut, location ... |
I didn't think it was that, as that is for directly streaming files (according to the man page). However the packfile limit is also something I was thinking about being a factor (which G-f-W sets, though IIUC the test system avoids bu having no global or system configs, I think). I also suspect (after sleeping on it again) that maybe there is some other default parameter that is being used for a check [for loose vs pack] that is still only 'long' in LLP64, so gets tripped by the 32bit long on Windows. I thought I'd fixed them all (config variable for 64bit files), (packs appears good and fsck check) but getting the code working under the test system was a whole new ball game (as per that linked unresolved email thread). |
maybe it's linked to #1674 - odd coincidence. #leftoverdocs |
The
Well, the Git Bash executes a regular Git for Windows, while the Git SDK Bash executes in the context of Git for Windows' SDK. The most noticeable difference is that the former does not have access to GCC/Pacman etc while the latter does. Also, the pseudo root is different: try running
I think we set the packfile limit only for 32-bit installations. And yes, while running the test suite, the system config is totally ignored.
Quite possible. Maybe you can find a GCC knob (or an MSVC one) that will warn about undesired cutting of bit widths? The nastiest such cases that I encountered were when GCC would not complain that an |
Apparently see " I've just been going hard on the need to explicitly up cast anything that could be coerced (downcast to basic long/int) (while within 'standard'). These 'implementation defined' aspects are a real 'bugger' for portability. (we've discussed this elsewhere ;-) The possibility of an MSVC flag is a further task... |
Oh, that's a good one! And it refuels my idea of maybe considering to switch to clang. Which would be a bigger project, but it might be well worth it. |
I was thinking about how I would go about trying the regular git |
Well, you already got it: Of course, you also need |
Magic. Thank you. (Been chasing my tail with too many other tasks..) |
Oh, which directory should this be done from? I appears to have a number of pacman directories in different places. I was mainly surprised by the initial question/warning: Currently it's downloading to |
Any directory you like.
That's because you did not initialize the SDK via
👍 |
I am fairly certain that the reported problem is no longer an issue in the current |
Having got the VS studio compilation of vs/master (git.sln) to work (#2349 , #2351 , git-for-windows/build-extra#258) for me, I returned to the 4GiB problem #2179 using my size_t_6rebase branch, on top of vs/master. It includes a test helper to read the zlib compile flags, which is causing me problems in the compile/link stages.
However, I find that my code will 'make' with the SDK/gcc, but fails with Visual Studio, because it reports
I'm unclear where in sln build generator I need to make the connection between the new function and the zlib library.
And pointers to some nuance that I've missed when I added that function, especially for preparing the .sln (maybe I just need to regenerate it? - maybe that's it (need to remember how to do that) but it's late now...)
Setup
as per #2351 Win 10, 64 bit. Git 2.23. with SDK, the VSgit code is in a seperate worktree.
The text was updated successfully, but these errors were encountered: