[Pcsclite-muscle] pccs-lite 1.8.xx on Solaris 11
William To
william.to
Sun May 15 19:27:01 PDT 2016
Hi All,
Is there also no fix for libusb 0.1 -> libusb 1.x upgrade that breaks
Solaris 11 builds?
Thanks very much and Best Regards
William To
On Mon, May 16, 2016 at 10:25 AM, William To <william.to at erg.com.hk> wrote:
> 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/a7be5b4f/attachment-0001.html>
More information about the pcsclite-muscle
mailing list