Thrift D bindings: make check broken under ubuntu 12.04. Where to report?
J
notavail at notavailable.com
Mon Mar 25 11:43:11 PDT 2013
Where or to whom should I report a bug in the thrift D bindings?
In recent ubuntu, the maintainers inexplicably changed the linker
(ld) defaults to --as-needed, which breaks the 'make check' for
Thrifts D binding, presumably because they are using some kind of
'indirect' linking.
reproduction:
~/pkg/thrift/thrift/lib/d$ make check # using dmd 2.062 on
x86_64. (thrift at a recent version; 3c434ab87d).
...
dmd -gc -ofunittest/debug/thrift/server/transport/ssl -unittest
-w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto
src/thrift/server/transport/ssl.d libthriftd-event.a
libthriftd-ssl.a libthriftd.a unittest/emptymain.d
libthriftd-ssl.a(ssl_3cd_3af.o): In function
`_D6thrift9transport3ssl10TSSLSocket6isOpenMFNdZb':
src/thrift/transport/ssl.d:(.text._D6thrift9transport3ssl10TSSLSocket6isOpenMFNdZb+0x71):
undefined refe\
rence to `SSL_get_shutdown'
...
I can fix this by
1. putting "DFLAGS_PRE=-L--no-as-needed" in dmd.conf and using a
dmd branch that makes DFLAGS_PRE work:
https://github.com/glycerine/dmd/tree/fix_9805 All this does is
pre-pend (instead of append) the contents of DFLAGS_PRE to the
dmd command line.
or
2. manually compiling with dmd --no-as-needed ... (which is
painful, hence the #1 step above is vastly preferred)
but somebody smarter than me should probably have a look at the
linking in the 'make check' for D's thrift bindings and try to
make it work even without --no-as-needed.
-J
More information about the Digitalmars-d-learn
mailing list