[Pcsclite-muscle] pccs-lite 1.8.xx on Solaris 11

William To william.to
Sun May 15 19:25:07 PDT 2016


Hi All,

I am building pcsc-lite on Solaris 11 because Oracle's version only works
on Solaris 10, but not on 11. I don't know why because I gave up trying to
make it work.

It seems the Solaris-specific version added a lot of code to handle their
network stuff, and were broken on Solaris 11.

So that's why I need to build it myself.

Regards

William To



On Fri, May 13, 2016 at 7:55 PM, Ludovic Rousseau <
ludovic.rousseau at gmail.com> wrote:

> 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
>
> _______________________________________________
> Pcsclite-muscle mailing list
> Pcsclite-muscle at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pcsclite-muscle/attachments/20160516/5588d7cb/attachment.html>



More information about the pcsclite-muscle mailing list