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

William To william.to
Thu May 12 22:58:43 PDT 2016


Hi All,

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.

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?

For now, I would return to cc and see if the build is any different.

Thanks very much and Best Regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pcsclite-muscle/attachments/20160513/289954ed/attachment.html>



More information about the pcsclite-muscle mailing list