Dennis Clarke <[email protected]> writes:

> Looks like nettle 2.5 should build pretty much out of the box but the 
> Makefiles seem to have a few issues. 

Thanks for testing.

> First thing wrong there is that libgmp does exist just fine. 

To figure out why that configure check failed, you'll have to look in
config.log.

> ... and then link goes boom because of the totally missing options to the 
> compiler/linker : 
>
> /opt/solarisstudio12.3/bin/cc -I. -I/usr/local/include:/usr/sfw/include 
> -DHAVE_CONFIG_H -errfmt=error -erroff=%none -errshort=full -xstrconst 
> -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl 
> -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf 
> -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -D_TS_ERRNO 
> -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -KPIC -Bdynamic  -KPIC 
> -Bdynamic -c memxor.c -o memxor.po \
> && true
> /opt/solarisstudio12.3/bin/cc  -G -h libnettle.so.4 aes-decrypt-internal.po 
> aes-decrypt.po aes-encrypt-internal.po aes-encrypt.po aes-encrypt-table.po 
> aes-set-encrypt-key.po aes-set-decrypt-key.po aes-meta.po arcfour.po 
> arcfour-crypt.po arcfour-meta.po arctwo.po arctwo-meta.po base16-encode.po 
> base16-decode.po base16-meta.po base64-encode.po base64-decode.po 
> base64-meta.po camellia-crypt.po camellia-crypt-internal.po 
> camellia-set-encrypt-key.po camellia-set-decrypt-key.po camellia-table.po 
> camellia-meta.po cast128.po cast128-meta.po blowfish.po cbc.po ctr.po gcm.po 
> gcm-aes.po des.po des3.po des-compat.po hmac.po hmac-md5.po hmac-ripemd160.po 
> hmac-sha1.po hmac-sha224.po hmac-sha256.po hmac-sha384.po hmac-sha512.po 
> knuth-lfib.po md2.po md2-meta.po md4.po md4-meta.po md5.po md5-compress.po 
> md5-compat.po md5-meta.po ripemd160.po ripemd160-compress.po 
> ripemd160-meta.po salsa20-crypt.po salsa20-set-key.po sha1.po 
> sha1-compress.po sha1-meta.po sha256.po sha256-compress.po sha224-!
 me
> ta.po sha256-meta.po sha512.po sha512-compress.po sha384-meta.po 
> sha512-meta.po serpent-set-key.po serpent-encrypt.po serpent-decrypt.po 
> serpent-meta.po twofish.po twofish-meta.po yarrow256.po yarrow_key_event.po 
> buffer.po buffer-init.po realloc.po nettle-meta-hashes.po 
> nettle-meta-ciphers.po nettle-meta-armors.po write-be32.po write-le32.po 
> memxor.po -o libnettle.so 
> ld: fatal: file aes-decrypt-internal.po: wrong ELF class: ELFCLASS64
> ld: fatal: file processing errors. No output written to libnettle.so
> gmake[1]: *** [libnettle.so] Error 2
> gmake[1]: Leaving directory `/usr/local/build/nettle-2.5_sparcv9_001'
> gmake: *** [all] Error 2

If I understand you correctly, the main problem is the linker command
line, with -m64 being the most important missing option.

And indeed, $(CFLAGS) seems not to be included when building shared
libraries. IF you look in configure.in, and the definitions on
LIBNETTLE_LINK and LIBHOGWEED_LINK (a couple of different variants), one
would need to add $(CFLAGS) there. (Or of you want to workaround it
without touching configure.in, the definitions are substituted into
config.make). 

> what the heck is a po file ? 

Here, it's an object file compiled with compiler flags for position
independent code, suitable for a shared library.

> Anyways ... makefiles seem a bit off and a autoreconf --verbose --install may 
> be needed after a tweak to Makefile.am or similar. 

The intention is that there should be make rules for recreating anything
(assuming you ran configure before you started hacking). To generate
autoconf-related files from scrath, e.g., for a fresh checkout, you run
the small ./.bootstrap script, and then rerun configure.

There is no Makefile.am ;-). 

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to