Re: pccs-lite 1.8.xx on Solaris 11

William To <[email protected]>
Newsgroups gmane.comp.lib.muscle
Message-ID <CAA9EAxU+91raV-WA=OCzwM8D9P=Ym9xyMzucJB6aC-+YjBRVCQ@mail.gmail.com>
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 <
[email protected]> wrote:

> 2016-05-13 7:58 GMT+02:00 William To <[email protected]>:
>
>> 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
> [email protected]
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
>

_______________________________________________
Pcsclite-muscle mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.