Discussion:
Hercules on Windows x64 with Visual Studio
Tim Van Holder
2007-08-18 16:11:27 UTC
Permalink
Hi,

I've been setting up Hercules for "real" Visual Studio builds (i.e. not
using the makefiles), targeting both Win32 and x64 (no ia64, sorry).

The current state of my efforts:
- Configure script created that generates the solution & projects (and
extracts the correct version number from configure.ac).
Currently only configurable by editing it, but I plan to add some sort
of GUI (probably some IE based HTML page).
The idea is to be easily able to choose:
* which VS version to target (VS2005 and VC2005 Express currently, but
VS2003, VS2007 and possibly VS2002 and VC6 support is planned (but
would require assistance from people that have those editions
installed)
* whether or not to use BZ2, ZLib, PCRE, as well as what library names
to use
* whether or not to include x64 targets (currently applies to VS2005
only; the Express versions don't support x64 builds)
* whatever other config options make sense for a Windows build
- Adjusted sources to get rid of all compiler warnings for the x64 build
(mostly adding casts, typically for size_t values).

However, I'm hitting 2 brick walls, one small and one big.
- The small one is that the debug build OOPSes during the load of the
config file - it trips a runtime pointer check (IsValidHeapPtr
returning FALSE). The retail build loads the config file without and
apparent ill effect, so this _could_ be a false positive, but it
prevents any kind of debugging at the moment.
- The big one is that Microsof's compiler does not support __asm for
non-Win32 targets - and that means that the fetestexcept and
feclearexcept functions from ieee-w32.h do not compile. I currently
disabled those lines to test the build process, but I don't expect
hercules to run normally without those functions in working order.
Unfortunately my assembly knowledge is nonexistant, so I am hoping
that someone on this list knows enough about x64 asm to provide me
with pure asm equivalents of those two functions (my build system
already sets up an ieee-w64.asm file for build with yasm - I just need
contents for that source :D).
Once I have those routines, I'll set up my old OS image and do some
basic "does it run?" tests; if those go OK I'll post the diffs here
for review.
Steve And Grace Bovy
2007-08-21 16:30:13 UTC
Permalink
I was able to run mvs38j with Hercules on vista, but there is something

Wrong with fishes tcp winpcap interfaces.



When I use his test program everything seems to be ok,



But when I try to step thru my Centos Install process which requires tcp

It does not work



Fish ?? Any clues on what is going on.



I also have Microsoft's pc 2007 vm emulation software installed





[Non-text portions of this message have been removed]
Cyl Souto
2007-08-21 21:05:03 UTC
Permalink
I faced the same problem over here!

I just downloaded the WinPcap 4.1 and installed, and, in the shortcut what
calls Hercules, I hit the compatibility and in the last window, in Privilege
Level I checked the “Execute as Administrator” item. After this I could
turn on the TCP/IP interface!





Hope that helps!




Cyl

_____

De: hercules-390-***@public.gmane.org [mailto:hercules-390-***@public.gmane.org] Em
nome de Steve And Grace Bovy
Enviada em: terça-feira, 21 de agosto de 2007 13:30
Para: hercules-390-***@public.gmane.org
Assunto: [hercules-390] RE: Hercules On Vista



I was able to run mvs38j with Hercules on vista, but there is something

Wrong with fishes tcp winpcap interfaces.

When I use his test program everything seems to be ok,

But when I try to step thru my Centos Install process which requires tcp

It does not work

Fish ?? Any clues on what is going on.

I also have Microsoft's pc 2007 vm emulation software installed

[Non-text portions of this message have been removed]



__________ Informagco do NOD32 IMON 2471 (20070820) __________

Esta mensagem foi verificada pelo NOD32 sistema antivmrus
http://www.eset.com.br



[Non-text portions of this message have been removed]
Steve And Grace Bovy
2007-08-22 03:32:11 UTC
Permalink
Hmm Interesting I am already logging in as an administrator ,

And the Run this program as administrator is disabled



Did you enable run compatibility ( running as win xp sp2 ?? )



_____

From: hercules-390-***@public.gmane.org [mailto:hercules-390-***@public.gmane.org] On
Behalf Of Cyl Souto
Sent: Tuesday, August 21, 2007 2:05 PM
To: hercules-390-***@public.gmane.org
Subject: [SPAM] RES: [hercules-390] RE: Hercules On Vista



I faced the same problem over here!

I just downloaded the WinPcap 4.1 and installed, and, in the shortcut what
calls Hercules, I hit the compatibility and in the last window, in Privilege
Level I checked the “Execute as Administrator” item. After this I could
turn on the TCP/IP interface!

Hope that helps!

Cyl

_____

De: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
[mailto:hercules-390@ <mailto:hercules-390%40yahoogroups.com>
yahoogroups.com] Em
nome de Steve And Grace Bovy
Enviada em: terça-feira, 21 de agosto de 2007 13:30
Para: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
Assunto: [hercules-390] RE: Hercules On Vista

I was able to run mvs38j with Hercules on vista, but there is something

Wrong with fishes tcp winpcap interfaces.

When I use his test program everything seems to be ok,

But when I try to step thru my Centos Install process which requires tcp

It does not work

Fish ?? Any clues on what is going on.

I also have Microsoft's pc 2007 vm emulation software installed

[Non-text portions of this message have been removed]

__________ Informagco do NOD32 IMON 2471 (20070820) __________

Esta mensagem foi verificada pelo NOD32 sistema antivmrus
http://www.eset. <http://www.eset.com.br> com.br

[Non-text portions of this message have been removed]





[Non-text portions of this message have been removed]
Cyl Souto
2007-08-22 17:38:07 UTC
Permalink
Yup, I as runnning as administrator too! But it seems other tasks run in
separate threads and need this authorization.

The error you are finding is something like this?



** tt32_loaddll: LoadLibraryEx("TunTap32.dll") failed; rc=14001

HHCTU002E Error opening TUN/TAP device: 00-00-5E-80-00-00: No error

HHCCF044E Initialization failed for device 05DF



That’s indicates a authorization problem!



And I didn’t enabled the Xp Sp2!



_____

De: hercules-390-***@public.gmane.org [mailto:hercules-390-***@public.gmane.org] Em
nome de Steve And Grace Bovy
Enviada em: quarta-feira, 22 de agosto de 2007 00:32
Para: hercules-390-***@public.gmane.org
Assunto: RE: [SPAM] RES: [hercules-390] RE: Hercules On Vista



Hmm Interesting I am already logging in as an administrator ,

And the Run this program as administrator is disabled

Did you enable run compatibility ( running as win xp sp2 ?? )

_____

From: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
[mailto:hercules-390@ <mailto:hercules-390%40yahoogroups.com>
yahoogroups.com] On
Behalf Of Cyl Souto
Sent: Tuesday, August 21, 2007 2:05 PM
To: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
Subject: [SPAM] RES: [hercules-390] RE: Hercules On Vista

I faced the same problem over here!

I just downloaded the WinPcap 4.1 and installed, and, in the shortcut what
calls Hercules, I hit the compatibility and in the last window, in Privilege
Level I checked the “Execute as Administrator” item. After this I could
turn on the TCP/IP interface!

Hope that helps!

Cyl

_____

De: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
[mailto:hercules-390@ <mailto:hercules-390%40yahoogroups.com>
yahoogroups.com] Em
nome de Steve And Grace Bovy
Enviada em: terça-feira, 21 de agosto de 2007 13:30
Para: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
Assunto: [hercules-390] RE: Hercules On Vista

I was able to run mvs38j with Hercules on vista, but there is something

Wrong with fishes tcp winpcap interfaces.

When I use his test program everything seems to be ok,

But when I try to step thru my Centos Install process which requires tcp

It does not work

Fish ?? Any clues on what is going on.

I also have Microsoft's pc 2007 vm emulation software installed

[Non-text portions of this message have been removed]

__________ Informagco do NOD32 IMON 2471 (20070820) __________

Esta mensagem foi verificada pelo NOD32 sistema antivmrus
http://www.eset. <http://www.eset. <http://www.eset.com.br> com.br> com.br

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]



__________ Informação do NOD32 IMON 2473 (20070821) __________

Esta mensagem foi verificada pelo NOD32 sistema antivírus
http://www.eset.com.br



[Non-text portions of this message have been removed]
Steve And Grace Bovy
2007-08-22 19:26:17 UTC
Permalink
Sorry for the confusion.



I think I had a configuration problem.



I re-installed winpcap and changed my adapter string and now it works great
!!!!



_____

From: hercules-390-***@public.gmane.org [mailto:hercules-390-***@public.gmane.org] On
Behalf Of Cyl Souto
Sent: Wednesday, August 22, 2007 10:38 AM
To: hercules-390-***@public.gmane.org
Subject: [SPAM] RES: [SPAM] RES: [hercules-390] RE: Hercules On Vista



Yup, I as runnning as administrator too! But it seems other tasks run in
separate threads and need this authorization.

The error you are finding is something like this?

** tt32_loaddll: LoadLibraryEx("TunTap32.dll") failed; rc=14001

HHCTU002E Error opening TUN/TAP device: 00-00-5E-80-00-00: No error

HHCCF044E Initialization failed for device 05DF

That’s indicates a authorization problem!

And I didn’t enabled the Xp Sp2!

_____

De: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
[mailto:hercules-390@ <mailto:hercules-390%40yahoogroups.com>
yahoogroups.com] Em
nome de Steve And Grace Bovy
Enviada em: quarta-feira, 22 de agosto de 2007 00:32
Para: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
Assunto: RE: [SPAM] RES: [hercules-390] RE: Hercules On Vista

Hmm Interesting I am already logging in as an administrator ,

And the Run this program as administrator is disabled

Did you enable run compatibility ( running as win xp sp2 ?? )

_____

From: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
[mailto:hercules-390@ <mailto:hercules-390%40yahoogroups.com>
yahoogroups.com] On
Behalf Of Cyl Souto
Sent: Tuesday, August 21, 2007 2:05 PM
To: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
Subject: [SPAM] RES: [hercules-390] RE: Hercules On Vista

I faced the same problem over here!

I just downloaded the WinPcap 4.1 and installed, and, in the shortcut what
calls Hercules, I hit the compatibility and in the last window, in Privilege
Level I checked the “Execute as Administrator” item. After this I could
turn on the TCP/IP interface!

Hope that helps!

Cyl

_____

De: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
[mailto:hercules-390@ <mailto:hercules-390%40yahoogroups.com>
yahoogroups.com] Em
nome de Steve And Grace Bovy
Enviada em: terça-feira, 21 de agosto de 2007 13:30
Para: hercules-390@ <mailto:hercules-390%40yahoogroups.com> yahoogroups.com
Assunto: [hercules-390] RE: Hercules On Vista

I was able to run mvs38j with Hercules on vista, but there is something

Wrong with fishes tcp winpcap interfaces.

When I use his test program everything seems to be ok,

But when I try to step thru my Centos Install process which requires tcp

It does not work

Fish ?? Any clues on what is going on.

I also have Microsoft's pc 2007 vm emulation software installed

[Non-text portions of this message have been removed]

__________ Informagco do NOD32 IMON 2471 (20070820) __________

Esta mensagem foi verificada pelo NOD32 sistema antivmrus
http://www.eset. <http://www.eset. <http://www.eset.
<http://www.eset.com.br> com.br> com.br> com.br

[Non-text portions of this message have been removed]

[Non-text portions of this message have been removed]

__________ Informação do NOD32 IMON 2473 (20070821) __________

Esta mensagem foi verificada pelo NOD32 sistema antivírus
http://www.eset. <http://www.eset.com.br> com.br

[Non-text portions of this message have been removed]





[Non-text portions of this message have been removed]
Fish
2007-08-26 11:54:15 UTC
Permalink
Post by Cyl Souto
Yup, I as runnning as administrator too! But it seems other
tasks run in separate threads and need this authorization.
I'll take your word for it. I don't have Vista yet nor do I want it.
(At least not until they come out with a Service Pack or two for it
first.)
Post by Cyl Souto
The error you are finding is something like this?
** tt32_loaddll: LoadLibraryEx("TunTap32.dll") failed; rc=14001
HHCTU002E Error opening TUN/TAP device: 00-00-5E-80-00-00: No error
HHCCF044E Initialization failed for device 05DF
((SIGH!)) (WHEN the frick am I *ever* going to get rid of that "No
error" problem?! <grumble>)
Post by Cyl Souto
That’s indicates a authorization problem!
Actually, no, that's incorrect:


C:\Documents and Settings\Fish>net helpmsg 14001

"This application has failed to start because the application
configuration is incorrect. Reinstalling the application
may fix this problem."

C:\Documents and Settings\Fish>


14001 usually means you didn't install either the **SP1** version of
the Microsoft VC++ redistributables (MSVCRT80.DLL, etc (i.e.
"vcredist" [1])) and/or FishLib32.dll.

- --
"Fish" (David B. Trout) - fish(at)infidels.org
Fight Spam! Join CAUCE! <http://www.cauce.org/>
(Any HTML email received will be deleted unread)
PGP key fingerprints:
RSA: 6B37 7110 7201 9917 9B0D 99E3 55DB 5D58 FADE 4A52
DH/DSS: 9F9B BAB0 BA7F C458 1A89 FE26 48F5 D7F4 C4EE 3E2A

[1] Which is FINALLY available as a direct download directly from
Microsoft's web site (yea!) thereby obviating the need to use the one
from my HercGUI page (I'll get around to updating my web page one of
these days):

x86:
http://www.microsoft.com/downloads/details.aspx?FamilyID=200B2FD9-AE1A
- -4A14-984D-389C36F85647&displaylang=en

x64:
http://www.microsoft.com/downloads/details.aspx?FamilyID=EB4EBE2D-33C0
- -4A47-9DD4-B9A6D7BD44DA&displaylang=en

NOTE! make SURE the page title says "SP1" and that the version is
"8.0.50727.762" or later or else you've got the wrong page!
Tony Mori
2007-08-24 04:28:07 UTC
Permalink
A member of the MVS/OS390/zOS community has fallen ill, and I'm getting rid of some of his stuff.
If anyone has any interest in the following, let me know:

P390 System, working, IPLs fine - saw it myself. OS/2 is there, LIC is there, has 2 Ethernets, and a V4.x of OS/390 I think
This is IBM PC Server 320 based (MCA)

IBM 3490e tape drive - long sucker - shaped like an APC UPS, but looooonger. Looks new, still wrapped in plastic. About 3 feet long, about 40-50 lbs.
the IBM label says 3490E E IBM Type is 3490E has a port labelled Diff, which I assume is Differential SCSI.

IBM P370 system (PS/2 Model 77-based) + spare P370 board - I believe Jay Maynard has dibs on this, unless he says otherwise


There is quite a bit of IBM documentatiion, manuals, books available. I don't know how to handle this one, as I don't have the time to sift
through 100-200 books. Any suggestions?

Tony

[Non-text portions of this message have been removed]
Fish
2007-08-26 11:34:54 UTC
Permalink
Post by Cyl Souto
I faced the same problem over here!
I just downloaded the WinPcap 4.1 and installed, and, in
the shortcut what calls Hercules, I hit the compatibility
and in the last window, in Privilege Level I checked the
"Execute as Administrator" item. After this I could turn
on the TCP/IP interface!
Yes, Hercules does unfortunately at the moment require Admin
privileges in order to run. It's on my list to look into what it
would take to rectify that, but alas "round tuits" are hard to come
by these days (sigh!).

- --
"Fish" (David B. Trout) - fish(at)infidels.org
Fight Spam! Join CAUCE! <http://www.cauce.org/>
(Any HTML email received will be deleted unread)
PGP key fingerprints:
RSA: 6B37 7110 7201 9917 9B0D 99E3 55DB 5D58 FADE 4A52
DH/DSS: 9F9B BAB0 BA7F C458 1A89 FE26 48F5 D7F4 C4EE 3E2A
Fish
2007-08-26 11:30:59 UTC
Permalink
Post by Steve And Grace Bovy
I was able to run mvs38j with Hercules on vista, but there is
something Wrong with fishes tcp winpcap interfaces.
Eh?
Post by Steve And Grace Bovy
When I use his test program everything seems to be ok,
But when I try to step thru my Centos Install process
which requires tcp It does not work
I've done centos 4.5 s390 installs and it works fine. Haven't tried
an s390x (64-bit) install yet though, but I don't see why it wouldn't
work.

I will say this though:

1) you will more than likely need to run as Administrator (Admin
privileges) since I haven't audited yet what changes would be needed
to get Herc to run as a regular (non-privileged) Windows user), and

