LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Fedora
User Name
Password
Fedora This forum is for the discussion of the Fedora Project.

Notices


Reply
  Search this Thread
Old 04-07-2006, 06:38 AM   #1
blas
Member
 
Registered: Apr 2003
Distribution: fc5, ubuntu, rhel
Posts: 59

Rep: Reputation: 15
run app under different glibc environment


Hi

I need to execute a program which uses Linux Threads under FC5, as documented here https://www.redhat.com/archives/fedo.../msg00217.html the new GLIBC 2.4.4-4 doesn't have Linux Threads, FC5 replaced it with the new thread library implementation called "NPTL".
As a result, applications which try to use the old threading methods will experience
"failure to communicate"

Goggling around I found that here is a feature of glibc that allows running an app under a completely different glibc. This feature is used when testing a new glibc. Invoke ld-linux directly and specify "--library-path listf:directories" (which overrides LD_LIBRARY_PATH for this execve only) before the rest of the command line:

/path/to/old/glibc/ld-linux.so.2 --library-path /path/to/old/glibc:$LD_LIBRARY_PATH app

I have a copy of glibc 2.3.2 under /opt/glibc_antiguo

When I try: /opt/glibc_antiguo/lib/ld-linux.so.2 --library-path /opt/glibc_antiguo/lib /home/ora10g/client10gR2/bin/oemapp console

This is the result:
/home/ora10g/client10gR2/bin/oemapp: error while loading shared libraries: /home/ora10g/client10gR2/bin/oemapp: invalid ELF header

Of course the app is not loaded...

Does anyone know the solution or another workaround to execute an app which needs Linux Threads under FC5?

Thanks in advance
Regards
 
Old 04-07-2006, 06:59 AM   #2
Lenard
Senior Member
 
Registered: Dec 2005
Location: Indiana
Distribution: RHEL/CentOS/SL 5 i386 and x86_64 pata for IDE in use
Posts: 4,790

Rep: Reputation: 58
Install the compat-gcc and related rpm packages, for example;

http://download.fedora.redhat.com/pu...5.fc5.i386.rpm

yum install compat-gcc
 
Old 04-07-2006, 07:32 AM   #3
blas
Member
 
Registered: Apr 2003
Distribution: fc5, ubuntu, rhel
Posts: 59

Original Poster
Rep: Reputation: 15
installed compat-gcc but same error

thanks
 
Old 04-07-2006, 07:41 AM   #4
win32sux
LQ Guru
 
Registered: Jul 2003
Location: Los Angeles
Distribution: Ubuntu
Posts: 9,870

Rep: Reputation: 380Reputation: 380Reputation: 380Reputation: 380
what does ldd show??
Code:
ldd /home/ora10g/client10gR2/bin/oemapp
 
Old 04-07-2006, 07:43 AM   #5
blas
Member
 
Registered: Apr 2003
Distribution: fc5, ubuntu, rhel
Posts: 59

Original Poster
Rep: Reputation: 15
it shows: not a dynamic executable
 
Old 04-07-2006, 07:48 AM   #6
win32sux
LQ Guru
 
Registered: Jul 2003
Location: Los Angeles
Distribution: Ubuntu
Posts: 9,870

Rep: Reputation: 380Reputation: 380Reputation: 380Reputation: 380
okay... so is it like a shell script?? which executable(s) is the shell script executing?? how are those executables linked (check with ldd)?? can we see the script??
 
Old 04-07-2006, 08:02 AM   #7
blas
Member
 
Registered: Apr 2003
Distribution: fc5, ubuntu, rhel
Posts: 59

Original Poster
Rep: Reputation: 15
yes, it's a shell script. It executes a java app with "java" command

output for: ldd /usr/bin/java

linux-gate.so.1 => (0x00414000)
libc.so.6 => /lib/libc.so.6 (0x00432000)
/lib/ld-linux.so.2 (0x00415000)

script contents: /home/ora10g/bin/oemapp


Code:
#!/bin/sh
#
# Copyright (c) 1998, 2004, Oracle. All rights reserved.
#
# PRODUCT
#       Oracle Enterprise Manager, Version 9.2.0.0.0 Production
#
# FILENAME
#   oemapp
#
# DESCRIPTION
#   This script is used to launch Applications of Oracle
#   Enterprise Manager, Version 9
#

