> Turns out, libgpib.so is in the same directory as libgpib.la
> (/usr/local/lib). So, I decided to set LD_LIBRARY_PATH to
> /usr/local/bin.
So it should be looking for /usr/local/lib/libgpib.so
> /home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/lib/linux-x86/libgpib.a:
> file not recognized: File format not recognized
But instead it is finding
/home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/lib/linux-x86/libgpib.a
Where did that libgpib.a file come from? Did you perhaps create it somehow when trying things with the .la file. Make sure that /home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/lib/linux-x86/libgpib.a does not exist.
Mark
________________________________
From: [email protected] on behalf of Jiro Fujita
Sent: Mon 7/16/2007 5:55 PM
To: Andrew Johnson; EPICS tech-talk
Subject: Re: Asyn 4.8 compile error with Linux GPIB
After I saw Guy's reply, I took a look at libgpib.la, and he is
correct. Turns out, libgpib.so is in the same directory as libgpib.la
(/usr/local/lib). So, I decided to set LD_LIBRARY_PATH to
/usr/local/bin.
This worked as far as the problem I had: I now do get pass libgpib.a
issue. However, I now get this error:
/usr/bin/ar -rc libasyn.a asynManager.o
epicsInterruptibleSyscall.o asynGpib.o drvAsynSerialPort.o
drvAsynIPPort.o drvAsynIPServerPort.o asynInt32Base.o
asynInt32SyncIO.o asynInt32ArrayBase.o asynUInt32DigitalBase.o
asynUInt32DigitalSyncIO.o asynFloat64Base.o asynFloat64SyncIO.o
asynFloat64ArrayBase.o asynOctetBase.o asynOctetSyncIO.o
asynCommonSyncIO.o asynShellCommands.o asynInterposeEos.o
asynInterposeFlush.o devAsynOctet.o asynEpicsUtils.o devAsynInt32.o
devAsynInt32Array.o devAsynUInt32Digital.o devAsynFloat64.o
devAsynFloat64Array.o asynRecord.o drvAsyn.o vxi11core_xdr.o
drvVxi11.o E5810Reboot.o E2050Reboot.o TDS3000Reboot.o devCommonGpib.o
devSupportGpib.o boSRQonOff.o drvLinuxGpib.o
/usr/bin/ranlib libasyn.a
Installing library ../../lib/linux-x86/libasyn.a
/usr/bin/ranlib ../../lib/linux-x86/libasyn.a
/usr/bin/g++ -o libasyn.so -shared -fPIC
-L/home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/lib/linux-x86
-L/home/sysuser/epics.3.14.9/base-3.14.9/lib/linux-x86/
-Wl,-rpath,/home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/lib/linux-x86
-Wl,-rpath,/home/sysuser/epics.3.14.9/base-3.14.9/lib/linux-x86/
asynManager.o epicsInterruptibleSyscall.o asynGpib.o
drvAsynSerialPort.o drvAsynIPPort.o drvAsynIPServerPort.o
asynInt32Base.o asynInt32SyncIO.o asynInt32ArrayBase.o
asynUInt32DigitalBase.o asynUInt32DigitalSyncIO.o asynFloat64Base.o
asynFloat64SyncIO.o asynFloat64ArrayBase.o asynOctetBase.o
asynOctetSyncIO.o asynCommonSyncIO.o asynShellCommands.o
asynInterposeEos.o asynInterposeFlush.o devAsynOctet.o
asynEpicsUtils.o devAsynInt32.o devAsynInt32Array.o
devAsynUInt32Digital.o devAsynFloat64.o devAsynFloat64Array.o
asynRecord.o drvAsyn.o vxi11core_xdr.o drvVxi11.o E5810Reboot.o
E2050Reboot.o TDS3000Reboot.o devCommonGpib.o devSupportGpib.o
boSRQonOff.o drvLinuxGpib.o -lrecIoc -lsoftDevIoc -liocsh -lmiscIoc
-lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc
-lca -lCom -lgpib -lpthread -lreadline -lcurses -lm -lrt -lgcc
/home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/lib/linux-x86/libgpib.a:
file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[2]: *** [libasyn.so] Error 1
make[2]: Leaving directory
`/home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/asyn/O.linux-x86'
make[1]: *** [install.linux-x86] Error 2
make[1]: Leaving directory
`/home/sysuser/epics.3.14.9/modules/soft/asyn4-8g/asyn'
make: *** [asyn.install] Error 2
Any ideas??
On 7/16/07, Andrew Johnson <[email protected]> wrote:
> Guy Jennings wrote:
> > If you look at the .la file with a text editor it should be
> > human-readable and
> > should contain a line like 'libdir=/usr/lib' which tells where libtool
> > thought
> > that the real .a (or .so) library was to be installed.
>
> Guy is correct; IIRC the .la file is actually a shell script which
> programs that use libtool seem to be able to use instead of a library
> somehow before they've been properly installed (it may be that this is
> only possible as a shared library). The real libgpib.a (or maybe
> libgpib.so) file should be available in a hidden directory inside the
> same directory where the .la file is - you'll have to use 'ls -a' to
> find that directory though as I don't remember what the naming
> convention is that it uses; its name might be mentioned in the .la file
> itself too.
>
> - Andrew
>
> > On Jul 16, 2007, at 4:03 PM, Jiro Fujita wrote:
> >
> >> I originally installed the driver from National Instrument. Then,
> >> when I realized that it appears that Asyn wants to use Linux GPIB
> >> package library, according to asynDriver documentation
> >> (http://www.aps.anl.gov/epics/modules/soft/asyn/R4-8/asynDriver.html#Linux-gpib),
> >>
> >> I downloaded linux-gpib-3.2.09, did make and make install.
> >> I don't see libgpib.a anywhere on my machine: not in the same
> >> directory as libgpib.la nor where I compiled.
> >> It appears that at some point, libgpib.a has gotten renamed to
> >> libgpib.la in Linux GPIB package library. There has been some
> >> references of libgpib.a in older Linux GPIB package library (at least
> >> old version, I see a reference of it).
> >> I have not tracked down far enough to see where the reference to
> >> libgpib.a is made in Asyn (the assumption is that I need to change a
> >> few lines somewhere).
> >>
> >>
> >> On 7/16/07, Andrew Johnson <[email protected]> wrote:
> >>> Hi,
> >>>
> >>> Jiro Fujita wrote:
> >>> > I have been trying to compile Asyn 4-8 with Linux GPIB support. I am
> >>> > using a National Instrument PCI GPIB card with EPICS Base 3.14.9 on a
> >>> > Scientific Linux 4.2. The card is recognized by the system. I have
> >>> > installed linux-gpib-3.2.09.
> >>> > When I try to compile Asyn, I get the following error:
> >>>
> >>> ...
> >>>
> >>> > I looked for libgpib.a, but I don't see it on my machine. Instead, I
> >>> > find libgpib.la. Does anybody have an idea how to fix this??
> >>>
> >>> I have no experience with your specific problem, but I do know that a
> >>> libXXX.la file is usually a version of a library created by an
> >>> application that uses GNU libtool before it is installed using 'make
> >>> install'.
> >>>
> >>> Did you compile the National Instruments libgpib.la program yourself?
> >>> If so, try doing a 'make install' in that directory which in my
> >>> experience will cause the appropriate libgpib.a file to be created and
> >>> installed in the appropriate location. If you can't do that because you
> >>> don't have write access to the target directory you might need to re-run
> >>> the ./configure program in the GPIB build area specifying a
> >>> --prefix=/path/to/somewhere.
> >>>
> >>> As an alternative, you can try looking for a hidden directory in the
> >>> same directory as the libgpib.la file which I think will contain the
> >>> actual libgpib.a file that you're looking for.
> >>>
> >>> HTH,
> >>>
> >>> - Andrew
> >>> --
> >>> The right to be heard does not automatically include
> >>> the right to be taken seriously. -- Hubert H. Humphrey
> >>>
> >
>
>
> --
> The right to be heard does not automatically include
> the right to be taken seriously. -- Hubert H. Humphrey
>
- Replies:
- Re: Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- References:
- Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- Re: Asyn 4.8 compile error with Linux GPIB Andrew Johnson
- Re: Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- Re: Asyn 4.8 compile error with Linux GPIB Guy Jennings
- Re: Asyn 4.8 compile error with Linux GPIB Andrew Johnson
- Re: Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- Navigate by Date:
- Prev:
Re: Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- Next:
Re: Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- 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
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- Next:
Re: Asyn 4.8 compile error with Linux GPIB Jiro Fujita
- 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
2018
2019
2020
2021
2022
2023
2024
|