Recital

Login Register

Many motherboards nowadays have integrated gigabit ethernet that use the Realtek NIC chipset.

The Realtek r8168B network card does not work out of the box in Redhat/Centos 5.3: instead of loading the r8168 driver, modprobe loads the r8169 driver, which is broken as can be seen with ifconfig which shows large amounts of dropped packets. A solution is to download the r8168 driver from the Realtek website and install it using the following steps:

Check whether the built-in driver, r8169.ko (or r8169.o for kernel 2.4.x), is installed.

# lsmod | grep r8169

If it is installed remove it.

# rmmod r8169

Download the R8168B linux driver from here into /root.

Unpack the tarball :

# cd /root
# tar vjxf r8168-8.012.00.tar.bz2

Change to the directory:

# cd r8168-8.012.00

If you are running the target kernel, then you should be able to do :

# make clean modules   
# make install
# depmod -a
# insmod ./src/r8168.ko (or r8168.o in linux kernel 2.4.x)

make sure modprobe knows not to use r8169, and that depmod doesn’t find the r8169 module.

# echo "blacklist r8169" >> /etc/modprobe.d/blacklist
# mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko   \ /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko.bak

You can check whether the driver is loaded by using the following commands.

# lsmod | grep r8168
# ifconfig -a

If there is a device name, ethX, shown on the monitor, the linux driver is loaded. Then, you can use the following command to activate it.

# ifconfig ethX up

After this you should not see any more dropped packets reported.

Published in Blogs
Read more...
In Recital 10, you can declare anonymous classes and call anonymous methods in these classes.
// declare some simple procedures 
proc display(cArg)
    echo "display=" + cArg
endproc

proc show(cArg)
    echo "show=" + cArg
endproc

// create an object based on an anonymous class
myobj = new object()

// add some properties
myobj["name"] = "barry"
myobj["company"] = "recital"

// now declare an anonymous method
myobj["mymethod"] = display

// call the method
myobj.mymethod("hello world")    // displays "display=hello world"

// redeclare the method
myobj["mymethod"] = show

// call the method
myobj.mymethod("hello world")    // displays "show=hello world"
Where this becomes particularly useful is when you have a procedure that calls anonymous methods in order to process data. This technique can be used to call anonymous procedures in your code.
proc processdata(oArg)
    oArg.mymethod(oArg.name)    
endproc

proc show(cArg)
    echo "show=" + cArg
endproc

myobj = new object()
myobj["name"] = "barry"
myobj["mymethod"] = show
processdata(myobj)        // displays "show=barry"
Published in Blogs
Read more...
Recital on Linux 64 bit requires certain 32 bit libraries for installation and/or operation.  It also needs to be installed and configured as the root user, or using sudo for those systems without a root login.

For systems that do not have the xterm libraries installed, please install these to use xterm, or set the DB_TERM environment variable to start Recital from a terminal:
DB_TERM=gnome-terminal; export DB_TERM

This setting can be added to the /opt/recital/conf/recital.conf (text) file to make it available system-wide.

Please note that the Recital ODBC Driver for Linux requires a 32 bit ODBC Driver Manager.

Centos 6:

sudo yum install zlib-devel.i686 pam-devel.i686
(and accept dependencies)
Then run the installer in text mode
sudo ./recital-10.0.3-linux32.bin --mode text
Run Recital with sudo the first time, to set the system filetype compatiblity settings.
sudo recital
After saving the compatibility settings, quit to exit, then run Recital as your preferred user.
> quit
$ recital

RedHat / Fedora family:

sudo yum install zlib-devel.i686 pam.i686
(and accept dependencies)
Then run the installer in text mode
sudo ./recital-10.0.3-linux32.bin --mode text
Run Recital with sudo the first time, to set the system filetype compatiblity settings.
sudo recital
After saving the compatibility settings, quit to exit, then run Recital as your preferred user.
> quit
$ recital

 Ubuntu family:

sudo apt-get install ia32-libs 
In later versions of Ubuntu, ia32-libs is obsolete. The following package should be installed:
sudo apt-get install lib32z1
Ubuntu 12.04 and above also require the following:
sudo apt-get install libpam0g:i386
Then run the installer in text mode
sudo ./recital-10.0.3-linux32.bin --mode text
Run Recital with sudo the first time, to set the system filetype compatiblity settings.
sudo recital
After saving the compatibility settings, quit to exit, then run Recital as your preferred user.
> quit
$ recital