ORACLE_HOME=/home/ora10g/client10gR2
export ORACLE_HOME

ADMIN_WRL=/etc/ORACLE/WALLETS/CA
export ADMIN_WRL

unset JAVA_HOME

#For fixing problem launching netscape in console on Solaris
if [ "$LANG" = "C" ]
then
    unset LANG
fi

if [ "$1" = "trace" -o "$1" = "TRACE" -o "$1" = "debug" -o "$1" = "DEBUG" ]
then
    TRACE="-DTRACING.LEVEL=2 -DTRACING.ENABLED=true"
    shift
fi


CLASSROOT=$ORACLE_HOME/classes
JLIBROOT=$ORACLE_HOME/jlib
NETJLIBROOT=$ORACLE_HOME/network/jlib
OEMCLASSES=$JLIBROOT/oembase-10_1_0.jar:$JLIBROOT/oemtools-10_1_0.jar:$JLIBROOT/oemlt-10_1_0.jar
BALICLASSES=$JLIBROOT/swingall-1_1_1.jar:$JLIBROOT/ewtcompat-3_3_15.jar:$JLIBROOT/ewt3.jar:$JLIBROOT/ewt3-nls.jar:$JLIBROOT/share.jar:/home/ora10g/client10gR2/sysman/jlib/master.jar:/home/ora10g/client10gR2/sysman/jlib/master_zh_CN.jar:/home/ora10g/client10gR2/sysman/jlib/master_fr.jar:/home/ora10g/client10gR2/sysman/jlib/master_de.jar:/home/ora10g/client10gR2/sysman/jlib/master_it.jar:/home/ora10g/client10gR2/sysman/jlib/master_ja.jar:/home/ora10g/client10gR2/sysman/jlib/master_ko.jar:/home/ora10g/client10gR2/sysman/jlib/master_pt_BR.jar:/home/ora10g/client10gR2/sysman/jlib/master_es.jar
HELPCLASSES=$JLIBROOT/help4.jar:$JLIBROOT/help4-nls.jar:$JLIBROOT/oracle_ice5.jar
DBUICLASSES=$JLIBROOT/dbui2.jar:$JLIBROOT/dbui2-nls.jar
KODIAKCLASSES=$JLIBROOT/kodiak.jar
JDBCCLASSES=$ORACLE_HOME/jdbc/lib/ojdbc14.jar:$ORACLE_HOME/jdbc/lib/nls_charset12.zip:$ORACLE_HOME/jlib/orai18n.jar
SECURITYCLASSES=$JLIBROOT/javax-ssl-1_1.jar:$JLIBROOT/jssl-1_1.jar
OSDNETCLASSES=$JLIBROOT/netcfg.jar:$JLIBROOT/o3logon.jar:$JLIBROOT/verifier14.jar
OSDPKICLASSES=$NETJLIBROOT/ewm-1_1.jar:$JLIBROOT/ojpse_2_1_5.jar
#OAMCLASSES=
NETMGRCLASSES=$NETJLIBROOT/netmgrm.jar:$NETJLIBROOT/netmgr.jar:$ORACLE_HOME/network/tools
XMLCLASSES=$ORACLE_HOME/lib/xmlparserv2.jar
NETCHARTCLASSES=$ORACLE_HOME/sysman/jlib/netchart360.jar
OLAPCLASSES=$JLIBROOT/cvd.zip:$JLIBROOT/jndi.jar:$JLIBROOT/jewt4.jar:$JLIBROOT/jewt4-nls.jar
MISCCLASSES=$ORACLE_HOME/assistants/jlib/assistantsCommon.jar:$JLIBROOT/jle2.jar:$JLIBROOT/jle2-nls.jar:$JLIBROOT/ldap.jar:$ORACLE_HOME/owm/jlib/owm-3_0.jar:$JLIBROOT/ldapjclnt10.jar
QSMACLASSES=$ORACLE_HOME/rdbms/jlib/qsma.jar

