Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: RE: NI4882 GPIB support for Linux 64bit?
From: Mark Rivers <rivers@cars.uchicago.edu>
To: Mark Rivers <rivers@cars.uchicago.edu>, 'Dennis Nicklaus' <nicklaus@fnal.gov>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Thu, 13 Jul 2017 18:31:35 +0000

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

 

 

From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Mark Rivers
Sent: Thursday, July 13, 2017 12:39 PM
To: 'Dennis Nicklaus'; tech-talk@aps.anl.gov
Subject: RE: NI4882 GPIB support for Linux 64bit?

 

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

 

 

From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Dennis Nicklaus
Sent: Thursday, July 13, 2017 11:49 AM
To: tech-talk@aps.anl.gov
Subject: NI4882 GPIB support for Linux 64bit?

 

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?

 


References:
NI4882 GPIB support for Linux 64bit? Dennis Nicklaus
RE: NI4882 GPIB support for Linux 64bit? Mark Rivers

Navigate by Date:
Prev: RE: ioc crashing while using asyn & modbus Mark Rivers
Next: EPICS Qt release 3.5.1 Andrew C. Starritt
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: RE: NI4882 GPIB support for Linux 64bit? Mark Rivers
Next: Re: NI4882 GPIB support for Linux 64bit? Dennis Nicklaus
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 14 Jul 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·