clinta / clinta.github.io

A tech blog by Clint.
4 stars 2 forks source link

/usr/ports/distfiles: No such file or directory #6

Open stone821 opened 5 years ago

stone821 commented 5 years ago

Hello, I followed your tutorial, entered a jail, then used ports to compile an application. The ports issue the "/usr/ports/distfiles: No such file or directory". The /usr/ports/distfiles directory is a link to skeleton/usr/ports/distfiles (according the tutorial, ln -s skeleton/usr/ports/distfiles usr/ports/distfiles). Did I make some mistake?

clinta commented 5 years ago

That sounds right.

What is the output if you do ls -alh /usr/ports in the jail?

stone821 commented 5 years ago

the output is:

root@thinjail1:/ # ls -alh /usr/ports
total 2854
drwxr-xr-x    69 root  wheel    84B Nov  5 16:24 .
drwxr-xr-x    14 root  wheel    15B Nov  4 17:31 ..
-rw-r--r--     1 root  wheel    85B Jun 22 07:07 .arcconfig
-rw-r--r--     1 root  wheel   996B Jun 22 07:07 .gitattributes
-rw-r--r--     1 root  wheel   103B Jun 22 07:07 .gitignore
-rw-r--r--     1 root  wheel   1.4K Jun 22 07:07 .gitmessage
-rw-r--r--     1 root  wheel   121K Jun 22 07:07 CHANGES
-rw-r--r--     1 root  wheel   314B Jun 22 07:07 CONTRIBUTING.md
-rw-r--r--     1 root  wheel   1.5K Jun 22 07:07 COPYRIGHT
-rw-r--r--     1 root  wheel    12K Jun 22 07:07 GIDs
drwxr-xr-x     2 root  wheel    17B Jun 22 07:07 Keywords
-rw-r--r--     1 root  wheel    20K Jun 22 07:07 LEGAL
-rw-r--r--     1 root  wheel   784K Jun 22 07:07 MOVED
-rw-r--r--     1 root  wheel   6.7K Jun 22 07:07 Makefile
drwxr-xr-x     4 root  wheel    35B Jun 22 07:07 Mk
-rw-r--r--     1 root  wheel   1.3K Jun 22 07:07 README
drwxr-xr-x     3 root  wheel    11B Jun 22 07:07 Templates
drwxr-xr-x     3 root  wheel     5B Jun 22 07:07 Tools
-rw-r--r--     1 root  wheel    36K Jun 22 07:07 UIDs
-rw-r--r--     1 root  wheel   522K Jun 22 07:07 UPDATING
drwxr-xr-x    30 root  wheel    31B Jun 22 07:07 accessibility
drwxr-xr-x    11 root  wheel    13B Jun 22 07:07 arabic
drwxr-xr-x   257 root  wheel   258B Jun 22 07:06 archivers
drwxr-xr-x   125 root  wheel   126B Jun 22 07:07 astro
drwxr-xr-x   907 root  wheel   908B Jun 22 07:06 audio
drwxr-xr-x     4 root  wheel     6B Jun 22 07:07 base
drwxr-xr-x    90 root  wheel    91B Jun 22 07:07 benchmarks
drwxr-xr-x   119 root  wheel   120B Jun 22 07:07 biology
drwxr-xr-x    97 root  wheel    98B Jun 22 07:07 cad
drwxr-xr-x   115 root  wheel   117B Jun 22 07:07 chinese
drwxr-xr-x   210 root  wheel   211B Jun 22 07:07 comms
drwxr-xr-x   186 root  wheel   187B Jun 22 07:07 converters
drwxr-xr-x  1061 root  wheel   1.0K Jun 22 07:06 databases
drwxr-xr-x   288 root  wheel   289B Jun 22 07:07 deskutils
drwxr-xr-x  6162 root  wheel   6.0K Jun 22 07:05 devel
lrwxr-xr-x     1 root  wheel    28B Nov  5 16:24 distfiles -> skeleton/usr/ports/distfiles
drwxr-xr-x   231 root  wheel   232B Jun 22 07:06 dns
drwxr-xr-x   259 root  wheel   260B Jun 22 07:07 editors
drwxr-xr-x   184 root  wheel   185B Jun 22 07:04 emulators
drwxr-xr-x   173 root  wheel   174B Jun 22 07:07 finance
drwxr-xr-x    19 root  wheel    21B Jun 22 07:07 french
drwxr-xr-x   106 root  wheel   107B Jun 22 07:06 ftp
drwxr-xr-x  1201 root  wheel   1.2K Jun 22 07:06 games
drwxr-xr-x    30 root  wheel    32B Jun 22 07:07 german
drwxr-xr-x  1130 root  wheel   1.1K Jun 22 07:05 graphics
drwxr-xr-x    10 root  wheel    12B Jun 22 07:07 hebrew
drwxr-xr-x    12 root  wheel    14B Jun 22 07:07 hungarian
drwxr-xr-x   127 root  wheel   128B Jun 22 07:07 irc
drwxr-xr-x   301 root  wheel   303B Jun 22 07:07 japanese
drwxr-xr-x   128 root  wheel   129B Jun 22 07:07 java
drwxr-xr-x    42 root  wheel    44B Jun 22 07:07 korean
drwxr-xr-x   368 root  wheel   369B Jun 22 07:06 lang
drwxr-xr-x   756 root  wheel   757B Jun 22 07:04 mail
drwxr-xr-x   791 root  wheel   792B Jun 22 07:04 math
drwxr-xr-x   532 root  wheel   533B Jun 22 07:06 misc
drwxr-xr-x   465 root  wheel   466B Jun 22 07:07 multimedia
drwxr-xr-x  1510 root  wheel   1.5K Jun 22 07:07 net
drwxr-xr-x   205 root  wheel   206B Jun 22 07:06 net-im
drwxr-xr-x   406 root  wheel   407B Jun 22 07:05 net-mgmt
drwxr-xr-x   112 root  wheel   113B Jun 22 07:07 net-p2p
drwxr-xr-x    76 root  wheel    77B Jun 22 07:07 news
drwxr-xr-x    17 root  wheel    18B Jun 22 07:07 palm
drwxr-xr-x    21 root  wheel    23B Jun 22 07:07 polish
drwxr-xr-x    72 root  wheel    73B Jun 22 07:05 ports-mgmt
drwxr-xr-x    16 root  wheel    18B Jun 22 07:07 portuguese
drwxr-xr-x   269 root  wheel   270B Jun 22 07:07 print
drwxr-xr-x    41 root  wheel    43B Jun 22 07:07 russian
drwxr-xr-x   214 root  wheel   215B Jun 22 07:07 science
drwxr-xr-x  1323 root  wheel   1.3K Jun 22 07:05 security
drwxr-xr-x    48 root  wheel    49B Jun 22 07:07 shells
drwxr-xr-x  1412 root  wheel   1.4K Jun 22 07:06 sysutils
drwxr-xr-x  1836 root  wheel   1.8K Jun 22 07:06 textproc
drwxr-xr-x    12 root  wheel    14B Jun 22 07:07 ukrainian
drwxr-xr-x    19 root  wheel    21B Jun 22 07:07 vietnamese
drwxr-xr-x  2578 root  wheel   2.5K Jun 22 07:04 www
drwxr-xr-x   544 root  wheel   545B Jun 22 07:07 x11
drwxr-xr-x    57 root  wheel    58B Jun 22 07:07 x11-clocks
drwxr-xr-x    54 root  wheel    55B Jun 22 07:07 x11-drivers
drwxr-xr-x    41 root  wheel    42B Jun 22 07:07 x11-fm
drwxr-xr-x   204 root  wheel   205B Jun 22 07:07 x11-fonts
drwxr-xr-x    12 root  wheel    13B Jun 22 07:06 x11-servers
drwxr-xr-x   173 root  wheel   174B Jun 22 07:07 x11-themes
drwxr-xr-x   293 root  wheel   294B Jun 22 07:07 x11-toolkits
drwxr-xr-x   137 root  wheel   138B Jun 22 07:06 x11-wm

