|
|
|
|
#1 |
|
Junior Member
Join Date: Apr 2004
Location: Singapore
Posts: 12
|
NSIS compile error
I'm getting the following error while trying to compile NSIS.
Anyone can tell me which library am i missing ? Ui.obj : error LNK2001: unresolved external symbol __aullshr Release-bzip2/exehead_bzip2.exe : fatal error LNK1120: 1 unresolved externals |
|
|
|
|
|
#2 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Which compiler?
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#3 | |
|
Junior Member
Join Date: Feb 2004
Posts: 12
|
Re: NSIS compile error
Quote:
I am also seeing this error, and have been unable to find any reference to aullshr in the windows docs or headers. I am using MSVS (vc) 6.0 with the latest service pack. |
|
|
|
|
|
|
#4 |
|
NSIS Dev
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 455
|
Make sure that you also have the latest Platform SDK downloaded.
Then register the PSDK directories with Visual Studio using the shortcuts installed with the PSDK. Then try compiling again. Maybe it will fix the problem. |
|
|
|
|
|
#5 | |
|
Junior Member
Join Date: Feb 2004
Posts: 12
|
Quote:
|
|
|
|
|
|
|
#6 |
|
NSIS Dev
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 455
|
Not that I know of.
I just tried compiling and it worked fine. I assume you are using the latest CVS version? |
|
|
|
|
|
#7 |
|
Junior Member
Join Date: Feb 2004
Posts: 12
|
Trying to compile the latest from CVS, just checked it out this afternoon. The aullshr reference is in gui.c if that helps.
Actually, the only reason I want to compile is to modify the error message reported for "Corrupt Installation Detected" -- many of my users get this when downloading our products (they range from 25MB to 105MB in size) and it would be good if that message indicated it was probably a download problem and give a suggestion on how to solve it. Can I otherwise modify this string? |
|
|
|
|
|
#8 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
__aullshr is probably VC6 SP6's function that performs shift right operations on unsigned long long variables. No idea what the 'a' is for
![]() Try replacing Ui.c line 907: with:code: code: NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#9 | |
|
Junior Member
Join Date: Feb 2004
Posts: 12
|
Quote:
Anyway, thanks for the help! PS: my guess at the function name is "arithmatic unsigned long long shift right" |
|
|
|
|
|
|
#10 |
|
NSIS Dev
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 455
|
Alternately, you can extract ullshr.obj from libc:
code: and link it in the project. |
|
|
|
|
|
#11 | |
|
NSIS Dev
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 455
|
Quote:
|
|
|
|
|
|
|
#12 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
No. It produces larger code. A better solution must be found.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#13 |
|
NSIS Dev
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 455
|
Is this of any use to you?
ullshr.asm |
|
|
|
|
|
#14 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Hmm... Visual C++ Introductory Edition? I assume you meant to link to an implementation of ullshr. I prefer not to get assembler in yet. Extracting __aullshr as an .obj file and linking to it so SP6 can find does seem like a possible solution. I would, of course, prefer a code change solution that will both work on SP6 and SP5 and not increase code size.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#15 |
|
NSIS Dev
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 455
|
Oops!
Certainly didn't mean to imply that you needed an intro to VC++. Here is the correct link: ullshr.asm But, yes, it is assembly. So, perhaps not the right solution for now. |
|
|
|
|
|
#16 | |
|
Member
Join Date: Nov 2001
Location: Seattle, Washington
Posts: 78
|
Hmmm... going along with kichik, let's not be too hasty here.
![]() I built from CVS on June 3 (because of the NT4 installer problem with GetDiskFreeSpaceEx), and this chunk of code dealing with the 64-bit right-shift is right there in the sources... and *I* used a vc6 SP6 system to do it. BUT, I am still using the code generator (c2.dll) from the "Processor Pack" for SP5... and possibly because of the newer ["vc7"] compiler piece, all I see is inline code generated for the code sequence in question: Quote:
So, since as I recall, kichik uses the Processor Pack, this could explain why only some people are seeing this linking issue - the people who are not using the Processor Pack. ![]() As to *why* the linking problem exists, it is not really clear to me - the "ullshr.asm" file has been part of the CRT sources for a long time - take a look in ..\CRT\SRC\Intel. As for vc6 SP6 + the SP5 Processor Pack, I have been using this combination since SP6 came out with no difficulty. Besides not seeing any trouble myself, I might point out that SP6 does NOT include a new version of c2.dll, so the possibility of incompatible changes to the intermediate representation from the compiler's earlier passes is small.
|
|
|
|
|
|
|
#17 |
|
NSIS Dev
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 455
|
Hmmm... I didn't try VS6 SP6 + SP5 processor pack.
Let me try that and see. |
|
|
|
|
|
#18 |
|
Member
Join Date: Nov 2001
Location: Seattle, Washington
Posts: 78
|
If you have any trouble doing this... SP6 *will* attempt to remove/disable the Processor Pack.
![]() I took care of this by saving the contents of the appropriate "Bin" directory first, and then restoring any of the c2.dll / MASM support files I needed to after the SP6 update was done. One could take this approach, or if the "damage" has already been done, using 7-Zip or WinZip to pull the relevant files straight out of the SP5 Processor Pack installer would probably be fine too. ![]() Note that this all works fine if one just wants the superior code generator from the Processor Pack... if you want to actually use the processor Pack as MS intended (to have compiler support for the MMX/SSE etc H/W), there may be a little more environment needed to restore - see the .reg files in the PP installer, for example. |
|
|
|
|
|
#19 | |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Quote:
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
|
#20 |
|
Senior Member
Join Date: Mar 2004
Posts: 138
|
I got another error: NSIS\Source\DialogTemplate.cpp(353) : error C2065: 'DS_SHELLFONT' : undeclared identifier
What wrong for me? Compiler is VC++ 6 with SP6 I find it define in exehead\resource.h I try to add PHP Code:
Last edited by bluenet; 1st October 2004 at 01:04. |
|
|
|
|
|
#21 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Fixed, thanks.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#22 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
I've added a check to the SConscript to check for this specific case and use Int64ShrlMod32 instead. Building using SP6 should no longer require manual intervention.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#23 | |
|
Senior Member
Join Date: Aug 2007
Location: Paris, France
Posts: 304
|
I have a problem building NSIS with MSVC 2005 tools:
Quote:
But I don't know how to tell SCons to do that.. My NSIS plug-ins: http://wiz0u.free.fr/prog/nsis.php |
|
|
|
|
|
|
#24 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Are you sure ml.exe is in the PATH? At least on VC6 it required a separate installation of the Processor Pack, iirc.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#25 |
|
Senior Member
Join Date: Aug 2007
Location: Paris, France
Posts: 304
|
thanks! after adding MSVC dir to the PATH, it worked
My NSIS plug-ins: http://wiz0u.free.fr/prog/nsis.php |
|
|
|
![]() |
|
|||||||
| Thread Tools | Search this Thread |
| Display Modes | |
|
|