[Pcsclite-muscle] pccs-lite 1.8.xx on Solaris 11
Ludovic Rousseau
ludovic.rousseau
Fri May 13 04:55:44 PDT 2016
2016-05-13 7:58 GMT+02:00 William To <william.to at erg.com.hk>:
> Hi All,
>
Hello,
>
> Previously I did successfully built pcsc-lite 1.6.1 and ccid-1.3.13 under
> Solaris 11 using the Sun Developer Studio compiler (cc). Since then, there
> is a new requirement to use an USB PC/SC card reader that is not supported
> by ccid-1.3.13 and is only supported at later versions. So I have decided
> to try build pcsc-lite 1.8.14 and ccid 1.4.21 under Solaris 11. This time I
> decided to ditch cc and use gcc 4.9.2 from opencsw instead.
>
> Here the brick walls I am hitting now :
>
> 1. Using the following configuration options :
> env MAKE=gmake NM=gnm STRIP=gstrip RANLIB=granlib
> LIBUSB_CFLAGS="-I/usr/include" LIBUSB_LIBS="-L/usr/lib -lusb"
> SYMBOL_VISIBILITY="-fvisibility=default" ./configure --prefix=/usr/local
> --enable-debugatr --disable-libusb
> (libusb on Solaris 11.3 seems incompatible with pcsc-lite so I had to
> disable it)
>
> When I build with "gmake" afterwards, this is what I got:
>
> Undefined first referenced
> symbol in file
> SCardListReaders testpcsc.o
> SCardSetAttrib testpcsc.o
> SCardGetAttrib testpcsc.o
> g_rgSCardRawPci testpcsc.o
> SCardReconnect testpcsc.o
> SCardFreeMemory testpcsc.o
> SCardDisconnect testpcsc.o
> SCardReleaseContext testpcsc.o
> SCardIsValidContext testpcsc.o
> SCardEstablishContext testpcsc.o
> SCardGetStatusChange testpcsc.o
> SCardListReaderGroups testpcsc.o
> SCardStatus testpcsc.o
> pcsc_stringify_error testpcsc.o
> SCardControl testpcsc.o
> SCardConnect testpcsc.o
> g_rgSCardT1Pci testpcsc.o
> g_rgSCardT0Pci testpcsc.o
> SCardTransmit testpcsc.o
>
> Using objdump I can see that the libpcsclite.so.1 just built hides the
> symbols above. So problem 1 is how should I configure the build so that gcc
> will not hide the symbols by default? I tried the
> "SYMBOL_VISIBILITY="-fvisibility=default" and that does not work.
>
This problem was also reported in
https://github.com/LudovicRousseau/PCSC/issues/4
A possible fix is
https://github.com/risto3/PCSC/commit/2176d782188a9ff4453ae24556a340b2c8f549cf
I have not yet tested and integrated it (no free time).
Does it work for you?
After changing the src/Makefile to stop hiding the symbols, the build can
> continue, and then hit this brick wall:
>
> CC pcscd-configfile.o
> configfile.l: In function ?DBGetReaderListDir?:
> configfile.l:295:16: error: ?struct dirent? has no member named ?d_type?
> if (direntry->d_type == DT_UNKNOWN)
> ^
> configfile.l:295:28: error: ?DT_UNKNOWN? undeclared (first use in this
> function)
> if (direntry->d_type == DT_UNKNOWN)
> ^
> configfile.l:295:28: note: each undeclared identifier is reported only
> once for each function it appears in
> configfile.l:314:17: error: ?struct dirent? has no member named ?d_type?
> if (direntry->d_type != DT_REG)
> ^
> configfile.l:314:29: error: ?DT_REG? undeclared (first use in this
> function)
> if (direntry->d_type != DT_REG)
>
>
> Problem 2 is I think the dirent.h under Solaris 11 is incompatible with
> the pcscd-config file. Is there anything I can do about this?
>
Fixed upstream in
https://github.com/LudovicRousseau/PCSC/commit/fa52ae4e1f1ae3c35596e9aedaa3ce30fc5ceef9
Why are people building pcsc-lite on Solaris?
Oracle (ex-Sun) does not provide its own version of pcsc-lite any more?
Bye
--
Dr. Ludovic Rousseau
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pcsclite-muscle/attachments/20160513/84b8b516/attachment.html>
More information about the pcsclite-muscle
mailing list