bug#30127: Re[2]: bug#30127: ICC: 'entry point must be defined' error for shared builds on Windows
closing this issue out. the original report has been settled, we've merged support for ignoring -nologo, but the -xilib suggestion looks like it needs more work. feel free to post a patch to automake-patc...@gnu.org if you have something you think we can merge. -mike signature.asc Description: PGP signature
bug#30127: Re[2]: bug#30127: ICC: 'entry point must be defined' error for shared builds on Windows
I think the –xilib option is invalid when using: $ xilink –xilib … This just gives me an “unrecognized option '/xilib'; ignored” warning, but if I use $ xilink –lib … Then it calls xilib similar to how $ link.exe –lib … calls lib.exe Or in short: $ xilink.exe –lib = xilib.exe $ link.exe –lib = lib.exe I don't think it would hurt if -xilib is converted to -lib, but that is what needs to happen if the option is accepted. -nologo looks good to me. -- Jonathan Peyton
bug#30127: Re[2]: bug#30127: ICC: 'entry point must be defined' error for shared builds on Windows
sav...@ukr.net writes: > In case you're interested, there is a patch to 'lib/ar-lib', which I use for > libiconv builds using Windows ICC: > === > diff --git a/build-aux/ar-lib b/build-aux/ar-lib > index 463b9ec..3cfddbc 100644 > --- a/build-aux/ar-lib > +++ b/build-aux/ar-lib > @@ -127,8 +127,10 @@ do > fi > case $1 in > -lib | -LIB \ > + | -xilib | -XILIB \ > | -ltcg | -LTCG \ > | -machine* | -MACHINE* \ > + | -nologo | -NOLOGO \ > | -subsystem* | -SUBSYSTEM* \ > | -verbose | -VERBOSE \ > | -wx* | -WX* ) > === > since ICC linker 'xilink' and librarian 'xilib' are just a wrappers to MSVC > 'link' and librarian 'lib' respectively, and ' -nologo ' use reduces noise in > stderr. > > CC: Jonathan L Peyton, > as Author of patch for 'compile', mentioned above. In case he'll be > interested to make a review aor join this discussion. > > Odd, that current 'ar-lib' implementation covers only a part of MSVC 'lib' > flags: > === > c:\>lib /? > Microsoft (R) Library Manager Version 14.12.25830.2 > Copyright (C) Microsoft Corporation. All rights reserved. > > usage: LIB [options] [files] > > options: > > /DEF[:filename] > /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND} > /EXPORT:symbol > /EXTRACT:membername > /INCLUDE:symbol > /LIBPATH:dir > /LIST[:filename] > /LTCG > /MACHINE:{ARM|ARM64|EBC|X64|X86} > /NAME:filename > /NODEFAULTLIB[:library] > /NOLOGO > /OUT:filename > /REMOVE:membername > /SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION| > EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER| > NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]] > /VERBOSE > /WX[:NO] > === > > Wondering, what was a reason for this. I am definitely not competent for reviewing Windows related stuff. So that would be great if Jonathan or anyone with more experience with ‘ar-lib’ could help reviewing this patch. Thanks for your patch. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
bug#30127: Re[2]: bug#30127: ICC: 'entry point must be defined' error for shared builds on Windows
--- Оригінальне повідомлення --- Від кого: "Mathieu Lirzin" Дата: 18 січня 2018, 00:57:33 > Indeed, The great news is that support for ‘icl’ has already been added > in Automake 1.15.1 [1]. :-) Thought I checked Automake master before filling report. In any case thank you for a good news. Though there is lot of code in Automake (and Autotools in general), not covered by commit (http://git.savannah.gnu.org/cgit/automake.git/commit/?id=c40e27e1c2a60f58e72e65d73d808f782d55494a). At least all occurrences of 'cl' and 'cl.exe'should checked and fixed to match 'icl' and 'icl.exe' conditions too. But this, obviously, is out if scope of current issue. > Could you confirm it works correctly with Automake 1.15.1? Yes, me used that patch for GMP, MPIR, MPFR and libiconv builds using Windows ICC and it works fine. In case you're interested, there is a patch to 'lib/ar-lib', which I use for libiconv builds using Windows ICC: === diff --git a/build-aux/ar-lib b/build-aux/ar-lib index 463b9ec..3cfddbc 100644 --- a/build-aux/ar-lib +++ b/build-aux/ar-lib @@ -127,8 +127,10 @@ do fi case $1 in -lib | -LIB \ + | -xilib | -XILIB \ | -ltcg | -LTCG \ | -machine* | -MACHINE* \ + | -nologo | -NOLOGO \ | -subsystem* | -SUBSYSTEM* \ | -verbose | -VERBOSE \ | -wx* | -WX* ) === since ICC linker 'xilink' and librarian 'xilib' are just a wrappers to MSVC 'link' and librarian 'lib' respectively, and ' -nologo ' use reduces noise in stderr. CC: Jonathan L Peyton, as Author of patch for 'compile', mentioned above. In case he'll be interested to make a review aor join this discussion. Odd, that current 'ar-lib' implementation covers only a part of MSVC 'lib' flags: === c:\>lib /? Microsoft (R) Library Manager Version 14.12.25830.2 Copyright (C) Microsoft Corporation. All rights reserved. usage: LIB [options] [files] options: /DEF[:filename] /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND} /EXPORT:symbol /EXTRACT:membername /INCLUDE:symbol /LIBPATH:dir /LIST[:filename] /LTCG /MACHINE:{ARM|ARM64|EBC|X64|X86} /NAME:filename /NODEFAULTLIB[:library] /NOLOGO /OUT:filename /REMOVE:membername /SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION| EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER| NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]] /VERBOSE /WX[:NO] === Wondering, what was a reason for this. Best, Alexander