EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Linux question
From: Guy Jennings <[email protected]>
To: Mark Rivers <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Thu, 6 Aug 2009 11:35:21 -0500
As an aside, if you build epics using the rpm build system this kind of problem is handled automatically
by the package dependency resolution system.

On Aug 6, 2009, at 10:01 AM, Mark Rivers wrote:

Thanks for the online and offline replies.

My original post had an error: the older Linux system was 32-bit, not 64-bit.

The problem was missing 32-bit libraries on the new 64-bit Fedora Core 10 system. The error message certainly could have been clearer than "Command not found", that's for sure!

Once I installed the following packages I was able to run 32-bit binaries that were already built on the other Linux system, as well as run "make" to build 32-bit linux-x86 binaries on the new 64-bit system.

   116  9:45    sudo yum install glibc-devel.i386
   124  9:48    sudo yum install readline-devel.i386
   127  9:49    sudo yum install ncurses-devel.i386
   130  9:50    sudo yum install libstdc++-devel.i386

Thanks,
Mark


________________________________

From: ZY (Zhijian Yin) [mailto:[email protected]]
Sent: Thu 8/6/2009 9:31 AM
To: Mark Rivers
Cc: [email protected]
Subject: Re: Linux question



Mark,

I think you need to install the i386/i686 compatibility libraries on the
64bit Linux machine. Do you have library files (libreadline.so.5, for
example) in /usr/lib32 or /lib32?

It's probably easier to compile a separate binary for the 64bit Linux.


ZY


Mark Rivers wrote:
Folks,

This is not exactly an EPICS-specific question, but I'm having trouble running EPICS binaries built on one recent Linux system on another recent Linux system. It just gives a "command not found" error, which is not very helpful. Both systems are Fedora 64-bit; the binary is built with HOST_ARCH=linux-x86, e.g. 32-bit.

Here is an example. I am trying to run a soft IOC in the current directly. First I run "file" and "ldd" on it, then try to run it:

[epics@localhost linux-x86]$ file ./simDetectorApp
./simDetectorApp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

[epics@localhost linux-x86]$ ldd ./simDetectorApp
        not a dynamic executable

[epics@localhost linux-x86]$ ./simDetectorApp
./simDetectorApp: Command not found.

Note that ldd says this is not a dynamic executable, which is incorrect.

Here is the version information on the system where the binary was built and where the executable resides:

corvette:1-5beta/ADApp/simDetectorSrc>more /proc/version
Linux version 2.6.27.21-78.2.41.fc9.i686 (mockbuild@) (gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC) ) #1 SMP Mon Mar 23 23:45:58 EDT 2009

Here is the version information on the system that will not run the binary:
[epics@localhost linux-x86]$ more /proc/version
Linux version 2.6.27.25-170.2.72.fc10.x86_64 ([email protected]) (gcc version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC) ) #1 SMP Sun Jun 21 18:39:34 EDT 2009


If I run "file" and "ldd" on the file on the system that builds it and runs it OK I get the following:

corvette:1-5beta/bin/linux-x86>file simDetectorApp
simDetectorApp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

corvette:1-5beta/bin/linux-x86>ldd simDetectorApp
        linux-gate.so.1 =>  (0x0035b000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x003b3000)
        libreadline.so.5 => /lib/libreadline.so.5 (0x05ac2000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x05f3b000)
        librt.so.1 => /lib/librt.so.1 (0x004c8000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x066c5000)
        libm.so.6 => /lib/libm.so.6 (0x00363000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x066b5000)
        libc.so.6 => /lib/libc.so.6 (0x004d2000)
        /lib/ld-linux.so.2 (0x001d8000)
        libtinfo.so.5 => /lib/libtinfo.so.5 (0x05c57000)
        libdl.so.2 => /lib/libdl.so.2 (0x0038e000)
corvette:1-5beta/bin/linux-x86>./simDetectorApp

Any idea what could be wrong?

Thanks,
Mark










References:
Linux question Mark Rivers
Re: Linux question ZY (Zhijian Yin)
RE: Linux question Mark Rivers

Navigate by Date:
Prev: RE: Linux question Mark Rivers
Next: RE: CA reconnection problem Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Linux question Mark Rivers
Next: RE: Linux question Ernest L. Williams
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·