Linux binary won't install where it's told to install.

I'm running into a curious problem in my efforts to port a Linux program, Quartus II, to FreeBSD.

I've cut through the zillion shell scripts and found the actual binary that does the installation to run it directly. It allows the user to specify a target directory to install to.

This one does what I expect:
Code:
sudo altera_installer/bin/altera_installer_cmd --source=/usr/ports/cad/quartus_ii/work --install=quartus_free -w -t [color="Red"]/home/benjamin/some_dir[/color] --no_space_check

It installs to my home directory. This however:
Code:
sudo altera_installer/bin/altera_installer_cmd --source=/usr/ports/cad/quartus_ii/work --install=quartus_free -w -t [color="Red"]/usr/local/quartus[/color] --no_space_check

Somehow installs to /compat/linux/usr/local/quartus. It is like there is an implicit "symlink" that redirects /usr/local to /compat/linux/usr/local, but it doesn't redirected when I specify my home directory!

What is going on here? It's like the command is running in a chroot environment! (It's not)
 
From memory, the linuxulator will look in /compat/linux for files/directories first before looking in the regular root filesystem. The observed behavior would be expected if you don't have /home/benjamin under /compat/linux and the installer runs as a linux binary. Have a look at Linux file/directory tricks
 
I ended up solving the issue, but I'm not 100% happy about it.

Touching /usr/local/altera/quartus seems to trick the installer into using this directory instead of the same one under /compat/linux.

Thanks for the link though, will read.
 
Back
Top