Jump to content











Photo
- - - - -

Imdisk compilation error

imdisk compile error

  • Please log in to reply
13 replies to this topic

#1 Reginiano

Reginiano
  • Members
  • 7 posts
  •  
    Israel

Posted 12 April 2016 - 09:51 AM

Hello friends,

I'm trying to compile Imdisk in order to create a new version of the Imdisk command line installer.

How can I do that?

 

I tried compiling as Olof instructed here, but i got the following error:

NMAKE : fatal error U1077: 'editbin' : return code '0x1'

 

I'd appreciate your help,

Regi.



#2 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1332 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 12 April 2016 - 11:11 AM

Hello friends,

I'm trying to compile Imdisk in order to create a new version of the Imdisk command line installer.

How can I do that?

 

I tried compiling as Olof instructed here, but i got the following error:

NMAKE : fatal error U1077: 'editbin' : return code '0x1'

 

I'd appreciate your help,

Regi.

 

 

Editbin is used to change a flag in exe file to make it run on Windows 2000 and older versions. Maybe the version of editbin you have does not support as old versions as 4.00 though. You can either comment out (put # in front of the editbin lines) or try some other version parameter on the editbin command lines, such as 5.01 or 5.02 instead of 4.00.


  • Reginiano likes this

#3 Reginiano

Reginiano
  • Members
  • 7 posts
  •  
    Israel

Posted 12 April 2016 - 11:50 AM

Thank you Olof! :)
However I'm not sure how to do both suggestions.  :cold:

 

I don't know how to change editbin version in WDK (only in Visual Studio).

And I found no lines in the code containing- "editbin".

 

Where are the editbin lines?



#4 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1332 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 12 April 2016 - 07:21 PM

Thank you Olof! :)
However I'm not sure how to do both suggestions.  :cold:

 

I don't know how to change editbin version in WDK (only in Visual Studio).

And I found no lines in the code containing- "editbin".

 

Where are the editbin lines?

 

The editbin lines are in "Makefile" in the root directory of the source tree.

 

To use an older version of editbin you need to use an older version of WDK, for example WDK 6 is supported by ImDisk build scripts. I guess I could add a check for future versions so that the build scripts skip editbin (or use different parameters) when running with newer WDK versions. That would at least make sure that the build process does not stop simply because the target OS version number cannot be modified.


  • Reginiano likes this

#5 Reginiano

Reginiano
  • Members
  • 7 posts
  •  
    Israel

Posted 13 April 2016 - 09:37 AM

I removed the editbin lines, but i now i'm getting the following error:

Compiling - createdev.cpp
1>errors in directory c:\imdisk\sys
1>c:\imdisk\sys\createdev.cpp(1067) : error C2220: warning treated as error - no
 'object' file generated
1>warnings in directory c:\imdisk\sys
1>c:\imdisk\sys\createdev.cpp(1067) : warning C4482: nonstandard extension used:
 enum '_PROXY_CONNECTION::PROXY_CONNECTION_TYPE' used in qualified name
Compiling - devthrd.cpp
Compiling - floppy.cpp
Compiling - iodisp.cpp
Compiling - lowerdev.cpp
Compiling - proxy.cpp
Linking Executable - amd64\imdisk.sys
1>link : error LNK1181: cannot open input file 'c:\imdisk\sys\objchk_win7_amd64\
amd64\createdev.obj'
BUILD: Finish time: Wed Apr 13 12:32:18 2016
BUILD: Done

    11 files compiled - 1 Warning - 1 Error - 8,875 LPS
    1 executable built - 1 Error
NMAKE : fatal error U1077: 'C:\WinDDK\7600.16385.1\bin\x86\amd64\build.EXE' : re
turn code '0x1'
Stop. 


#6 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1332 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 13 April 2016 - 09:48 AM

Strange. I don't get that error here and it should really be ignored. In sys\sources file, change the following line:

MSC_WARNING_LEVEL=/W4 /WX /wd4201 /wd4204 /wd4221

to

MSC_WARNING_LEVEL=/W4 /WX /wd4201 /wd4204 /wd4221 /wd4482

Does that help?



#7 Reginiano

Reginiano
  • Members
  • 7 posts
  •  
    Israel

Posted 13 April 2016 - 10:11 AM

I manged to solve that one.

Now it seems to be a successful compilation but failing in the sign:

