Ethereal-dev: Re: [Ethereal-dev] Unable to do nmake -f makefile.nmake packaging on SVN tarball

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Peter Johansson <Peter.xc.Johansson@xxxxxxxxxxxx>
Date: Tue, 13 Sep 2005 13:17:19 +0200
Anders Broman (AL/EAB) wrote:

Hi,
when I try to do packaging on the files in the SVN tarball I get:

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

       link -dll /out:acn.dll /NOLOGO /INCREMENTAL:no /MACHINE:I386 /DEBUG pack
et-acn.obj ..\..\epan\libethereal.lib  C:\ethereal-win32-libs\glib\lib\glib-2.0.
lib  C:\ethereal-win32-libs\glib\lib\gmodule-2.0.lib  C:\ethereal-win32-libs\gli
b\lib\gobject-2.0.lib
'link' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'link' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\Bin\N
MAKE.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\Bin\N
MAKE.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\Bin\N
MAKE.EXE"' : return code '0x2'
Stop.

But compiling and running works - ideas any one?

Brg
Anders

_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev

I have had the same problems and found out that the problem lies in the path being too long.
I ran "nmake -f makefile.nmake /p" and found this:
        PATH = $(PCRE_DIR)\bin;$(PATH)
       $(ADNS_DIR)\adns_win32\lib;$(PATH)
       $(ZLIB_DIR);$(PATH)
       $(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ICONV_DIR)\bin;$(PATH)
       $(PATH);c:\cygwin\bin
C:\ethereal-win32-libs\pcre-6.3\bin;C:\ethereal-win32-libs\adns-1.0-win32-04\adns_win32\lib;C:\ethereal-win32-libs\zlib123-dll;C:\ethereal-win32-libs\glib\bin;C:\ethereal-win32-libs\gettext-runtime-0.13.1\bin;C:\ethereal-win32-libs\libiconv-1.9.1.bin.woe32\bin;C:\ethereal-win32-libs\pcre-6.3\bin;C:\ethereal-win32-libs\adns-1.0-win32-04\adns_win32\lib;C:\ethereal-win32-libs\zlib123-dll;C:\ethereal-win32-libs\glib\bin;C:\ethereal-win32-libs\gettext-runtime-0.13.1\bin;C:\ethereal-win32-libs\libiconv-1.9.1.bin.woe32\bin;C:\PROGRA~1\MICROS~3\Common\msdev98\BIN;C:\PROGRA~1\MICROS~3\VC98\BIN;c:\winnt\system32;c:\cygwin\bin;c:\cygwin\bin

This means that whatever PATH contents one had before starting the build, that PATH is added to the new PATH variable 5 additional times instead of 1. I have made changes (supplied) to config.nmake that takes care of this problem. Please consider it to be checked-in into SVN.

/ Peter

Index: C:/ethereal-win32-libs/config.nmake
===================================================================
--- C:/ethereal-win32-libs/config.nmake	(revision 15780)
+++ C:/ethereal-win32-libs/config.nmake	(working copy)
@@ -156,11 +156,11 @@
 # Set PDB_FILE according to your VC++ version 
 PDB_FILE=vc*.pdb
 
-# add cygwin binaries to the path
-PATH=$(PATH);c:\cygwin\bin
+# Set up the path to the cygwin binaries
+CYGWIN_PATH=c:\cygwin\bin
 
-# add some required DLLs to the path 
-PATH=$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ICONV_DIR)\bin;$(PATH)
+# Set up the path to some required DLLs
+DLL_PATH=$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ICONV_DIR)\bin
 
 
 # Set the following commands to find the tools.
@@ -299,7 +299,7 @@
 !ENDIF
 
 !IFDEF ZLIB_DIR
-PATH=$(ZLIB_DIR);$(PATH)
+ZLIB_PATH=$(ZLIB_DIR)
 ZLIB_CFLAGS=/I$(ZLIB_DIR)\include
 ZLIB_LIBS=$(ZLIB_DIR)\lib\zdll.lib
 # Nmake uses carets to escape special characters
@@ -311,7 +311,7 @@
 !ENDIF
 
 !IFDEF ADNS_DIR
-PATH=$(ADNS_DIR)\adns_win32\lib;$(PATH)
+ADNS_PATH=$(ADNS_DIR)\adns_win32\lib
 ADNS_CFLAGS=/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32
 ADNS_LIBS=$(ADNS_DIR)\adns_win32\lib\adns_dll.lib
 # Nmake uses carets to escape special characters
@@ -323,7 +323,7 @@
 !ENDIF
 
 !IFDEF PCRE_DIR
-PATH=$(PCRE_DIR)\bin;$(PATH)
+PCRE_PATH=$(PCRE_DIR)\bin
 PCRE_CFLAGS=/I$(PCRE_DIR)\include
 PCRE_LIBS=$(PCRE_DIR)\lib\pcre.lib
 # Nmake uses carets to escape special characters
@@ -350,3 +350,6 @@
 !ELSE
 LIBETHEREAL_CONFIG=
 !ENDIF
+
+# Construct the path
+PATH=$(CYGWIN_PATH);$(DLL_PATH);$(ZLIB_PATH);$(ADNS_PATH);$(PATH)
\ No newline at end of file