2) you'll need to use a recent snapshot (16 Aug 2007 or later if
you're using LCS devices or 28 Jul 2007 or later if you're using CTC
devices).
Post by Steve And Grace Bovy
Fish ?? Any clues on what is going on.
See above.
Post by Steve And Grace Bovy
I also have Microsoft's pc 2007 vm emulation software
installed
Why?

- --
"Fish" (David B. Trout) - fish(at)infidels.org
Fight Spam! Join CAUCE! <http://www.cauce.org/>
(Any HTML email received will be deleted unread)
PGP key fingerprints:
RSA: 6B37 7110 7201 9917 9B0D 99E3 55DB 5D58 FADE 4A52
DH/DSS: 9F9B BAB0 BA7F C458 1A89 FE26 48F5 D7F4 C4EE 3E2A
Fish
2007-08-27 01:07:30 UTC
Permalink
Post by Fish
Post by Steve And Grace Bovy
I was able to run mvs38j with Hercules on vista, but there
is something Wrong with fishes tcp winpcap interfaces.
Eh?
Post by Steve And Grace Bovy
When I use his test program everything seems to be ok,
But when I try to step thru my Centos Install process
which requires tcp It does not work
I've done centos 4.5 s390 installs and it works fine. Haven't tried
an s390x (64-bit) install yet though, but I don't see why it
wouldn't work.
1) you will more than likely need to run as Administrator (Admin
privileges) since I haven't audited yet what changes would be
needed to get Herc to run as a regular (non-privileged) Windows
user), and
2) you'll need to use a recent snapshot (16 Aug 2007 or later if
you're using LCS devices or 28 Jul 2007 or later if you're using
CTC devices).
Something else I forgot to mention:

