# librelist archives

## \path\to\exe is not a valid win32 application

### \path\to\exe is not a valid win32 application

From:
Chuck Remes
Date:
2011-09-28 @ 16:21
I have Shoes building. However, upon launch I get a dialog box from the OS
saying that the exe is not a valid win32 application.

I googled around for this problem and got the hint that I should verify
that all library dependencies are being satisfied. So, I ran Dependency
Walker on the Shoes.exe and discovered several problems.

1. Most of the dependent libraries are compiled for x64. The Shoes exe and

The OS is Win7 x64.

I don't know how to solve this. I thought the recipes would automatically
compile for the correct target architecture. ???

2. There are unsatisfied dependencies due to 4 missing DLLs.

IESHIMS.DLL

LIBFONTCONFIG-1.DLL

FREETYPE6.DLL

LIBPNG14-14.DLL

When I examine the Shoes recipe that *used to work with MRI 1.9.1* I don't
see any references to these DLLs. I do see that the build for the Mac OSX
platform has libfontconfig and libpng as dependencies, but the Windows
to the directory containing the EXE, but I am curious to know how this
worked in the original build recipe.

Google tells me that the FREETYPE6.DLL error is a common Windows problem
(I've never seen it before). I can easily download a prebuilt binary and
drop it in, but I am curious how this got broken.

IESHIMS.DLL is apparently a part of Internet Explorer 8. That needs to be
on the PATH to discover this DLL. So, how did Shoes get a dependency on
IE8 all of a sudden? :(

3. A user on irc (phinze) fixed some of the problems with compiling and
linking the C libs in sandbox/shoes/req but he didn't commit those changes
anywhere that I can find. Ultimately this is a problem that needs repair
before we can "ship" so I'm hopeful he pops back into irc and shares his
solution.

We are close!

cr


### Re: [shoes] \path\to\exe is not a valid win32 application

From:
Chuck Remes
Date:
2011-09-28 @ 19:59
On Sep 28, 2011, at 11:21 AM, Chuck Remes wrote:

> I have Shoes building. However, upon launch I get a dialog box from the
OS saying that the exe is not a valid win32 application.
>
> I googled around for this problem and got the hint that I should verify
that all library dependencies are being satisfied. So, I ran Dependency
Walker on the Shoes.exe and discovered several problems.
>
> 1. Most of the dependent libraries are compiled for x64. The Shoes exe
>
> The OS is Win7 x64.
>
> I don't know how to solve this. I thought the recipes would
automatically compile for the correct target architecture. ???
>
>
> 2. There are unsatisfied dependencies due to 4 missing DLLs.
>
> IESHIMS.DLL
>
> LIBFONTCONFIG-1.DLL
>
> FREETYPE6.DLL
>
> LIBPNG14-14.DLL

I copied these DLLs (except for IESHIMS) from a working installation of
Shoes into the build target. Dependency Walker then said I needed
LIBEXPAT-1.DLL, so I copied that over too. Dependency Walker gave me the
green light (except for IESHIMS and the x86/x64 issue).

On irc, phinze lamented the lack of good errors and the ability to run
gdb. BUT, we *can* run gdb.

So, I fired it up with "gdb --args shoes.exe" and it loaded the symbols.
When I tried to run it, it errored out immediately:

Error creating process
C:\Users\cremes\rubyinstaller\sandbox\shoes\dist/shoes.exe, (error 193).

Ideas?

cr


### Re: [shoes] \path\to\exe is not a valid win32 application

From:
Chuck Remes
Date:
2011-09-28 @ 16:31
On Sep 28, 2011, at 11:21 AM, Chuck Remes wrote:

> I have Shoes building. However, upon launch I get a dialog box from the
OS saying that the exe is not a valid win32 application.
>
> I googled around for this problem and got the hint that I should verify
that all library dependencies are being satisfied. So, I ran Dependency
Walker on the Shoes.exe and discovered several problems.
>
> 1. Most of the dependent libraries are compiled for x64. The Shoes exe
>
> The OS is Win7 x64.
>
> I don't know how to solve this. I thought the recipes would
automatically compile for the correct target architecture. ???
>
>
> 2. There are unsatisfied dependencies due to 4 missing DLLs.
>
> IESHIMS.DLL
>
> LIBFONTCONFIG-1.DLL
>
> FREETYPE6.DLL
>
> LIBPNG14-14.DLL
>
> When I examine the Shoes recipe that *used to work with MRI 1.9.1* I
don't see any references to these DLLs. I do see that the build for the
Mac OSX platform has libfontconfig and libpng as dependencies, but the
them in to the directory containing the EXE, but I am curious to know how
this worked in the original build recipe.
>
> Google tells me that the FREETYPE6.DLL error is a common Windows problem
(I've never seen it before). I can easily download a prebuilt binary and
drop it in, but I am curious how this got broken.
>
> IESHIMS.DLL is apparently a part of Internet Explorer 8. That needs to
be on the PATH to discover this DLL. So, how did Shoes get a dependency on
IE8 all of a sudden? :(
>
>
> 3. A user on irc (phinze) fixed some of the problems with compiling and
linking the C libs in sandbox/shoes/req but he didn't commit those changes
anywhere that I can find. Ultimately this is a problem that needs repair
before we can "ship" so I'm hopeful he pops back into irc and shares his
solution.

I examined the install directory for the last Windows release of Shoes.

It contains a copy of LIBFONTCONFIG-1.DLL, FREETYPE6.DLL and
LIBPNG14-14.DLL in its directory. However, I cannot find any logic in the
various Shoes forks telling me how those DLLs got copied into there. :(

cr


### Re: [shoes] \path\to\exe is not a valid win32 application

From:
Eric Watson
Date:
2011-09-28 @ 17:21
Chuck, are you looking at the 3.0 release version of the Rakefile?
Maybe something has been removed by mistake.

OS X does depend on libfreetype as well. We pick up the system's
version and bundle that. Its a transitive dependency, though, so you
will see it in Shoes.app/Contents/MacOS/ (at least in HEAD), but not
in the Rakefile.

I ran into architecture issues with OS X too, and partly it was
because the -arch flags were hard coded in multiple places.
Specifically, the command for compiling shoes.dylib was in a different
place than the command for dependencies, and with a slightly different
list of flags. I'd say it's likely to be that way in the windows build
as well. I did fix that for OS X, by the way ;)

You are so close!

Eric

On Sep 28, 2011, at 11:38 AM, Chuck Remes <cremes.devlist@mac.com> wrote:

>
> On Sep 28, 2011, at 11:21 AM, Chuck Remes wrote:
>
>> I have Shoes building. However, upon launch I get a dialog box from the
OS saying that the exe is not a valid win32 application.
>>
>> I googled around for this problem and got the hint that I should verify
that all library dependencies are being satisfied. So, I ran Dependency
Walker on the Shoes.exe and discovered several problems.
>>
>> 1. Most of the dependent libraries are compiled for x64. The Shoes exe
>>
>> The OS is Win7 x64.
>>
>> I don't know how to solve this. I thought the recipes would
automatically compile for the correct target architecture. ???
>>
>>
>> 2. There are unsatisfied dependencies due to 4 missing DLLs.
>>
>> IESHIMS.DLL
>>
>> LIBFONTCONFIG-1.DLL
>>
>> FREETYPE6.DLL
>>
>> LIBPNG14-14.DLL
>>
>> When I examine the Shoes recipe that *used to work with MRI 1.9.1* I
don't see any references to these DLLs. I do see that the build for the
Mac OSX platform has libfontconfig and libpng as dependencies, but the
them in to the directory containing the EXE, but I am curious to know how
this worked in the original build recipe.
>>
>> Google tells me that the FREETYPE6.DLL error is a common Windows
problem (I've never seen it before). I can easily download a prebuilt
binary and drop it in, but I am curious how this got broken.
>>
>> IESHIMS.DLL is apparently a part of Internet Explorer 8. That needs to
be on the PATH to discover this DLL. So, how did Shoes get a dependency on
IE8 all of a sudden? :(
>>
>>
>> 3. A user on irc (phinze) fixed some of the problems with compiling and
linking the C libs in sandbox/shoes/req but he didn't commit those changes
anywhere that I can find. Ultimately this is a problem that needs repair
before we can "ship" so I'm hopeful he pops back into irc and shares his
solution.
>
>
> I examined the install directory for the last Windows release of Shoes.
>
> It contains a copy of LIBFONTCONFIG-1.DLL, FREETYPE6.DLL and
LIBPNG14-14.DLL in its directory. However, I cannot find any logic in the
various Shoes forks telling me how those DLLs got copied into there. :(
>
> cr
>