Published in Blogs
Read more...
Recital 10 introduced the DIE( )and EXIT( ) functions. These functions operates in the same way as the PHP DIE( ) and EXIT( ) functions. They output a message and terminate the current session in both Recital and Recital Web.
try
  open database southwind
catch
  die("Cannot open database, please try later.")
endtry
Published in Blogs
Read more...
When using Recital on linux you can integrate your favorite linux shell commands and use then directly inside Recital using the alias command. This can be particularly useful when you ssh into a remote system and run recital. You can then issue linux commands without having to open another terminal session. Several aliased shell commands are predefined in /opt/recital/conf/config.db. You can add others to suit your needs.
 
On my system i have these commands aliased.
alias pwd  "? default()"
alias cp   "copy file "
alias mv   "rename "
alias rm   "erase "
alias ls   "run('ls $0')"
alias ps   "run('ps $0')"
alias grep "run('grep $0')"
alias cd   "set default to $1"
alias cls  "clear screen"
These commands can now be used inside the Recital command window just as you would use them at the linux prompt, including the ability to pipe commands together.
ls -l | grep .prg
ps -elf | grep db.exe
The run() function that is used to run the shell command as specified in the alias command will capture output and display it in a text viewer. If you want to run the command and display the contents full screen, then specify true as the third parameter to the run().
run("command", true, true) 
The arguments to run() are as follows.
Argument Description
1 the command line to run
2 True if output should be displayed in a text area (default True)
3 True if the output should be displayed full screen (default False)
 
The alias command handles parameter substitition.
Macro Description
$0 the command line following the command name
$1..$n the arguments given to the command
Published in Blogs
Read more...
TIP
The Recital Oracle Gateway requires the Oracle libclntsh.so shared library.  If this file is unknown to ld.so.conf, add it using the ldconfig command. 
Published in Blogs
Read more...

If you have a live linux site that is running vmware virtual machines, you can pause the virtual machines when you want to perform a backup, I use acronis for linux which does incremental backups and you can specify a command to run before and after the backup, this allows backups to be performed at scheduled times daily without any intervention. In my examples below, the virtual machine i want to control is in /root/vmware/Recital/Recital.vmx

To pause the virtual machine on linux:

# vmrun pause /root/vmware/Recital/Recital.vmx


and then to unpause after the backup has completed:

# vmrun unpause /root/vmware/Recital/Recital.vmx


That is basicallty it, no need to attend the backup and it can be perfomed at a suitable time so no users are affected.

Incidentally, vmrun lets you startup a virtual machine at system startup too, without needing the GUI:

# vmrun start /root/vmware/Recital/Recital.vmx


Or alternatively stop it:

# vmrun stop /root/vmware/Recital/Recital.vmx


There are lots of other capabilities of this command, running applications inside the virtual machine etc etc. For full details just type vmrun in a terminal window.



Published in Blogs
Read more...
By default Recital uses PAM to authenticate users.  It is also possible to tell PAM to use Kerberos.  Simply replace the existing entries in the /etc/pam.d/recital file with the ones below:

auth       sufficient   pam_krb5.so try_first_pass
auth       sufficient   pam_unix.so shadow nullok try_first_pass
account    required     pam_unix.so broken_shadow
account    [default=bad success=ok user_unknown=ignore] pam_krb5.so
Published in Blogs
Read more...

If you are running your Redhat/Centos or Fedora machine in an enterprise environment you may be sitting behind a network proxy server like squid.

If you try and update or install software it will fail with timeouts or errors contacting the repository mirrors.

To configure YUM to work with your proxy server you need to add the following line to your /etc/yum.conf file.

Anonymous proxy configuration:
proxy=http://yourproxyip:port/

If your proxy server requires authentication add the following lines to your /etc/yum.conf file instead.

proxy=http://yourproxyip:port/
proxy_username=youruser
proxy_password=yourpassword

 You will be able to update and install software now, give it a go!

Published in Blogs
Read more...

Copyright © 2025 Recital Software Inc.

Login

Register

User Registration
or Cancel