Building the libraries with Borland Builder.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Building the libraries with Borland Builder.

Katie Lucas


Guys -- I need some help here.

I'm a long time UNIX developer desperately trying to get OpenSSL to
work on Windows with Borland Builder 6. I can't change compiler. The
rest of the project needs builder, so switching to VC++ is out of the
question.


Please, please, please -- nothing I have tried will make this work
reliably. Someone MUST have this working.


I've downloaded the latest windows libs. They crash with this stdio
linking thing. I've tried using the applink stuff to fix it and it
fixes some, but not all of the places things crash. It looks like it's
BIOs which are newed and then have "set_fd" called on them. But I
can't debug much deeper because there aren't apparently any debug
symbols in the borland libraries.

I've downloaded the source, but I can't build the libraries (which
would then mean they're linked against the same runtime). I can
configure it, and that looks fine, I can do the nasm stuff, and that
all looks fine, but the makefile produced contains multiple copies of
identical rules for files which chokes the compiler.

I've followed walkthroughs that people have posted; do this, do that,
run make. I get errors out along the lines of

"ms\bcb.mak:5036:warning: ignoring old commands for target `out32\bn.exe'"


How hard IS IT to build this thing under Windows?? For heaven's sake the
UNIX version just built and ran.. is this normal for Windows software??



Failing that, is there an alternative implementation of SSL/X509 that
is known to work under Windows.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Building the libraries with Borland Builder.

Andy Polyakov
> I'm a long time UNIX developer desperately trying to get OpenSSL to
> work on Windows with Borland Builder 6. I can't change compiler. The
> rest of the project needs builder, so switching to VC++ is out of the
> question.

Keep in mind that some OpenSSL targets are 100% community supported and
support for Borland compiler is one of them. This means that
target-specific fixes, such as scripts, are not actually tested by
OpenSSL team members, but applied in good faith based purely on
contributor's feedback. This is essentially why I won't try to answer
questions like "why bcb.mak won't work" or "is this normal for Windows."

> I've downloaded the latest windows libs. They crash with this stdio
> linking thing. I've tried using the applink stuff to fix it and it
> fixes some, but not all of the places things crash. It looks like it's
> BIOs which are newed and then have "set_fd" called on them.

Earlier you mentioned that your application works fine on Linux. Does
this code works there? I'm not acquainted with OpenSSL code I think you
refer to, but if BIO_new_fd from bss_fd.c is the one you refer to, then
it should crash on all platforms... Indeed, BIO_new_fd receives integer
fd, then passes it down to fd_ctrl, BIO_C_SET_FD, which essentially does
*((int *)fd). In other words you again apparently is hit by another
bug... A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Building the libraries with Borland Builder.

Andy Polyakov
>> I've downloaded the latest windows libs. They crash with this stdio
>> linking thing. I've tried using the applink stuff to fix it and it
>> fixes some, but not all of the places things crash. It looks like it's
>> BIOs which are newed and then have "set_fd" called on them.
>
> Earlier you mentioned that your application works fine on Linux. Does
> this code works there? I'm not acquainted with OpenSSL code I think you
> refer to, but if BIO_new_fd from bss_fd.c is the one you refer to, then
> it should crash on all platforms... Indeed, BIO_new_fd receives integer
> fd, then passes it down to fd_ctrl, BIO_C_SET_FD, which essentially does
> *((int *)fd). In other words you again apparently is hit by another
> bug...

Oh! I'm sorry, but I was wrong! It should *not* crash on all platforms.
And before fd gets to it passes &, so that *(int *) in OpenSSL code is
totally OK and is not a bug. You have to provide more details about your
application code then or figure it out yourself. A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Building the libraries with Borland Builder.

Katie Lucas
In reply to this post by Andy Polyakov
On Thu, Sep 29, 2005 at 07:32:53PM +0200, Andy Polyakov wrote:

> >I'm a long time UNIX developer desperately trying to get OpenSSL to
> >work on Windows with Borland Builder 6. I can't change compiler. The
> >rest of the project needs builder, so switching to VC++ is out of the
> >question.
>
> Keep in mind that some OpenSSL targets are 100% community supported and
> support for Borland compiler is one of them. This means that
> target-specific fixes, such as scripts, are not actually tested by
> OpenSSL team members, but applied in good faith based purely on
> contributor's feedback. This is essentially why I won't try to answer
> questions like "why bcb.mak won't work" or "is this normal for Windows."

Freakily, we've tried this out on other machines. On my dev machine
here, the perl scripts consistently make bad makefiles. On my other
half's dev machine at home, he gets valid makefiles from the same
script. Blerg. The difference is that he uses ActivePerl, whereas I've
also got Cygwin Perl installed and I'm wondering if some if the
process is using that perl. I can't believe that versions of perl will
execute scripts that differently, but possibly so.

So todays job is to see if I can build it using this new makefile..


When we get some spare time I'll have a look at why the Cygwin Perl
one doesn't do the right thing -- my bets are on some sort of file
pattern matching working differently because it's trying to fake a
UNIX response. (If we can get the lib working for the project I can
probably talk the boss into letting me spend time returning some
work).
 
> Earlier you mentioned that your application works fine on Linux. Does
> this code works there? I'm not acquainted with OpenSSL code I think you
> refer to, but if BIO_new_fd from bss_fd.c is the one you refer to, then
> it should crash on all platforms... Indeed, BIO_new_fd receives integer
> fd, then passes it down to fd_ctrl, BIO_C_SET_FD, which essentially does
> *((int *)fd). In other words you again apparently is hit by another
> bug... A.

The code works 100% swimmingly on Linux. Believe me, if I was working
on Linux I'd be a happy bunny. I'm frankly shocked by the state of
Windows development. No "strace", bizarre linking wierdnesses.. brr!


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]