3) Turn off your Windows firewall.

While testing some LCS & CTCI changes recently, I went through
several Centos S390 install scenarios and noticed whenever the
firewall was active, it caused connectivity problems. At first I of
course though it was my new code, but then discovered it was just the
firewall.

Attempting to configure it to allow telnet and ftp instead of just
disabling it entirely didn't seem to help any either (although maybe
I just wasn't doing it right or had something to do with the fact
that my ftp server was IIS running on the same box, I don't know), so
I ended up just completely disabling it altogether. [1]

Just thought I'd pass that on to folks too.

- --
"Fish" (David B. Trout) - fish(at)infidels.org
Fight Spam! Join CAUCE! <http://www.cauce.org/>
(Any HTML email received will be deleted unread)
PGP key fingerprints:
RSA: 6B37 7110 7201 9917 9B0D 99E3 55DB 5D58 FADE 4A52
DH/DSS: 9F9B BAB0 BA7F C458 1A89 FE26 48F5 D7F4 C4EE 3E2A

[1] Having it around is somewhat redundant anyway since I already
have a firewall built into my router, but seeing how two layers of
protection are better than one it doesn't hurt to keep it
enabled/active (except when doing centos installs via Hercules that
is).
Fish
2007-08-29 11:53:17 UTC
Permalink
** MINOR CORRECTION **

