# Linux Compat, what am I missing?



## phalange (Jan 2, 2022)

From the handbook I install the Linux Compat layer. Then I downloaded an RPM to to test -- namely the nordvpn RPM -- and again followed the handbook:

I installed rpm4, 
# cd /compat/linux
# rpm2cpio < /path/to/linux.archive.rpm | cpio -id

And I get a stdio of the elements in the rpm printed to my terminal. Now what?

Do I copy them manually into the corresponding /compat/linux folders?


----------



## shkhln (Jan 2, 2022)

Do you normally copy things around just like that? Make a port, then install it.


----------



## phalange (Jan 3, 2022)

shkhln said:


> Do you normally copy things around just like that? Make a port, then install it.



I'm following the FreeBSD handbook. Linux Binary Compatibility is right there in chapter 10, and I'd like to know how to use it.


----------



## SirDice (Jan 3, 2022)

phalange said:


> Now what?


You installed that RPM, maybe test it to see if it works?


----------



## phalange (Jan 3, 2022)

SirDice said:


> You installed that RPM, maybe test it to see if it works?



The handbook says
To install a Linux® RPM-based application, first install the archivers/rpm4 package or port. Once installed, root can use this command to install a .rpm:
`# cd /compat/linux 
# rpm2cpio < /path/to/linux.archive.rpm | cpio -id`

But this only produces standard output of what's in the RPM along with the Linux paths.

That's why I ask if the unwritten next step is to manually copy the files using this output as a kind of map?

Using `rpm --install the.rpm` doesn't complete. I get an error about a missing library, although searching the /compat folder shows this library seems to exist.


----------



## phalange (Jan 3, 2022)

phalange said:


> The handbook says
> To install a Linux® RPM-based application, first install the archivers/rpm4 package or port. Once installed, root can use this command to install a .rpm:
> `# cd /compat/linux
> # rpm2cpio < /path/to/linux.archive.rpm | cpio -id`
> ...



EDIT:
Perhaps I misunderstood your suggestion -- if you mean, did I try to run the installed program, then yes. But it doesn't appear to have actually been installed anywhere. Searching the whole file system from `/` I don't see the binary anywhere, even in a wrong place.


----------