I can cd into /etc, /home etc. Only /usr/ports/distfiles is unavailable. The distfiles color is the same as the etc direcotry. It maybe the link is correct.

The output of the / directory is:

root@thinjail1:/ # ls -lah /
total 96
drwxr-xr-x  15 root  wheel    24B Nov  4 17:40 .
drwxr-xr-x  15 root  wheel    24B Nov  4 17:40 ..
-rw-r--r--   1 root  wheel   957B Jun 22 12:34 .cshrc
-rw-r--r--   1 root  wheel   474B Jun 22 12:34 .profile
-r--r--r--   1 root  wheel   6.1K Jun 22 12:34 COPYRIGHT
drwxr-xr-x   2 root  wheel    47B Nov  4 00:09 bin
drwxr-xr-x   9 root  wheel    52B Nov  4 00:09 boot
dr-xr-xr-x   8 root  wheel   512B Nov  4 22:31 dev
lrwxr-xr-x   1 root  wheel    12B Nov  4 17:29 etc -> skeleton/etc
lrwxr-xr-x   1 root  wheel    13B Nov  4 17:30 home -> skeleton/home
drwxr-xr-x   4 root  wheel    56B Jun 22 12:33 lib
drwxr-xr-x   3 root  wheel     5B Nov  4 00:03 libexec
drwxr-xr-x   2 root  wheel     2B Jun 22 12:32 media
drwxr-xr-x   2 root  wheel     2B Jun 22 12:32 mnt
drwxr-xr-x   2 root  wheel     2B Jun 22 12:32 net
dr-xr-xr-x   2 root  wheel     2B Jun 22 12:32 proc
drwxr-xr-x   2 root  wheel   148B Jun 22 12:33 rescue
lrwxr-xr-x   1 root  wheel    13B Nov  4 17:31 root -> skeleton/root
drwxr-xr-x   2 root  wheel   137B Jun 22 12:34 sbin
drwxr-xr-x   9 root  wheel     9B Nov  4 17:29 skeleton
lrwxr-xr-x   1 root  wheel    11B Jun 22 12:35 sys -> usr/src/sys
lrwxr-xr-x   1 root  wheel    12B Nov  4 17:31 tmp -> skeleton/tmp
drwxr-xr-x  14 root  wheel    15B Nov  4 17:31 usr
lrwxr-xr-x   1 root  wheel    12B Nov  4 17:40 var -> skeleton/var

The skeleton/usr directory output is:

tree -L 3 skeleton-11.2-RELEASE/usr/
skeleton-11.2-RELEASE/usr/
|-- local
`-- ports
    `-- distfiles
dko1905 commented 3 years ago

I have just encountered this bug. I also found the solution. It seems like these two symlinks are invalid:

ln -s skeleton/usr/local usr/local
ln -s skeleton/usr/ports/distfiles usr/ports/distfiles

I changed those two to:

ln -s  ../skeleton/usr/local usr/local
ln -s  ../../skeleton/usr/ports/distfiles usr/ports/distfiles

I am not quite sure why this works, but it works.