<snip>
Post by Fish
2) you'll need to use a recent snapshot (16 Aug 2007 or later
if you're using LCS devices or 28 Jul 2007 or later if you're
using CTC devices).
Actually that SHOULD be:

30-Jul-2007: CTCI (which fixed CTCI but broke LCS!)
18-Aug-2007: LCS (which fixed LCS broken by above)

That's when the fixes were actually committed. The dates I mentioned
previously came from the changelog member (which isn't necessarily
accurate).

Sorry about that.

- --
"Fish" (David B. Trout) - fish(at)infidels.org
Fight Spam! Join CAUCE! <http://www.cauce.org/>
(Any HTML email received will be deleted unread)
PGP key fingerprints:
RSA: 6B37 7110 7201 9917 9B0D 99E3 55DB 5D58 FADE 4A52
DH/DSS: 9F9B BAB0 BA7F C458 1A89 FE26 48F5 D7F4 C4EE 3E2A
Steve And Grace Bovy
2007-08-27 16:40:53 UTC
Permalink
Thanks Fish, and thanks to all who have responded.



My BAD, I made a mistake somewhere,



I started over and everything is working OK.



Wow, it took 12 hours to install Centos s390 on my 2.66 P4



Another tip I would add as far as installation is to always do a custom
install so you can make sure

To pre-install things like ( mc ) ...



Does anyone know how to enable the vnc server ??



I changed \sysconfig\vncservers but that was not good enough



I enabled XDMCP but that is way to sluggishly slow to be of any use



_____

From: hercules-390-***@public.gmane.org [mailto:hercules-390-***@public.gmane.org] On
Behalf Of Fish
Sent: Sunday, August 26, 2007 4:31 AM
To: hercules-390-***@public.gmane.org
Subject: [SPAM] RE: [hercules-390] RE: Hercules On Vista




-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Steve And Grace Bovy
I was able to run mvs38j with Hercules on vista, but there is
something Wrong with fishes tcp winpcap interfaces.
Eh?
Post by Steve And Grace Bovy
When I use his test program everything seems to be ok,
But when I try to step thru my Centos Install process
which requires tcp It does not work
I've done centos 4.5 s390 installs and it works fine. Haven't tried
an s390x (64-bit) install yet though, but I don't see why it wouldn't
work.

I will say this though:

1) you will more than likely need to run as Administrator (Admin
privileges) since I haven't audited yet what changes would be needed
to get Herc to run as a regular (non-privileged) Windows user), and

2) you'll need to use a recent snapshot (16 Aug 2007 or later if
you're using LCS devices or 28 Jul 2007 or later if you're using CTC
devices).
Post by Steve And Grace Bovy
Fish ?? Any clues on what is going on.
See above.
Post by Steve And Grace Bovy
I also have Microsoft's pc 2007 vm emulation software
installed
Why?

- --
"Fish" (David B. Trout) - fish(at)infidels.org
Fight Spam! Join CAUCE! <http://www.cauce. <http://www.cauce.org/> org/>
(Any HTML email received will be deleted unread)
PGP key fingerprints:
RSA: 6B37 7110 7201 9917 9B0D 99E3 55DB 5D58 FADE 4A52
DH/DSS: 9F9B BAB0 BA7F C458 1A89 FE26 48F5 D7F4 C4EE 3E2A

-----BEGIN PGP SIGNATURE-----
Version: PGP 8.1

iQA/AwUBRtFkckj11/TE7j4qEQK5ugCghzt03/aUr7ivcb1ZsadFYaQQnvEAnjY4
Ni71uilhatJdrpG6cjq9rN4R
=CNlH
-----END PGP SIGNATURE-----





[Non-text portions of this message have been removed]
Fish
2007-08-26 10:54:12 UTC
Permalink
Post by Tim Van Holder
Hi,
I've been setting up Hercules for "real" Visual Studio builds
(i.e. not using the makefiles), targeting both Win32 and x64
(no ia64, sorry).
Interesting. I did the same thing a while back purely as an
experiment during my efforts to add 64-bit support to Herc (which I
*did* do, albeit in the same makefile fashion as the way Herc is
built today). It's much more complicated that way of course (as a
non-makefile project that is) and builds much slower too (since there
are so many separate Projects within the Solution), but I'll admit it
does make it a tad bit easier to extend/enhance/customize. Well done!
Maybe we should compare notes with one another. :)
Post by Tim Van Holder
- Configure script created that generates the solution & projects
(and extracts the correct version number from configure.ac).
Oh wow! You wrote a configure script? Cool! I didn't bother doing
that myself. I just hard-coded everything in hercwind.h I think. (It
WAS (in my case anyway) just and experiment after all)
Post by Tim Van Holder
Currently only configurable by editing it, but I plan to add
some sort of GUI (probably some IE based HTML page).
Cool!
Post by Tim Van Holder
* which VS version to target (VS2005 and VC2005 Express
currently,
but VS2003, VS2007 and possibly VS2002 and VC6 support is
planned
(but would require assistance from people that have those
editions
installed)
I still have it (VC6) but I no longer don't use it now that I have
VS2005.
Post by Tim Van Holder
* whether or not to use BZ2, ZLib, PCRE, as well as what library names
to use
Yup. That was some of the stuff I had hard-coded in my version.
Post by Tim Van Holder
* whether or not to include x64 targets (currently applies to VS2005
only; the Express versions don't support x64 builds)
Sure it does. :)

You just have to set it up properly. >;-) [1]
Post by Tim Van Holder
* whatever other config options make sense for a Windows build
- Adjusted sources to get rid of all compiler warnings for the x64
build (mostly adding casts, typically for size_t values).
Yup. Had the same issue too.

