{"thread":{"id":"25958","subject":"[PATCH 02/14] msvc: git-daemon.exe: Fix linker \"unresolved externals\" error","startedAt":"2010-12-04T18:55:51Z","lastAt":"2010-12-08T12:41:14Z","messageCount":4,"participants":["Ramsay Jones","Erik Faye-Lund"],"isPatch":true,"patchVersion":1,"patchTotal":14},"messages":[{"id":"157317","messageId":"4CFA8EB7.9070000@ramsay1.demon.co.uk","threadId":"25958","inReplyTo":null,"subject":"[PATCH 02/14] msvc: git-daemon.exe: Fix linker \"unresolved externals\" error","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsay1.demon.co.uk","sentAt":"2010-12-04T18:55:51Z","receivedAt":"2010-12-04T18:55:51Z","isPatch":true,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"\nThe msvc linker complains about external symbols referenced by\nthe new poll() emulation code. In particular, it complains about\nthe DispatchMessage(), PeekMessage(), TranslateMessage() and\nMsgWaitForMultipleObjects() functions.\n\nIn order to satisfy the external references, we link against the\nuser32.lib library.\n\nSigned-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>\n---\n Makefile |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 1d42413..bda9fa6 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -1087,7 +1087,7 @@ ifeq ($(uname_S),Windows)\n \tCOMPAT_OBJS = compat/msvc.o compat/fnmatch/fnmatch.o compat/winansi.o compat/win32/pthread.o compat/win32/syslog.o compat/win32/sys/poll.o\n \tCOMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/fnmatch -Icompat/regex -Icompat/fnmatch -Icompat/win32 -DSTRIP_EXTENSION=\\\".exe\\\"\n \tBASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib\n-\tEXTLIBS = advapi32.lib shell32.lib wininet.lib ws2_32.lib\n+\tEXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib\n \tPTHREAD_LIBS =\n \tlib =\n ifndef DEBUG\n-- \n1.7.3\n"},{"id":"157327","messageId":"AANLkTi=cVTcaQTQqNeQoNHhUrEBZvE5B=aFDy=r+k0uQ@mail.gmail.com","threadId":"25958","inReplyTo":"4CFA8EB7.9070000@ramsay1.demon.co.uk","subject":"Re: [PATCH 02/14] msvc: git-daemon.exe: Fix linker \"unresolved externals\" error","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2010-12-04T21:15:40Z","receivedAt":"2010-12-04T21:15:40Z","isPatch":true,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Sat, Dec 4, 2010 at 7:55 PM, Ramsay Jones <ramsay@ramsay1.demon.co.uk> wrote:\n>\n> The msvc linker complains about external symbols referenced by\n> the new poll() emulation code. In particular, it complains about\n> the DispatchMessage(), PeekMessage(), TranslateMessage() and\n> MsgWaitForMultipleObjects() functions.\n>\n> In order to satisfy the external references, we link against the\n> user32.lib library.\n>\n> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>\n> ---\n>  Makefile |    2 +-\n>  1 files changed, 1 insertions(+), 1 deletions(-)\n>\n> diff --git a/Makefile b/Makefile\n> index 1d42413..bda9fa6 100644\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -1087,7 +1087,7 @@ ifeq ($(uname_S),Windows)\n>        COMPAT_OBJS = compat/msvc.o compat/fnmatch/fnmatch.o compat/winansi.o compat/win32/pthread.o compat/win32/syslog.o compat/win32/sys/poll.o\n>        COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/fnmatch -Icompat/regex -Icompat/fnmatch -Icompat/win32 -DSTRIP_EXTENSION=\\\".exe\\\"\n>        BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib\n> -       EXTLIBS = advapi32.lib shell32.lib wininet.lib ws2_32.lib\n> +       EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib\n>        PTHREAD_LIBS =\n>        lib =\n>  ifndef DEBUG\n\nLooks sane. But it's a bit odd - it currently builds fine without this\npatch from the IDE, but not from the makefile. Is the linker-libs\ndifferent between these?\n"},{"id":"157561","messageId":"4CFECD34.3080809@ramsay1.demon.co.uk","threadId":"25958","inReplyTo":"AANLkTi=cVTcaQTQqNeQoNHhUrEBZvE5B=aFDy=r+k0uQ@mail.gmail.com","subject":"Re: [PATCH 02/14] msvc: git-daemon.exe: Fix linker \"unresolved externals\" error","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsay1.demon.co.uk","sentAt":"2010-12-08T00:11:32Z","receivedAt":"2010-12-08T00:11:32Z","isPatch":true,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"Erik Faye-Lund wrote:\n> On Sat, Dec 4, 2010 at 7:55 PM, Ramsay Jones <ramsay@ramsay1.demon.co.uk> wrote:\n>> The msvc linker complains about external symbols referenced by\n>> the new poll() emulation code. In particular, it complains about\n>> the DispatchMessage(), PeekMessage(), TranslateMessage() and\n>> MsgWaitForMultipleObjects() functions.\n>>\n>> In order to satisfy the external references, we link against the\n>> user32.lib library.\n>>\n>> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>\n>> ---\n>>  Makefile |    2 +-\n>>  1 files changed, 1 insertions(+), 1 deletions(-)\n>>\n>> diff --git a/Makefile b/Makefile\n>> index 1d42413..bda9fa6 100644\n>> --- a/Makefile\n>> +++ b/Makefile\n>> @@ -1087,7 +1087,7 @@ ifeq ($(uname_S),Windows)\n>>        COMPAT_OBJS = compat/msvc.o compat/fnmatch/fnmatch.o compat/winansi.o compat/win32/pthread.o compat/win32/syslog.o compat/win32/sys/poll.o\n>>        COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/fnmatch -Icompat/regex -Icompat/fnmatch -Icompat/win32 -DSTRIP_EXTENSION=\\\".exe\\\"\n>>        BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib\n>> -       EXTLIBS = advapi32.lib shell32.lib wininet.lib ws2_32.lib\n>> +       EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib\n>>        PTHREAD_LIBS =\n>>        lib =\n>>  ifndef DEBUG\n> \n> Looks sane. But it's a bit odd - it currently builds fine without this\n> patch from the IDE, but not from the makefile. Is the linker-libs\n> different between these?\n\nEr... dunno! ;-) I don't use the IDE (except to read the msdn docs), I'm\n*much* more productive in vim (yeah, I'm a luddite!).\n\nSo, how did you create your project file? What does it say?\nie. you tell me! :-P\n\nATB,\nRamsay Jones\n"},{"id":"157600","messageId":"AANLkTi=oP2dNT_ju=wEsZkupV0Qf3zFci_mWQgCYh71Q@mail.gmail.com","threadId":"25958","inReplyTo":"4CFECD34.3080809@ramsay1.demon.co.uk","subject":"Re: [PATCH 02/14] msvc: git-daemon.exe: Fix linker \"unresolved externals\" error","fromName":"Erik Faye-Lund","fromEmail":"kusmabite@gmail.com","sentAt":"2010-12-08T12:41:14Z","receivedAt":"2010-12-08T12:41:14Z","isPatch":true,"sender":{"key":"kusmabite@gmail.com","avatar":"https://avatars.githubusercontent.com/u/47073?v=4"},"body":"On Wed, Dec 8, 2010 at 1:11 AM, Ramsay Jones <ramsay@ramsay1.demon.co.uk> wrote:\n> Erik Faye-Lund wrote:\n>> On Sat, Dec 4, 2010 at 7:55 PM, Ramsay Jones <ramsay@ramsay1.demon.co.uk> wrote:\n>>> The msvc linker complains about external symbols referenced by\n>>> the new poll() emulation code. In particular, it complains about\n>>> the DispatchMessage(), PeekMessage(), TranslateMessage() and\n>>> MsgWaitForMultipleObjects() functions.\n>>>\n>>> In order to satisfy the external references, we link against the\n>>> user32.lib library.\n>>>\n>>> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>\n>>> ---\n>>>  Makefile |    2 +-\n>>>  1 files changed, 1 insertions(+), 1 deletions(-)\n>>>\n>>> diff --git a/Makefile b/Makefile\n>>> index 1d42413..bda9fa6 100644\n>>> --- a/Makefile\n>>> +++ b/Makefile\n>>> @@ -1087,7 +1087,7 @@ ifeq ($(uname_S),Windows)\n>>>        COMPAT_OBJS = compat/msvc.o compat/fnmatch/fnmatch.o compat/winansi.o compat/win32/pthread.o compat/win32/syslog.o compat/win32/sys/poll.o\n>>>        COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/fnmatch -Icompat/regex -Icompat/fnmatch -Icompat/win32 -DSTRIP_EXTENSION=\\\".exe\\\"\n>>>        BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib\n>>> -       EXTLIBS = advapi32.lib shell32.lib wininet.lib ws2_32.lib\n>>> +       EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib\n>>>        PTHREAD_LIBS =\n>>>        lib =\n>>>  ifndef DEBUG\n>>\n>> Looks sane. But it's a bit odd - it currently builds fine without this\n>> patch from the IDE, but not from the makefile. Is the linker-libs\n>> different between these?\n>\n> Er... dunno! ;-) I don't use the IDE (except to read the msdn docs), I'm\n> *much* more productive in vim (yeah, I'm a luddite!).\n>\n> So, how did you create your project file? What does it say?\n> ie. you tell me! :-P\n>\n\nprobably by contrib/buildsystems/generate, but I don't quite remember ;)\n\nAnyway, if the result of contrib/buildsystems/generate builds\ndifferently than \"make MSVC=1\", then I consider this an issue with\ncontrib/buildsystems/generate, not the MSVC-port.\n\nI can try to reproduce it at some point, but I'm really tight on time right now.\n"}]}