LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Installing pdksh on CentOS (https://www.linuxquestions.org/questions/linux-newbie-8/installing-pdksh-on-centos-728015/)

jbaltodano 05-23-2009 10:26 AM

Installing pdksh on CentOS
 
Hi, I'm trying to install pdksh as part of the required packages for Oracle SOA Suite.
When I try to "make" got the following error
CONFIG_FILES="" CONFIG_HEADERS=config.h ./config.status
creating.h is unchanged
date > stamp-h
config.h is unchanged
date > stamp-h
./siglist.sh "gcc -E -DHAVE_CONFIG -IO. -I" < ./siglist.in > tmpsiglist.out
sort: open failed: +2n: No such file or directory
make: ** [siglist.out] Error 1

What is wrong with my pdksh version. where could I download the right version?

jamescondron 05-23-2009 10:33 AM

What did you do before this? Exact steps please. Though, I would have thought centOS (being a RHEL derivative) would have either ksh with it, or an easier way of getting it than from source.

colucix 05-23-2009 10:39 AM

Quote:

Originally Posted by jbaltodano (Post 3550319)
sort: open failed: +2n: No such file or directory

The new POSIX standard does not support the syntax
Code:

sort +2n
anymore, hence the error you get. A workaround is to specify an older POSIX standard. Just do:
Code:

export _POSIX2_VERSION=199209
in the same terminal where you're compiling and the trick is done!

chrism01 05-23-2009 07:48 PM

Don't bother with pdksh. Centos comes with the real ksh /bin/ksh, see contents of /etc/shells.
pdksh was only created, many years ago because it wasn't avail for free/open src on Linux. Since that changed (ksh 93 ?), you now get the real deal by default.

jbaltodano 05-25-2009 09:55 AM

Thanks colucix i executed the command you said and it compiled very well.
but now i dont know what else to do to install the package.
When i tape "make install" it's supossed to install but nothing occure.
any one can help me.

colucix 05-25-2009 10:02 AM

Quote:

Originally Posted by jbaltodano (Post 3552102)
When i tape "make install" it's supossed to install but nothing occure.

What do you mean for nothing occures? Did the prompt returned without any message or did you get some error?

Anyway, I'd follow the advice given by chrism01: ksh should be already installed on CentOS, otherwise you can try to install it using Add/Remove Software or yum install ksh. Why do you need pdksh?

jamescondron 05-25-2009 10:12 AM

Quote:

Originally Posted by chrism01 (Post 3550636)
Don't bother with pdksh. Centos comes with the real ksh /bin/ksh, see contents of /etc/shells.
pdksh was only created, many years ago because it wasn't avail for free/open src on Linux. Since that changed (ksh 93 ?), you now get the real deal by default.

Oracle SOA specifically asks for pdksh which frankly is an absolute ball ache.

@OP: Check this link out http://forums.oracle.com/forums/thre...sageID=2289206 they seem to have a better idea

chrism01 05-26-2009 01:46 AM

Considering OEL (Oracle Enteprise Linux) is a copy of RHEL, this
Quote:

Oracle SOA specifically asks for pdksh which frankly is an absolute ball ache.
is even more bizarre than asking for pdksh in the first place...

colucix 05-26-2009 02:24 AM

Well... if you succeed in compiling pdksh, you will notice that it creates an executable called ksh, the same as the real shell ksh. Do you think the Oracle SOA will notice the difference?

fpmurphy 05-26-2009 08:19 AM

Yes it, unfortunately, notices the difference. Checks the version number.

jbaltodano 05-26-2009 09:27 AM

Yes, Oracle checks the version number of every required package.
the packages are
* glibc-2.3.4-2.9
* glibc-common-2.3.4-2.9
* binutils-2.15.92.0.2-13
* compat-libstdc++-296-2.96-132.7.2
* gcc-3.4.3-22.1
* gcc-c++-3.4.3-22.1
* libstdc++-3.4.3-22.1
* libstdc++-devel-3.4.3-22.1
* openmotif21-2.1.30-11.RHEL4.4
* pdksh-5.2.14-30
* setarch-1.6-1
* make-3.80-5
* gnome-libs-1.4.1.2.90-44.1
* sysstat-5.0.5-1
* compat-db-4.1.25-9
* control-center-2.8.0-12
* xscreensaver-4.18-5.rhel4.2

colucix 05-26-2009 10:49 AM

Ok. Let's return to your question. What do you get when you do make install? Any output? Any error?

jbaltodano 05-27-2009 09:02 AM

Hi, this is the message i got when execute make install.. actually i use the root account

make install
./mkinstalldirs /usr/local/bin /usr/local/man/man1
/usr/bin/install -c ksh /usr/local/bin/`echo ksh|sed 's,x,x,'`
/usr/bin/install -c -m ksh.1 /usr/local/man/man1/`echo ksh|sed 's,x,x,`.1
NOTE: /etc/shells does not contain /usr/local/bin/ksh you should add it if
you want to set your shell to ksh

thanks

colucix 05-27-2009 09:09 AM

Well... it is not an error. The shell pdksh has been installed in /usr/local/bin and it is called ksh as the original one. Now you have to force Oracle to use this ksh instead of that one originally installed as /bin/ksh. To do this, you have to verify if the directory /usr/local/bin comes before /bin in your PATH. This is because when you have two executables with the same name, that one appearing first in the PATH is executed.

jbaltodano 05-28-2009 09:12 AM

thank colucix
but i dont understand what PATH i'll verify.

colucix 05-28-2009 09:20 AM

To check the PATH
Code:

echo $PATH
To verify which ksh comes first in your path you can simply do
Code:

which ksh


All times are GMT -5. The time now is 06:09 AM.