From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Bart Oldeman" Subject: Re: How do I do a non-root install of dosemu? Date: Mon, 28 Apr 2008 10:03:03 -0400 Message-ID: References: <48153D42.3020106@fas.harvard.edu> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=H0QFQQahUu5NU79lPuiT821Evwd5zXm0bTGkWdS83tA=; b=BkIPmd7Yv6Y4p4rv2oOU45/35i8/usaS8MnhIYjoKwZ9hKDmjVcGW/00EWm1nQXg/oS+zFcNjGuUhsGj6FFGTkGeTTA/QYbg9E5E7UDwpvk/4E+6w6aPTLYALE4yu/pZ84Qwh0+O9sTHYgRRNF8i+aewVxHpAx6Bbvw1vHLtb+s= In-Reply-To: <48153D42.3020106@fas.harvard.edu> Content-Disposition: inline Sender: linux-msdos-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: bens@alum.mit.edu Cc: linux-msdos@vger.kernel.org Hi, the binary tgz distribution http://prdownloads.sourceforge.net/dosemu/dosemu-1.4.0-bin.tgz?download is an example of something that is relocatable, and is created using the dist/mkbindist script (see in there for instructions). > set the DOSEMU_LIB_DIR, DOSEMU_CONF_DIR, and DOSEMU_HDIMAGE_DIR envvars, > in addition to PATH and LD_LIBRARY_PATH. I also have had to redirect the > etc/dosemu/drives/c and d symlinks. DOSEMU looks in $HOME/.dosemu before /etc/dosemu, and see also below. > ERROR: X support not compiled in or not found: > ERROR: /usr/lib/dosemu/libplugin_X.so: cannot open shared object file: No > such file or directory You can avoid this error by putting libplugin_*.so into the same directory as dosemu.bin. (it ignores LD_LIBRARY_PATH -- that is something that could be changed though, of course) > Error in built-in global.conf: (line 671) Disk-device/file > /var/lib/dosemu/drives/c doesn't exist. > > Since I have explicitly set DOSEMU_HDIMAGE_DIR, I don't know why I still > see this. DOSEMU_HDIMAGE_DIR is ignored (but it is set as environment variable by DOSEMU itself). You'd need to give dosemu.bin the --Fimagedir option (see the man page) to make it work; also --Flibdir should give the directory corresponding to ../../share/dosemu (DOSEMU_LIB_DIR), -n completely ignores dosemu.users and dosemu.conf, and -f lets you override ~/.dosemurc. Also, the patch below makes the script a bit more robust, and the 1.4.0.1 patch update makes dosemu a bit smarter about finding fonts. --- dist/dosemu.bindist (revision 1844) +++ dist/dosemu.bindist (working copy) @@ -28,12 +28,17 @@ " exit 1 fi - mkdir -p $HOME/.dosemu/drive_c $HOME/.dosemu/drives + mkdir -p $HOME/.dosemu/drive_c/tmp $HOME/.dosemu/drives rm -f $HOME/.dosemu/drives/c $HOME/.dosemu/drives/d ln -sf $HOME/.dosemu/drive_c $HOME/.dosemu/drives/c ln -sf $BOOT_DIR_PATH/drive_z $HOME/.dosemu/drives/d cp -fp $BOOT_DIR_PATH/conf/autoexec.bat $BOOT_DIR_PATH/freedos/autoexec.bat cp -fp $BOOT_DIR_PATH/conf/config.sys $BOOT_DIR_PATH/freedos/config.sys + # the below two cp's are usually also done by dosemu.bin but are done here + # in case DOSEMU terminates leaving a disclaimer file behind, or + # if ~/.dosemu/disclaimer exists but ~/.dosemu/drives/c does not. + cp -fp $BOOT_DIR_PATH/conf/autoexec.bat $HOME/.dosemu/drive_c + cp -fp $BOOT_DIR_PATH/conf/config.sys $HOME/.dosemu/drive_c fi unset INSTALL } Hope that helps Bart