2

I'm trying to build openssl 1.0.1g with NetBurner NNDK 2.6.2 under Cygwin. I know this isn't supported out of the box, so I added this line to Configure (options are a mix of the openssl basic "gcc" config options and the NNDK options - not sure if this is valid):

"NetBurner", "m68k-elf-gcc:-v -Wall -Os::(unknown):::BN_LLONG::: -falign-functions=4 -Wno-write-strings -c -fmessage-length=0",

I ran Configure:

Configure NetBurner no-asm no-shared no-threads no-zlib

Configure output didn't mention any errors, and ended with "Configured for NetBurner.". Then I ran make and it fails to build crypto. Header search paths (NNDK includes omitted for brevity):

#include "..." search starts here:
#include <...> search starts here:
.
..
../include

and here's the first of many compiler errors:

In file included from cryptlib.h:65,
             from cryptlib.c:117:
../e_os.h:62:33: error: openssl/opensslconf.h: No such file or directory
../e_os.h:64:27: error: openssl/e_os2.h: No such file or directory

I have not changed the directory structure or moved files from the tarball. The openssl-1.0.1g directory contains e_os.h (where I'm running make from), and openssl-1.0.1g/include/openssl contains a link:

lrwxrwxrwx 1 opensslconf.h -> ../../crypto/opensslconf.h

Following that two levels up and into the crypto directory, opensslconf.h exists. I've tried manually adding -I include paths to GCC, but no luck.

Nobody Special
  • 1,255
  • 1
  • 10
  • 14

1 Answers1

2

This was a Cygwin problem. My CYGWIN environment variable was set to winsymlinks, which according to the docs creates Windows shortcut files for symlinks, as opposed to native Windows symlinks:

winsymlinks:{lnk,native,nativestrict} - if set to just winsymlinks or winsymlinks:lnk, Cygwin creates symlinks as Windows shortcuts with a special header and the R/O attribute set.

If set to winsymlinks:native or winsymlinks:nativestrict, Cygwin creates symlinks as native Windows symlinks on filesystems and OS versions supporting them. If the OS is known not to support native symlinks (Windows XP, Windows Server 2003), a warning message is produced once per session.

I changed the CYGWIN environment variable to winsymlinks:native, restarted Cygwin, and extracted the tarball a second time. Now the Cygwin symlinks are actual Windows symlinks, and the preprocessor found those files.

Nobody Special
  • 1,255
  • 1
  • 10
  • 14