I had been trying to install J64-804 to run in FreeBSD Linux emulation but could not fix this error: /lib64/ld-linux-x86-64.so.2 not found, error 2
I thought I didn't have the links right, but it's probably that linux_base-c7 is 32bit. I'll update to Release 11.0 first, then follow your steps. When I get that working I may look into creating the native port, but that's a bit deeper water than I've been in. Heartening reply, thank you. Ben On Mon, Oct 17, 2016 at 11:47 PM, Nico de Jager <[email protected]> wrote: > Benedict Archer <[email protected]> writes: > > > Has anyone looked at or is there any interest in either porting J to > > freebsd or running under the freebsd linux emulation? > > I am running 64-bit J (J701 with GTK+ interface and J80x with QT) on > FreeBSD 11.0 under 64-bit Linux emulation (see *** below for a quick > overview). > > I would be interested in a native port. It appears some work has been > done on the J Engine: > http://www.jsoftware.com/pipermail/source/2014-February/000538.html > https://github.com/tangentforks/j/tree/freebsd64 > > HTH. > Nico > > *** > > 1. Set up a minimal Linux environment: > - Do a minimal Debian Stable install without "standard system > utilities" task in e.g. a virtual machine. > > 2. Install dependencies: > - For jconsole: > # apt-get install libedit-dev > - For jqt: (Note: This will pull in a lot of dependencies). > # apt-get install libqtwebkit4 > # apt-get install libqt4-declarative > - For GTK+: > # apt-get install libgtk2.0 > > 3. Set up FreeBSD > - Normally you'll install emulators/linux_base-c7 , but I provided my own > 64-bit Debian environment as above, since at the time of this writing, > the linux environment installed by emulators/linux_base-c7 in > /compat/linux is 32-bit. You may decide to use a 64-bit port in the > future, though. > - On the linux machine prepared in 1 & 2 above: > - Copy over the Linux environment: > # apt-get install rsync > # apt-get clean > # cd / > # rsync -av bin etc lib lib64 opt sbin usr var \ > root@FreeBSD_Machine:/compat/linux/ > You may have to create /compat/linux > - On the FreeBSD machine: > - Further prepare the Linux environment: > - Fix absolute symbolic links: > # cd /compat/linux && > find . -lname '/*' | > while read l ; do > echo ln -sfn $(echo $(echo $l | sed > 's|/[^/]*|/..|g')$(readlink $l) | sed 's/.....//') $l > done | > sh > # cd /compat/linux > # mkdir dev mnt proc srv sys > # ln -s /var/run run > # ln -s /tmp dev/shm > # ln -s /usr/home home > - Remove/move the passwd, group, hosts and resolv.conf files so that > it falls through to the FreeBSD directories: > # cd /compat/linux/etc > # mkdir ndj_backup > # mv hosts resolv.conf passwd* group* shadow* gshadow* ndj_backup/ > - Prepare FreeBSD itself: > # kldload linux64 > # echo 'linux64_enable="YES"' >> /etc/rc.conf > # echo 'linprocfs /compat/linux/proc linprocfs rw 0 > 0' >> /etc/fstab > # mount linprocfs > - Unpack the J binaries in your user's home directory and enjoy. > > References: > - See the "Linux Binary Compatibility" in the FreeBSD Handbook. > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