BUILD: Finish time: Wed Apr 13 12:58:19 2016
BUILD: Done

    8 files compiled - 3,149 LPS
    1 library built
    1 executable built
        cd C:\imdisk2
        signtool sign /a /v /n "Lagerkvist Teknisk Radgivning i Boras HB" /d "Im
Disk Virtual Disk Driver Core API Library" /du "http://www.ltr-data.se" /ac C:\i
mdisk2\..\cert\MSCV-GlobalSign.cer /t "http://timestamp.comodoca.com/authenticod
e" cplcore\amd64\imdisk.cpl
SignTool Error: No certificates were found that met all the given criteria.
NMAKE : fatal error U1077: 'C:\WinDDK\7600.16385.1\bin\amd64\signtool.EXE' : ret
urn code '0x1'
Stop.

And how can i install/use the "imdisk command line" after compilation?
When I run install.cmd i get:

C:\imdisk2>install
ImDisk Virtual Disk Driver setup

Number of existing ImDisk virtual disks: 0

The service name is invalid.

More help is available by typing NET HELPMSG 2185.

The service name is invalid.

More help is available by typing NET HELPMSG 2185.

The service name is invalid.

More help is available by typing NET HELPMSG 2185.

ERROR: The process "imdsksvc.exe" not found.
The service name is invalid.

More help is available by typing NET HELPMSG 2185.

The service name is invalid.

More help is available by typing NET HELPMSG 2185.

The service name is invalid.

More help is available by typing NET HELPMSG 2185.

Thank you for your will to help, it's really not taken for granted!



#8 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1332 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 13 April 2016 - 10:19 AM

Sorry, I have mistakenly included the file Makefile.user in the source archive. That one should not be there. Please remove Makefile.user and rebuild!


  • Reginiano likes this

#9 Reginiano

Reginiano
  • Members
  • 7 posts
  •  
    Israel

Posted 13 April 2016 - 10:47 AM

Clean compilation! 

But i have no idea how to use the app. :/

 

When i run: \cli\amd64\imdisk.exe

It says: The ImDisk Virtual Disk Driver is not installed. Please re-install ImDisk.

 

When i run: \install.cmd

It says: ERROR: The process "imdsksvc.exe" not found.

And then prompts the window: The file 'imdisk.exe' (Unknown) is needed.

Browsing for the file doesn't work.



#10 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1332 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 13 April 2016 - 10:56 AM

The error messages when you run install.cmd should not matter I think. They are related to upgrades and you are probably doing a clean install. Can you post the exact output from install.cmd?



#11 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1332 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 13 April 2016 - 10:58 AM

Also, I assume you are running an x64 version of Windows with driver signing requirements? Then you need to create a test certificate, sign .sys files you have built with that certificate, install the certificate into trusted root cert authority of your machine, change boot settings to testsigning mode and reboot.



#12 Reginiano

Reginiano
  • Members
  • 7 posts
  •  
    Israel

Posted 13 April 2016 - 11:05 AM

C:\imdisk2>install
ImDisk Virtual Disk Driver setup
Number of existing ImDisk virtual disks: 0
The service name is invalid.
More help is available by typing NET HELPMSG 2185.
The service name is invalid.
More help is available by typing NET HELPMSG 2185.
The service name is invalid.
More help is available by typing NET HELPMSG 2185.
ERROR: The process "imdsksvc.exe" not found.

Then it prompts me with "Files Needed" window:

The file 'imdisk.exe' on (Unknown) is needed.
Type the path where the file is located. and then click OK.

But browsing for the /cli/amd64/imdisk.exe won't satisfy it, as it keeps on popping.

After i click cancel, i get more output:

The service name is invalid.
More help is available by typing NET HELPMSG 2185.
The service name is invalid.
More help is available by typing NET HELPMSG 2185.
The service name is invalid.
More help is available by typing NET HELPMSG 2185.


#13 Olof Lagerkvist

Olof Lagerkvist

    Gold Member

  • Developer
  • 1332 posts
  • Location:Borås, Sweden
  •  
    Sweden

Posted 13 April 2016 - 11:41 AM

Sorry I forgot that. You need to build both x86 and x64 versions because the x64 installer needs to install files for both architectures.
  • Reginiano likes this

#14 Reginiano

Reginiano
  • Members
  • 7 posts
  •  
    Israel

Posted 13 April 2016 - 03:08 PM

Works!
Now i'll have to figure out how to sign the driver...

 

Thanks a lot Olof!  :victory:


  • Olof Lagerkvist likes this





Also tagged with one or more of these keywords: imdisk, compile, error

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users