CLASSPATHADD=$BALICLASSES:$HELPCLASSES:$DBUICLASSES:$JDBCCLASSES:$CLASSROOT:$OEMCLASSES:$KODIAKCLASSES:$SECURITYCLASSES:$OSDNETCLASSES:$OSDPKICLASSES:$NETMGRCLASSES:$XMLCLASSES:$NETCHARTCLASSES:$OLAPCLASSES:$MISCCLASSES:$QSMACLASSES

# hook for classpath additions
if [ "$ORACLE_OEM_CLASSPATH" != "" ]
then
    CLASSPATHADD=$ORACLE_OEM_CLASSPATH:$CLASSPATHADD
fi


unset CLASSPATH # jre won't find core api's if CLASSPATH is set.
LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

# Shared library path for HP
SHLIB_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/network/lib32:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$SHLIB_PATH
export SHLIB_PATH

# Shared library path for AIX
if [ "`uname`" = "AIX" ]
then
    LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$ORB_HOME/lib:$ORACLE_HOME/network/lib:$LIBPATH
    export LIBPATH
    JRENATIVEOPTION=
    export JRENATIVEOPTION
else
    JRENATIVEOPTION=-native
    export JRENATIVEOPTION
fi


PATH=/home/ora10g/client10gR2/jdk/jre//bin:$PATH
export PATH

if [ "$ORACLE_OEM_JAVAMX" = "" ]
then
    ORACLE_OEM_JAVAMX=-mx128m
fi

if [ "$ORACLE_OEM_JAVARUNTIME" = "" ]
then
#    JRE="jre $JRENATIVEOPTION -nojit $ORACLE_OEM_JAVAMX $TRACE"
# jre is not supported in jdk 1.3
    JRE="java $ORACLE_OEM_JAVAMX $TRACE"
    CLASSPATH_QUAL=cp
else
    JRE="$ORACLE_OEM_JAVARUNTIME/bin/java $JRENATIVEOPTION $ORACLE_OEM_JAVAMX $TRACE"
    CLASSPATH_QUAL=classpath
    CLASSPATHADD=$CLASSPATHADD:$ORACLE_OEM_JAVARUNTIME/lib/classes.zip
fi


# Increase the number of file descriptors
if [ `uname` != "HP-UX" ]
then
    if [ `uname` != "OSF1" ]
    then
        ulimit -S -n `ulimit -H -n` > /dev/null
    else
        ulimit -S -n 4096 > /dev/null
    fi
fi


ME=`basename $0`
USAGE="Usage: $ME <application_name>"

APPLICATION=$1


if [ "$1" = "ocmcli" ]
then
    exec $JRE -DADMIN_WRL=$ADMIN_WRL -DORACLE_HOME=$ORACLE_HOME -DORBdisableLocator=true -Djdbc.backward_compatible_to_816=true $JREOPTIONS_STRING -$CLASSPATH_QUAL $CLASSPATHADD oracle.sysman.vtx.vtxOemApp.OemApp $APPLICATION "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
else
    exec $JRE -DADMIN_WRL=$ADMIN_WRL -DORACLE_HOME=$ORACLE_HOME -DORBdisableLocator=true -Djdbc.backward_compatible_to_816=true $JREOPTIONS_STRING -$CLASSPATH_QUAL $CLASSPATHADD oracle.sysman.vtx.vtxOemApp.OemApp $APPLICATION $2 $3 $4 $5 $6 $7 $8 $9
fi

Last edited by blas; 05-02-2006 at 05:41 AM.
 
Old 05-02-2006, 06:32 AM   #8
blas
Member
 
Registered: Apr 2003
Distribution: fc5, ubuntu, rhel
Posts: 59

Original Poster
Rep: Reputation: 15
can anyone please help me with this issue?
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Xterm to Graphical Environment: run what? JMCraig Linux - Newbie 3 01-24-2005 03:12 PM
run app as service MiniBubba Mandriva 3 09-19-2004 07:51 AM
how do I run a different desktop environment dr_unpleasant Slackware 1 07-07-2004 03:30 PM
How do I run a jailed environment in Slackware? QtCoder Linux - General 1 10-05-2003 02:44 PM
GCC/glibc odyssee: Or "how do I upgrade my compiler environment?" BedriddenTech Slackware 5 09-01-2003 09:17 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Fedora

All times are GMT -5. The time now is 11:15 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration