If your web browser formats this page incorrectly, try viewing the
page source. In netscape 4, click the view menu, then click page source.
This is how I installed Corel Photopaint into redhat 7.2. Probably
this applies to all redhat 7.x versions, and may apply to other versions
of linux.
Photopaint is really a windows program. To run photopaint in linux, we need
wine. Photopaint includes three versions of wine. One wine for glibc
2.1, one wine for glibc 2.0, and one wine for wordperfect office.
Photopaint wine installs into /usr/lib/corel, so if you already have
some other version of wine installed
in /usr/lib/wine and /usr/bin, there will not be any conflicts; you can
have both versions of wine installed.
Some people say to download the latest version of wine. You do not need to
download the latest version of wine. The version of wine which is included
with photopaint has been modified for use with photopaint, so this
is the version of wine which you should use with photopaint.
Any other version of wine would probably not work. The script which starts
photopaint uses photopaint wine, so if you download the latest version
of wine, it will have no effect on photopaint; photopaint will still use
photopaint wine. If you want to try some other version of wine, you will
probably have to modify the script which starts photopaint, which
is /usr/lib/corel/Graphics9/bin/gfxlauncher. You will also probably
have to add some photopaint stuff to the registry, and add some
photopaint directories to the dll path.
It is probably possible to run the linux version of photopaint from
windows. But photopaint does not include an installer for windows,
so you will have figure out what directory
to put the various files in, manually add photopaint stuff
to the registry, etc. I do not know how to do this.
The photopaint linux install program selects the glibc 2.1 versions of
wine and fonttastic for use with redhat 7.2. Redhat 7.2 actually has glibc
2.2, not glibc 2.1. This is not a problem. Glibc 2.1 wine and
fonttastic run fine with redhat 7.2 glibc 2.2.
The fonttastic font server included with photopaint includes a start script
for redhat and suse linux in /etc/rc.d/init.d, plus a start script for corel
and debian linux in /etc/init.d. However, redhat 7.2 has /etc/init.d as a
link to /etc/rc.d/init.d. This prevents the fonttastic font server from
installing. When you run the photopaint install program, it fails to install
the fonttastic font server, and it does not display any messages telling you
that fonttastic is not installed, and photopaint does not run. You can
install the fonttastic font server manually with rpm --force. However, that
means that both start scripts go into the same directory, so the second
script overwrites the first script, and then the fontastic install script
deletes the second script because it is not needed for redhat, and so you
end up with no start script at all! So then you have to manually install the
start script. The solution is to redirect or rename or delete /etc/init.d
BEFORE you install photopaint, and then fonttastic will be installed
correctly and automatically by the photopaint install program.
If you have already installed photopaint and the fontastic font server
failed to install, get rid of /etc/init.d and then do
rpm --install /tmp/photopaint/dists/redhat/i386/fonttastic-glibc-2.1-2000.06.22.14.00-1.i386.rpm
Corel has provided an updated libaps for use with photopaint. You might or
might not need the updated libaps, depending on what version
of linux you have and what printer you have. I need the updated libaps.
If I try to run photopaint with the old libaps, it displays
this error message:
wine: readwriteprintcap.c:641: ParseLprPrintcapBuffers: Assertion `(charsCopied < 4)' failed
and photopaint does not start. The message is displayed in the xterm
window where I entered the command to start photopaint, not in a special
error message window; so if you are trying to start
photopaint without using an xterm window, you will
probably not see the error message; you will only see that photopaint does
not start. The error message comes from the file /usr/lib/libaps.so.0.0.0.
If I delete /usr/lib/libaps.so.0.0.0, photopaint will start, but
photopaint cannot be used because it crashes as soon as I try to
open a file.
This is how I installed photopaint.
First download photopaint:
ftp://ftp2.corel.com/pub/linux/PhotoPaint9/CorelPHOTOPAINT9LnxRPM.tar.gz
If that does not work, try one of these:
ftp://ftp.corel.com/pub/linux/PhotoPaint9/CorelPHOTOPAINT9LnxRPM.tar.gz
ftp://ftp.hacktic.nl/pub/varia/CorelPhotoPaint/CorelPHOTOPAINT9LnxRPM.tar.gz
http://linux.corel.com/products/pp9/eula.htm
http://linux.corel.com/products/pp9/download.htm
Then download the updated libaps:
ftp://ftp2.corel.com/pub/linux/Graphics9/updates/rpm/libaps-1.0-1568.0.i386.rpm
If that does not work, try one of these:
http://linux.corel.com/support/update_libaps.htm
http://linux.corel.com/support/updates.htm
Then run these commands:
mv /etc/init.d /etc/init.d.renamed
mkdir /tmp/photopaint
cd /tmp/photopaint
tar -xzf /tmp/downloads/CorelPHOTOPAINT9LnxRPM.tar.gz
./install # requires xwindows
rpm --upgrade /tmp/downloads/libaps-1.0-1568.0.i386.rpm
cd
rm -fr /tmp/photopaint
mv /etc/init.d.renamed /etc/init.d
There are 100 megabytes of temporary files for photopaint. If you do not
have a lot of free space in /tmp, maybe you should use /usr/photopaint.tmp
instead of /tmp/photopaint.
The program 'install' needs to be run from xwindows. The other commands do
not need to be run from xwindows.
To run photopaint, run xwindows and run the command 'photopaint'.
To add photopaint to gnome, icewm, and kde menus, use a text editor to
create a
file named /etc/X11/applnk/Graphics/photopaint.desktop or
/etc/X11/applnk/Graphics/photopaint.kdelnk like this:
[Desktop Entry]
Name=photopaint
Comment=Corel PHOTO-PAINT 9
Exec=photopaint
Icon=/usr/X11R6/share/icons/corelppaint.xpm
MimeType=image/x-corel-photo-paint
Terminal=0
Type=Application
Photopaint installs the fonttastic font server. Redhat 7.2 already includes
the xfs font server. So we can save a little memory and cpu time by loading
the photopaint fonts into xfs, and not running fonttastic. However, the
script which starts photopaint automatically starts fonttastic and will
abort if it cannot start fonttastic. Therefore we need to modify the
photopaint start script if we want to eliminate fonttastic. Also, the
photopaint fonts are in two directories; I think it is more efficient to put
the fonts into one directory. If we combine the two fonts directories, we
also need to combine the two fonts.dir files. My way to combine the two
fonts.dir files is to create a fonts.scale file and let mkfontdir create the
fonts.dir file. Mkfontdir does not care if the first line of fonts.scale is
the wrong number, so I put '1' for the first line of fonts.scale. Then we
can copy the two fonts.dir files to fonts.scale, except we need to delete
the first line of each fonts.dir file. My way to delete the first line of
each fonts.dir file is to use grep to throw away every line which does not
include a space.
Run these commands:
mkdir --parents /usr/share/fonts/ttf
cp /usr/share/fonts/wprequired/*.ttf /usr/share/fonts/ttf
cp /usr/share/fonts/userfonts/*.ttf /usr/share/fonts/ttf
if ! test -f /usr/share/fonts/ttf/fonts.scale
then echo 1 > /usr/share/fonts/ttf/fonts.scale
fi
cat /usr/share/fonts/wprequired/fonts.dir \
/usr/share/fonts/userfonts/fonts.dir \
| grep ' '>> /usr/share/fonts/ttf/fonts.scale
mkfontdir /usr/share/fonts/ttf
rpm --erase wpo2000-fonts-core-2000.06.22.14.00-1
rpm --erase fonttastic-glibc-2.1-2000.06.22.14.00-1
Use your favorite text editor to edit /etc/X11/fs/config and add
/usr/share/fonts/ttf to the font path.
Use your favorite text editor to
edit /usr/lib/corel/Graphics9/bin/gfxlauncher and delete the parts about
xset and fonttastic.
Or you could use a program like ttmkfdir to generate fonts.scale.
Or you might want to keep fontastic. Fontastic may have more features than
xfs. Fontastic may report font errors better than xfs. Fontastic may
automatically check and update fonts.scale and fonts.dir, and may
automatically generate fonts.scale and fonts.dir for *.ttf fonts.
Sometimes when you try to start photopaint, it displays an error message
window which says no fonts found; when you click ok to close the error
message window, the same error message window is displayed again several
times. Photopaint does not start. The last message displayed
in the xterm window where you started photopaint is
err:dc:DCE_FreeWindowDCE [01df] GetDC() without ReleaseDC()!
err:winhelp:WINHELP_HTMLOpenHHLPFile Could not find file [] to launch help
This error could occur if you did not install the photopaint fonts, or
if you have a problem with your font server. This error can also occur
if you have too many fonts. If you are sure you have your fonts and font
server installed and configured correctly, try putting the
photopaint fonts at the beginning of the font path, or try removing some
directories from the font path.
When photopaint wine builds font metrics, I have seen the xterm
window fills with font error messages. I am not sure if these error messages
come from photopaint, wine, or fontastic. These errors are probably not the
fault of photopaint/wine/fontastic. Photopaint/wine/fontastic
reports errors which other programs ignore. For example, in redhat 7.2, the
font files in /usr/X11R6/lib/X11/fonts/latin2/Type1 are gzipped, but in
fonts.scale the fonts are listed as not gzipped. Thus,
photopaint/wine/fontastic can be used to check for font errors.
When you run photopaint, the wine configuration file you are using
is $HOME/.graphics9rc; not $HOME/.graphics9/config.
You might want to add the photopaint wine libs
to the lib path, and configure binfmt_misc to use photopaint wine
to run windows programs.
echo /usr/lib/corel/wine-graphics9/lib >> /etc/ld.so.conf
ldconfig
modprobe binfmt_misc
echo ':windows:M::MZ::/usr/lib/corel/wine-graphics9/bin/wine:' \
> /proc/sys/fs/binfmt_misc/register
echo ':windowsPE:M::PE::/usr/lib/corel/wine-graphics9/bin/wine:' \
> /proc/sys/fs/binfmt_misc/register
cp /usr/lib/corel/Graphics9/etc/user.graphics9/wine.conf $HOME/.winerc
Or you might want to create a shell script to use photopaint wine
to run other windows programs in linux:
#!/bin/sh
export PATH=/usr/lib/corel/wine-graphics9/bin:$PATH
export WINEPREFIX=.graphics9 # use the photopaint wine configuration
# for other windows programs
if [ -z "$LD_LIBRARY_PATH" ]
then export LD_LIBRARY_PATH=/usr/lib/corel/wine-graphics9/lib
else export LD_LIBRARY_PATH=/usr/lib/corel/wine-graphics9/lib:$LD_LIBRARY_PATH
fi
wine $*
exit $?
However, many windows programs require specific dlls, or require
some entries in the registry, or
have other configuration requirements. Therefore it is probably best
to create a seperate shell script for each windows program you run, so you
can have a different wine configuration for each windows
program, and maybe even a different version of wine for each windows
program.
Photopaint wine may be more stable than the latest developer's release
of wine.
When I run photopaint, the following messages are displayed in the xterm
window where I started photopaint:
To use WINEPS you need to install some AFM files.
To use WINEPS you need to install some AFM files.
I do not know what these messages mean.
The photopaint install program installs the following rpm packages:
libwine-graphics9-glibc-2.1-2000.06.22.14.00-1
wine-graphics9-glibc-2.1-2000.06.22.14.00-1
wpo2000-fonts-core-2000.06.22.14.00-1
fonttastic-glibc-2.1-2000.06.22.14.00-1
libaps-1.0-1511.0
graphics9-paint-2000.06.22.14.00-1
graphics9-common-2000.06.22.14.00-1
graphics9-help-paint-2000.06.22.14.00-1
graphics9-help-techsupport-2000.06.22.14.00-1
graphics9-help-common-2000.06.22.14.00-1
menu-2.1.5rpm-1
menusupport-redhat-2000.06.20.12.00-1
The readme says you can skip the install program, and use rpm to install
those packages, in that order. That would allow you to install
photopaint without using xwindows, or to install
photopaint noninteractively. But none of the packages includes the
file
/usr/lib/corel/Graphics9/etc/user.graphics9/wine.conf.
/usr/lib/corel/Graphics9/etc/user.graphics9/wine.conf is created from
/usr/lib/corel/Graphics9/etc/user.graphics9/wine.conf.in by the postinstal
script of graphics9-common-2000.06.22.14.00-1. If you are missing wine.conf,
copy wine.conf.in to wine.conf.
Photopaint install also changes /etc/mime.types; it adds the following two
lines to the end of /etc/mime.types:
# the following type was added by the Corel Photo-Paint graphics9-paint package
image/x-corelphotopaint cpt
Some other packages you might want to install are
libaps-dev-1.0-1511.0.i386.rpm
libwine-dev-graphics9-glibc-2.1-2000.06.22.14.00-1.i386.rpm
wine-doc-graphics9-2000.06.22.14.00-1.noarch.rpm
wine-tools-glibc-2.1-2000.06.08.10.45-1.i386.rpm
wine-tools-graphics9-glibc-2.1-2000.06.22.14.00-1.i386.rpm
The readme file mentions another package, graphics9-help-writingtools.
That package is not included in the downloadable version of photopaint.
Photopaint install also installs a program called menu. Every program is
supposed to put files into /usr/lib/menu, containing information on how to
create menu items for that program. Then the system administrator is
supposed to put more menu data files into /etc/menu. Window managers and
other menu programs are supposed to put a script in /etc/menu-methods. The
scripts use the menu data in /usr/lib/menu and /etc/menu to generate
menus. However, redhat rpm packages do not put menu data files
in /usr/lib/menu or scripts in /etc/menu-methods, so if you want
to use menu, you will have to create your own menu data files and menu
generating scripts. Debian packages may include data for menu. If
that seems like too much work, then you may want to delete menu:
rpm --erase menu-2.1.5rpm-1
rpm --erase menusupport-redhat-2000.06.20.12.00-1
This is the script I use to start photopaint:
#!/bin/sh
# run photopaint using corel wine
export PATH=/usr/lib/corel/Graphics9/bin:/usr/lib/corel/wine-graphics9/bin:$PATH
# warn if user is running as root
if [ "`whoami`" = "root" ]
then
/usr/lib/corel/Graphics9/bin/kmessage -escape -title "Warning: Corel PHOTO-PAINT" -buttons '&Yes,,&No' "It is not recommended to run this program as user root.\nDo you wish to continue?" 2>/dev/null
if [ "$?" -eq "102" ]; then exit 1; fi
fi
# sanity check, make sure DISPLAY variable is set
if [ "$DISPLAY" = "" ]
then
echo "DISPLAY variable is not set. Make sure you are running X."
echo "Correct the problem and try again."
exit 1
fi
# If user has no per-user setup directory then we assume they have
# never run the applications before and should therefore read and
# accept the license agreement.
if [ ! -e "$HOME/.graphics9" ]
then
if [ ! -f /usr/lib/corel/Graphics9/bin/license ]
then
echo "Missing /usr/lib/corel/Graphics9/bin/license, skipping license acceptance"
elif [ ! -f /usr/lib/corel/Graphics9/bin/license.txt ]
then
echo "Missing /usr/lib/corel/Graphics9/bin/license.txt, skipping license acceptance"
else
pushd /usr/lib/corel/Graphics9/bin >/dev/null
./license >/dev/null 2>/dev/null
if [ "$?" -ne "1" ]
then
exit 1
fi
popd >/dev/null
fi
fi
# Do the per-user setup.
setupGRAPHICS9 --update
# Check for a stale wineserver socket left around after a crash.
# We need to delete it so that the application can launch again.
if [ -e "$HOME/.graphics9/wineserver-$HOSTNAME/socket" ]
then
# Don't delete the socket if there are any running wine processes.
# We expect one from the grep command.
if [ `ps | grep /usr/lib/corel/wine-graphics9/bin/wine | wc -l` -le 1 ]
then
echo "Deleting stale wineserver socket in $HOME/.graphics9/wineserver-$HOSTNAME/socket"
rm -f $HOME/.graphics9/wineserver-$HOSTNAME/socket >/dev/null 2>/dev/null
fi
fi
# check for Wine options, preceeded by '--'
_WINE_GotPlusPlus=0
_WINE_AppArgs=""
for x in $@; do
if [ $x = "--" ]; then
_WINE_GotPlusPlus=1
elif [ $_WINE_GotPlusPlus -eq 0 ]; then
_WINE_AppArgs=$_WINE_AppArgs" "$x
else
_WINE_OPTIONS_FOR_DRAW9=$_WINE_OPTIONS_FOR_DRAW9" "$x
fi
done
# Need to set environment variable for config file prefix
export WINEPREFIX=.graphics9
if [ -z "$LD_LIBRARY_PATH" ]
then
export LD_LIBRARY_PATH=/usr/lib/corel/wine-graphics9/lib
else
export LD_LIBRARY_PATH=/usr/lib/corel/wine-graphics9/lib:$LD_LIBRARY_PATH
fi
# Check for the Wine -debug and -profile options. If it is enabled
# then we need to disable the progress UI since it interferes with
# standard error.
for arg in $_WINE_OPTIONS_FOR_DRAW9
do
if [ "$arg" = "-debug" -o "$arg" = "-profile" ]
then
WINE_DEBUG=1
break
fi
done
# invoke the application with the appropriate version of wine.
if [ -x /usr/lib/corel/wine-graphics9/bin/progress-gui -a ! "$WINE_DEBUG" ]
then /usr/lib/corel/wine-graphics9/bin/wine \
"/usr/lib/corel/Graphics9/Programs/photopnt.exe $_WINE_AppArgs" \
-debugmsg progress+ -winver nt40 -managed $_WINE_OPTIONS_FOR_DRAW9 \
2>&1 | /usr/lib/corel/wine-graphics9/bin/progress-gui \
-noprogress -title "Corel PHOTO-PAINT"
else /usr/lib/corel/wine-graphics9/bin/wine \
"/usr/lib/corel/Graphics9/Programs/photopnt.exe $_WINE_AppArgs" \
-winver nt40 -managed $_WINE_OPTIONS_FOR_DRAW9
fi
exit
this is based on /usr/lib/corel/Graphics9/bin/gfxlauncher
photopaint does not run in fedora core 2. I think the libs for corel wine
for glibc 2.1 do not work with the glibc 2.3 included with fedora core 2. I
have not tried altering the script which runs photopaint to use an alternate
libc. I have not tried using photopaint with a different version of wine.