I still have my patches (project) too, but I haven't maintained them.
Might take a bit of effort to bring them current, but you're welcome
to them if you want them. <shrug> (I've been wanting to get back to
them so I can release a 64-bit Windows version of Herc, but alas,
I've been stuck doing other things for a while now. It's high
priority though, right after the stuff I'm currently working on
(which unfortunately(?) will probably keep me busy for quite a while
yet[2]))
Post by Tim Van Holder
However, I'm hitting 2 brick walls, one small and one big.
- The small one is that the debug build OOPSes during the load
of the config file
Well THAT'S not good.
Post by Tim Van Holder
- it trips a runtime pointer check (IsValidHeapPtr
returning FALSE). The retail build loads the config file
without and apparent ill effect, so this _could_ be a false
positive, but it prevents any kind of debugging at the moment.
Eh?! What do you mean? Why can't you debug it? Just set a breakpoint
and start stepping! What's the problem?

You ARE starting it (debugging it) from within VC++, right? If you're
getting an "OOPS!" message then it means you're not. Hercules's
bootstrap.c module checks to see if it's running under the control of
a debugger or not and only invokes the "OOPS!" logic if it's not.
Otherwise (you ARE running under the control of a debugger (i.e.
"IsDebuggerPresent()" returns TRUE)) it doesn't and VC++ should then
intercept the crash instead thereby allowing you to debug it normally
just like any other VC++ program. <shrug>
Post by Tim Van Holder
- The big one is that Microsof's compiler does not support __asm
for non-Win32 targets
Sucks, doesn't it? :(
Post by Tim Van Holder
- and that means that the fetestexcept and feclearexcept
functions
from ieee-w32.h do not compile.
Ah. Yes. I remember having to make semi-extensive modifications to
those myself. :)

I should probably send you my patches. They might help you. Do you
want them?
Post by Tim Van Holder
I currently disabled those lines to test the build process, but I
don't expect hercules to run normally without those functions in
working order. Unfortunately my assembly knowledge is
nonexistant,
Mine's not much better. :(

But I *did* manage to learn after hours of research enough to make
what I *believe* to be are the necessary changes. It's all in my
patch.
Post by Tim Van Holder
so I am hoping that someone on this list knows enough about x64
asm
to provide me with pure asm equivalents of those two functions
(my
build system already sets up an ieee-w64.asm file for build with
yasm
- I just need contents for that source :D).
Let me send you my patches as they are right now so you can see what
they look like (just in case I get busy with other things and don't
get back to them (which is quite likely)) while I try to see if I can
bring them up-to-date. What's your email address? Eh, screw it. I'll
just upload them to the group's files area.
Post by Tim Van Holder
Once I have those routines, I'll set up my old OS image and do some
basic "does it run?" tests; if those go OK I'll post the diffs here
for review.
Cool. I submitted my patches to the other developers for peer review
before committing them to CVS but got some minor negative feedback as
I recall (forget what it was now), so it never made it in. I'd LIKE
for us to be able to start providing 64-bit Windows builds of Herc
too, but alas it seems I'm too busy making other changes for my
client (who doesn't have any 64-bit [Windows x64] boxes yet). Once he
does I'm sure it'll become a priority but until then it's not.

- --
"Fish" (David B. Trout) - fish(at)infidels.org
Fight Spam! Join CAUCE! <http://www.cauce.org/>
(Any HTML email received will be deleted unread)
PGP key fingerprints:
RSA: 6B37 7110 7201 9917 9B0D 99E3 55DB 5D58 FADE 4A52
DH/DSS: 9F9B BAB0 BA7F C458 1A89 FE26 48F5 D7F4 C4EE 3E2A

[1] Hint: it involves using the 64-bit compiler/linker (build
environment) from the Platform SDK and then starting VC++ Express
with the /USEENV switch. It's not easy (there are many gotchas) but
it CAN be done. I played around with it myself a while back when I
was working on adding 64-bit support to Herc, but it was such a PITA
I said screw it since I had VS2005. (I wanted to document how others
could do it without having to purchase a full blown VS2005 license
but decided it was more trouble (read: "more complicated") than it
was really worth.)

[2] Paying customers come first! Even ahead of my own stuff! (i.e.
stuff that I'd RATHER be working on!)
Tim Van Holder
2007-09-08 11:30:09 UTC
Permalink
Post by Fish
Interesting. I did the same thing a while back purely as an
experiment during my efforts to add 64-bit support to Herc (which I
*did* do, albeit in the same makefile fashion as the way Herc is
built today). It's much more complicated that way of course (as a
non-makefile project that is) and builds much slower too (since
there are so many separate Projects within the Solution), but I'll
admit it does make it a tad bit easier to extend/enhance/customize.
Well done!
Thanks - it's not very slow, but then again I run a 4-core (dual
dual-core system), so my results may be slightly skewed :D
Post by Fish
Post by Tim Van Holder
- Configure script created that generates the solution & projects
(and extracts the correct version number from configure.ac).
Oh wow! You wrote a configure script? Cool! I didn't bother doing
that myself. I just hard-coded everything in hercwind.h I think. (It
WAS (in my case anyway) just and experiment after all)
Just a simple JScript affair - it's quite convenient that VS.NET
projects are XML files - makes them VERY easy to generate from such a
script :)
Only thing is that I don't know if it's safe to assume any Windows PC
that has a VS version on it will also have both JScript and MSXML
installed. I believe it is, but I'm not sure.
Post by Fish
Post by Tim Van Holder
Currently only configurable by editing it, but I plan to add
some sort of GUI (probably some IE based HTML page).
Cool!
It would be if I could get it working...
Post by Fish
Post by Tim Van Holder
* which VS version to target (VS2005 and VC2005 Express
currently,
but VS2003, VS2007 and possibly VS2002 and VC6 support is
planned
(but would require assistance from people that have those
editions
installed)
I still have it (VC6) but I no longer don't use it now that I have
VS2005.
I'm inclined to agree that VC6 support isn't needed so much (people
can always get a current Express version). I'd still like to support
the other VS.NET versions though (would likely only require minor
differences to the XML). If VS2007 uses MSBuild, that would probably
require much more extensive changes, but it's still XML so easy enough
to produce.
Post by Fish
Post by Tim Van Holder
* whether or not to use BZ2, ZLib, PCRE, as well as what library names
to use
Yup. That was some of the stuff I had hard-coded in my version.
Yeah - but I want to have some flexibility here (for example, I linked
with self-built static versions of these, so the .libs didn't have the
same name as used by the makefiles).
Post by Fish
Post by Tim Van Holder
* whether or not to include x64 targets (currently applies to VS2005
only; the Express versions don't support x64 builds)
Sure it does. :)
You just have to set it up properly. >;-) [1]
Which is non-trivial (plus, it may violate the EULA for the Express
SKU - MS gets very touchy about people enabling features in Express
that they didn't intend it to have - but IANAL).
Post by Fish
Post by Tim Van Holder
* whatever other config options make sense for a Windows build
- Adjusted sources to get rid of all compiler warnings for the x64
build (mostly adding casts, typically for size_t values).
Yup. Had the same issue too.
I still have my patches (project) too, but I haven't maintained them.
Might take a bit of effort to bring them current, but you're welcome
to them if you want them. <shrug> (I've been wanting to get back to
I eliminated all the warnings - it's just something that could do with
some review to ensure that the casts don't have unintended negative
effects for non-x64 build (I doubt it but you never know).
Post by Fish
Post by Tim Van Holder
However, I'm hitting 2 brick walls, one small and one big.
- The small one is that the debug build OOPSes during the load
of the config file
Well THAT'S not good.
Post by Tim Van Holder
- it trips a runtime pointer check (IsValidHeapPtr
returning FALSE). The retail build loads the config file
without and apparent ill effect, so this _could_ be a false
positive, but it prevents any kind of debugging at the moment.
Eh?! What do you mean? Why can't you debug it? Just set a breakpoint
and start stepping! What's the problem?
I can debug the OOPS - I meant I can't debug the fetest stuff etc
without taking care of the OOPS - and debugging pointer issues can be
hard even when you know the codebase very well (and I don't).
Post by Fish
Post by Tim Van Holder
- The big one is that Microsof's compiler does not support __asm
for non-Win32 targets
Sucks, doesn't it? :(
Yeah - also sucks that they felt the need to use a completely
overhauled calling convention for Win64 - otherwise I could just take
gcc output or somthing and use that as the x64 asm. Commenting out the
__asm and compiling, then checking the asm listing doesn't help either
because the compiler optimizes very aggressively, eliding much of the
code if the __asm is gone.
Post by Fish
Post by Tim Van Holder
- and that means that the fetestexcept and feclearexcept
functions
from ieee-w32.h do not compile.
Ah. Yes. I remember having to make semi-extensive modifications to
those myself. :)
I should probably send you my patches. They might help you. Do you
want them?
I got them from the file area and will probably check them out later
today.

Loading...