-
Notifications
You must be signed in to change notification settings - Fork 343
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
Hiccups in compiling with MSYS2 on 32bit system. #199
Comments
The code you quoted, I can't find that in mtr. Is that a system header? The mtr code that used IP_OPTION_INFORMATION32 Defines a structure IP_OPTION_INFORMATION and the clears it with sizeof (IP_OPTION_INFORMATION32) That CANNOT be right. @matt-kimball : IIRC You wrote that, I'm tempted to remove the 32 in IP_OPTION_INFORMATION32 in https://github.com/traviscross/mtr/blob/master/packet/probe_cygwin.c#L233 ... Objections? |
@rewolff -- Yes, the Also, I only build the curses interface to mtr for Windows. I've never tried to build the GTK+ interface. |
@rewolff yes, you are right the code I quoted is the msys header file specified as |
@zcattacz You showed the definition of IP_OPTION_INFORMATION(32), there is NO difference, if my suspicion that PUCHAR is a pointer to UCHAR so PUCHAR is equivalent to UCHAR *. Can you show the same definition for the ICMP_ECHO_REPLY32 ? Where matt doesn't have access to his windows development machine for a while I don't have a windows machine at all. The attached patch is what I'm guessing that you've done. Correct? Currently uncommitted in my "master" repository. |
to separate thread #202 |
@rewolff |
Now we find out why it is a good idea to separate issues into different items in the issue tracker. I've pushed the patch for the -32 thingies. I'd like to mark an issue as solved. most of the discussion here is irrelevant for whatever is left. |
Hi @rewolff , This ticket is about support on msys2. I think the patch attached is enough to close #194 but not this one yet (e.g. the -lcygwin i.e. cygwin.lib doesn't exist on msys2. (though it actually exist under a different name, and I doesn't seem necessary to link it explicitly) ) I will cut paste the GTK ones into a separate ticket. |
I managed to compile MTR on 32bit Win7 Msys2. But bumped into the following issues.
They are easily hackable, but hopeful they can be handled by the default package configuration.
with auto-detected build type
i686-pc-msys
the _unix. files got compiled and giving a lot of error. tried to build the package with as under cygwin by specifying--build=i686-pc-cygwin
flag.It started to compile, but stopped with undefined *32 struct error e.g:
"ICMP_ECHO_REPLY32"
"IP_OPTION_INFORMATION32"
They are defined in the right place, but I am on 32-bit system and these blocks are enclosed by _WIN64 conditions:
Thus tripped down all 32 from struct names like "IP_OPTION_INFORMATION32"
removed -lcygwin from
mtr_packet_LDADD
in Makefile.am, tried again, and it worked.Now MTR compiles fine under msys2. I am not familiar with automake system configuration, though I am comfortable with the compile flags. So these maybe all I can help.
Msys2 is not perfect, but it's certainly an evolving cygwin fork, gradually adopted by more and more people. It would be great to see MTR default configurations can support msys2 right out of the box.
Thanks.
The text was updated successfully, but these errors were encountered: