[erlang-questions] Erlang crypto_drv in R13B02/03 fails to load on amd64-Solaris2.10

Per Hedeland per@REDACTED
Mon Nov 23 21:46:46 CET 2009


Peter-Henry Mander <phmander@REDACTED> wrote:
>
>The wrapper script detects the presence of -64 and -G flags, and
>substitutes the Solaris 'ld' for any occurances of 'gcc' where these
>flags exist:
>
>Original: /Software/Tools-64/gcc \
>  -64 -G \
>  -o ../priv/lib/i386-pc-solaris2.10/crypto_drv.so \
>  ../priv/obj/i386-pc-solaris2.10/crypto_drv.o \
>  /Software/openssl-0.9.8i/lib/libcrypto.a
>Modified: /usr/ccs/bin/ld   \
>  -64 -G \
>  -o ../priv/lib/i386-pc-solaris2.10/crypto_drv.so \
>  ../priv/obj/i386-pc-solaris2.10/crypto_drv.o \
>  /Software/openssl-0.9.8i/lib/libcrypto.a
>
>The build completes without error, but the original problem remains:
>> ~/R13B03/bin/erl
>Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:8:8] [rq:8]
>[async-threads:0] [kernel-poll:false]

Perhaps you need to take a step back here - what does

  file .../priv/obj/i386-pc-solaris2.10/crypto_drv.o

say? From my reading of the Solaris 'ld' man page, -64 shouldn't be
needed - but it might possibly "mask" the mistake of trying to build a
64-bit shared object from a 32-bit "unshared" object.

--Per


More information about the erlang-questions mailing list