Sorry, I spoke too soon. I see you do have the 64-bit version of many of the libraries, just not libgpibapi.so.
When I search the asyn Makefiles for references to the gpibapi library I don't find any.
corvette:~/devel/asyn>find . -name Makefile -exec grep -H gpib {} \;
./asyn/Makefile: asyn_SYS_LIBS += gpib
It is only linking with libgpib.so, which does not even exist in the directories you listed.
Can you send the complete output when you
point the asyn Makefile at /usr/local/natinst/ni4882/lib64 and it fails?
Mark
Hi Dennis,
If you don't have a 64-bit NI library then yes, you can only build for linux-x86, not linux-x86_64.
However, on National Instruments downloads site I found the following:
***********************************************
What is new in NI-488.2 for Linux 3.2
General enhancements and bug fixes.
Updated Linux distribution support.
Modified the integer types used in ni4882.h and libni4882.so. All uses of 'unsigned long' have been replaced with 'unsigned int' to improve compatibility with 64-bit compilers. This API has never
been documented with prior versions of NI-488.2 for Linux, but ni4882.h and a 32-bit version of libni4882.so were installed on the system. Any user utilizing these files should update their applications according to the updated function prototypes in ni4882.h.
This change does not impact ni488.h or libgpibapi.so.
Added 64-bit Application Interface. NI-488.2 for Linux, Version 3.2, adds a 64-bit application interface that allows users to create 64-bit applications using libni4882.so. Using the 32-bit version
of libni4882.so, users can use the same NI4882 API to build corresponding 32-bit applications with no source code changes. For more information about the new NI4882 API, refer to the NI-488.2 Help. You can access NI-488.2 Help from GPIB Explorer. To start
GPIB Explorer from a terminal, enter the following command, /usr/local/bin/gpibexplorer. In GPIB Explorer, select Help>>NI-488.2 Help from the menu bar.
***********************************************
So this says that version 3.2 has a 64-bit API.
Mark
I'm trying to build asyn support for arch = linux-x86_64 to use with GPIB over ethernet.
I seem to be bumping into a problem where it is looking for libgpibapi.a and that library only exists in the 32bit NI library:
$ ls /usr/local/natinst/ni4882/lib
cib.o liblvgpibconf.so.15.1.0* libniGPIBsys.so.15.1.0*
libgpibapi.so.15.1.0* libni4882.so.15.1.0* ni4882.o
libgpibenumsvc.so.15.1.0* libni488config.so.15.1.0*
ls /usr/local/natinst/ni4882/lib64
libni4882.so.15.1.0* libni488config.so.15.1.0* libniGPIBsys.so.15.1.0* ni4882.o
If I point the asyn Makefile at /usr/local/natinst/ni4882/lib64, it complains it can't find libgpibapi.a and if I point it at /usr/local/natinst/ni4882/lib (32 bit version), it rightly complains that libgpibapi.so is incompatible.
Am I forced to build everything for 32bit if I need GPIB asyn?