I have a particular problem I need solved right now, but I'd really like to know a good strategy for approaching this type of problem - segmentation faults when compiling other people's code, so I'm happy for either particular or general type answers.
The particulars
I'm trying to install OpenSSL 1.0.1g on a Synology DS412+. The version of GCC I've got (v4.2.1) doesn't have 64bit compiled in, which OpenSSL complains about:
$ ./config --prefix=/opt \
--openssldir=/etc/ssl \
--libdir=lib \
shared \
zlib-dynamic
$ make
snip!
cryptlib.c:1: sorry, unimplemented: 64-bit mode not compiled in
cryptlib.c: In function 'OPENSSL_ia32cap_loc':
cryptlib.c:677: warning: dereferencing type-punned pointer will break strict-ali
asing rules
make[1]: *** [cryptlib.o] Error 1
So, I'm trying to install GCC 4.8.2 (I've tried several versions now) and each time it appears to fail in the GMP portion of the make. It's happened so much I decided to download GMP and try compiling that:
$ ./configure --prefix=/opt --build=i386-pc-linux-gnu
$ make
./gen-fac 32 0 >fac_table.h || (rm -f fac_table.h; exit 1)
/opt/bin/bash: line 1: 20507 Segmentation fault (core dumped) ./gen-fac 32
0 > fac_table.h
make: *** [fac_table.h] Error 1
I'm not a C programmer, and this isn't even my code so the likelihood of me whipping out Valgrind to inspect the core is low. I've had this happen plenty of times compiling libraries, and learning C isn't something that's on my priority list. Are there alternatives to...?
- learning C
- asking on a forum/mailing list
The only package manager I have got access to is ipkg, and it provided the GCC that's not up to full muster. Could I set up a VM, build a binary for ipkg and put it on the DS412? Having not done something like that before, I don't know how feasible it is.
Any help or insight is much appreciated.