Operating System - HP-UX
1849796 Members
2537 Online
104044 Solutions
New Discussion

Re: gcc for 64 bit compilation error.

 
ambika_1
Frequent Advisor

gcc for 64 bit compilation error.

Hi,
I am using hpux 11.23 pa machine to build opensc internet express product using 64 bit gcc complier.
While gmake its giving following error.

gcc -shared -Wl,+h -Wl,libifd.sl.1 -o .libs/libifd.sl.1.0 .libs/apdu.o .libs/atr.o .libs/checksum.o .libs/conf.o .libs/ctbcs.o .libs/device.o
.libs/driver.o .libs/init.o .libs/locks.o .libs/manager.o .libs/modules.o .libs/pcmcia.o .libs/process.o .libs/protocol.o .libs/reader.o .lib
s/serial.o .libs/usb.o .libs/usb-descriptors.o .libs/utils.o .libs/ifd-cardman.o .libs/ifd-ccid.o .libs/ifd-cm4000.o .libs/ifd-egate.o .libs/i
fd-etoken.o .libs/ifd-eutron.o .libs/ifd-gempc.o .libs/ifd-ikey2k.o .libs/ifd-ikey3k.o .libs/ifd-kaan.o .libs/ifd-smartboard.o .libs/ifd-towit
oko.o .libs/proto-gbp.o .libs/proto-sync.o .libs/proto-t0.o .libs/proto-t1.o .libs/proto-trans.o .libs/sys-sunray.o .libs/sys-solaris.o .libs/
sys-bsd.o .libs/sys-linux.o .libs/sys-null.o .libs/ria.o .libs/libifd.lax/libscdl.a/scdl.o +b /tmp/opensc64/openct-0.6.5/src/ct/.libs:/opt/i
express/opensc/lib ../ct/.libs/libopenct.sl -ldl -lpthread -lc -mpa-risc-2-0 -Wl,+nodefaultrpath
gcc: +b: No such file or directory
gcc: /tmp/opensc64/openct-0.6.5/src/ct/.libs:/opt/iexpress/opensc/lib: No such file or directory
gmake[3]: *** [libifd.la] Error 1
gmake[3]: Leaving directory `/tmp/opensc64/openct-0.6.5/src/ifd'
gmake[2]: *** [all-recursive] Error 1

Please help me regarding the same.

Cheer
Ambika
6 REPLIES 6
Arunvijai_4
Honored Contributor

Re: gcc for 64 bit compilation error.

Hi Ambika,

You may need to edit the libtool in order to generate the correct object files and directory.

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
Vibhor Kumar Agarwal
Esteemed Contributor

Re: gcc for 64 bit compilation error.

Does this directory exist:
/tmp/opensc64/openct-0.6.5/src/ct/.libs:/opt/iexpress/opensc/lib

What does +b option mean?
Vibhor Kumar Agarwal
ambika_1
Frequent Advisor

Re: gcc for 64 bit compilation error.

Hi,
Even i to dont have idea of +b option. I got code from opensource.
1) /tmp/opensc64/openct-0.6.5/src/ct/.libs
2) /opt/iexpress/opensc/lib
These direcotries exists seperatly.


What changes we should make in libtool file?
Arunvijai_4
Honored Contributor

Re: gcc for 64 bit compilation error.

Hi Ambika,

Try to change gcc to ld.. I think, +b is used to build shared libraries.

gcc -shared -Wl,+h -Wl,libifd.sl.1 -o .libs/libifd.sl.1.0 .libs/apdu.o .libs/atr.o .libs/checksum.o .libs/conf.o .libs/ctbcs.o .libs/device.o
.libs/driver.o .libs/init.o .libs/locks.o .libs/manager.o .libs/modules.o .libs/pcmcia.o .libs/process.o .libs/protocol.o .libs/reader.o .lib
s/serial.o .libs/usb.o .libs/usb-descriptors.o .libs/utils.o .libs/ifd-cardman.o .libs/ifd-ccid.o .libs/ifd-cm4000.o .libs/ifd-egate.o .libs/i
fd-etoken.o .libs/ifd-eutron.o .libs/ifd-gempc.o .libs/ifd-ikey2k.o .libs/ifd-ikey3k.o .libs/ifd-kaan.o .libs/ifd-smartboard.o .libs/ifd-towit
oko.o .libs/proto-gbp.o .libs/proto-sync.o .libs/proto-t0.o .libs/proto-t1.o .libs/proto-trans.o .libs/sys-sunray.o .libs/sys-solaris.o .libs/
sys-bsd.o .libs/sys-linux.o .libs/sys-null.o .libs/ria.o .libs/libifd.lax/libscdl.a/scdl.o +b /tmp/opensc64/openct-0.6.5/src/ct/.libs:/opt/i
express/opensc/lib ../ct/.libs/libopenct.sl -ldl -lpthread -lc -mpa-risc-2-0 -Wl,+nodefaultrpath

to

ld -shared -Wl,+h -Wl,libifd.sl.1 -o .libs/libifd.sl.1.0 .libs/apdu.o .libs/atr.o .libs/checksum.o .libs/conf.o .libs/ctbcs.o .libs/device.o
.libs/driver.o .libs/init.o .libs/locks.o .libs/manager.o .libs/modules.o .libs/pcmcia.o .libs/process.o .libs/protocol.o .libs/reader.o .lib
s/serial.o .libs/usb.o .libs/usb-descriptors.o .libs/utils.o .libs/ifd-cardman.o .libs/ifd-ccid.o .libs/ifd-cm4000.o .libs/ifd-egate.o .libs/i
fd-etoken.o .libs/ifd-eutron.o .libs/ifd-gempc.o .libs/ifd-ikey2k.o .libs/ifd-ikey3k.o .libs/ifd-kaan.o .libs/ifd-smartboard.o .libs/ifd-towit
oko.o .libs/proto-gbp.o .libs/proto-sync.o .libs/proto-t0.o .libs/proto-t1.o .libs/proto-trans.o .libs/sys-sunray.o .libs/sys-solaris.o .libs/
sys-bsd.o .libs/sys-linux.o .libs/sys-null.o .libs/ria.o .libs/libifd.lax/libscdl.a/scdl.o +b /tmp/opensc64/openct-0.6.5/src/ct/.libs:/opt/i
express/opensc/lib ../ct/.libs/libopenct.sl -ldl -lpthread -lc -mpa-risc-2-0 -Wl,+nodefaultrpath

Just give a try, i dont have a build machine to verify..

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
rick jones
Honored Contributor

Re: gcc for 64 bit compilation error.

From the looks of things it appears that gcc thought that "+b" was a file it was to open rather than an option to it or the linker. Probably because it appears in the middle of the list of objects?

Did you happen to edit the makefiles yourself, or set any environment variables?
there is no rest for the wicked yet the virtuous have no pillows
H.Merijn Brand (procura
Honored Contributor

Re: gcc for 64 bit compilation error.

From the 'ld' man page:

--8<---
+b path_list Specify a colon-separated list of directories to
be searched at program run-time to locate shared
libraries needed by the executable output file
that were specified with either the -l or -l:
options. This list of directories becomes the
embedded path. If either +b is not used or if you
specify a single colon (:) as the argument, ld
builds an embedded path using all the directories
specified by the -L option(s) and the LPATH
environment variable (see the +s option).
-->8---

So, just strip that from the command, and add that later with the 'chatr' command.
For the misleading info of the previous poster: [b] -b [/b] (with a MINUS) is to generate shared objects, [b] +b path [/b] (with a PLUS) is to specify a search path

Enjoy, Have FUN! H.Merijn [ who HATES libtool ]
Enjoy, Have FUN! H.Merijn