# Install apache 2.4 on new FreeBSD 10.2 (RAIDZ) fails



## FKEinternet (Oct 4, 2015)

I've done a fresh installation of FreeBSD 10.2 on a new RAIDZ system.

I started following the instructions for installing Apache, etc. found at http://www.cyberciti.biz/faq/how-to-install-apache-mysql-php-stack-on-freebsd-unix-server/  The first step failed because `portsnap extract` is required before `portsnap upgrade` so my second step was `portsnap extract update && portupgrade -a`

The `portsnap` seems to have succeeded, but `portupgrade` is failing:

```
[Rebuilding the pkgdb <format:bdb_btree> in /var/db/pkg ... - 1110 packages found (-0 +1110) ....................................................................................................100....................................................................................................200....................................................................................................300....................................................................................................400....................................................................................................500....................................................................................................600....................................................................................................700....................................................................................................800....................................................................................................900....................................................................................................1000....................................................................................................1100.......... done]
[origins - not a string (NilClass)] [Rebuilding the pkgdb <format:bdb_btree> in /var/db/pkg ... - 1110 packages found (-0 +1110) ....................................................................................................100....................................................................................................200....................................................................................................300....................................................................................................400....................................................................................................500....................................................................................................600....................................................................................................700....................................................................................................800....................................................................................................900....................................................................................................1000....................................................................................................1100.......... done]
[origins - not a string (NilClass)] [Rebuilding the pkgdb <format:bdb_btree> in /var/db/pkg ... - 1110 packages found (-0 +1110) ....................................................................................................100....................................................................................................200....................................................................................................300....................................................................................................400....................................................................................................500....................................................................................................600....................................................................................................700....................................................................................................800....................................................................................................900....................................................................................................1000....................................................................................................1100.......... done]
origins - not a string (NilClass): Cannot read the pkgdb!
Command failed [exit code 1]: /usr/local/sbin/pkgdb -aFOQ
```

I then ran `pkgdb -fu` and got similar results, ending with the "not a string" error.  I did an `rm /var/db/pkg/pkgdb.db` and re-ran `pkgdb -fu` and got the same results as before deleting the database.

I ran `pkg_libchk -qo` and it returned to the prompt without generating any results, which I interpreted as an empty error set.

Thinking perhaps there wasn't a real problem, I `cd`'d to www/apache24 and tried `make install clean` and got Shared object "libcrypto.so.6" not found, required by "bsdtar"

I then tried `pkgdb -F` - which ended with the same "not a string" error.

I thought running `make` in a ports directory was supposed to fetch and build any ports/packages it depends on, but that appears to not be the case.

What am I missing?


----------



## Oko (Oct 4, 2015)

You are following third party howto written by Ubuntu guys.


----------



## FKEinternet (Oct 4, 2015)

The title of the page is "How To Install Apache, MySQL, PHP stack on FreeBSD Unix Server" - how is that Ubuntu?

Besides the page at https://www.iceflatline.com/2011/11/how-to-install-apache-mysql-php-and-phpmyadmin-on-freebsd/ indicates all I need to do is the `portsnap` sequence followed by `make install clean` for Apache.


----------



## wblock@ (Oct 4, 2015)

Please stop using ports-mgmt/portupgrade.  It depends on Ruby and ruby-bdb.  Also, watch out for -a.  Sometimes there are manual steps that must be performed before others.  These are shown in /usr/ports/UPDATING, which should always be checked before installing or updating ports.  Using -a without doing those manual steps will lead to errors.

See Upgrading FreeBSD Ports.


----------



## junovitch@ (Oct 4, 2015)

There seems to be something odd going on.  /usr/bin/bsdtar is part of the base system and not ports and on FreeBSD 10 it links to /lib/libcrypto.so.7.  On FreeBSD 9 it links to /lib/libcrypto.so.6.  The symptom you see doesn't make sense if this is a fresh install of FreeBSD 10.

What does `ldd /usr/bin/bsdtar` return and does `freebsd-update IDS` indicate your system has files that don't match the 10.2-RELEASE checksums?


----------



## junovitch@ (Oct 4, 2015)

Also, I don't see anywhere in the guide where it recommends any customizations.  Is there any reason not to just `pkg install apache24 mysql56-server mysql56-client php56 mod_php56` and be done with it?



Oko said:


> You are following third party howto written by Ubuntu guys.





FKEinternet said:


> The title of the page is "How To Install Apache, MySQL, PHP stack on FreeBSD Unix Server" - how is that Ubuntu?
> ....



I think Oko is referring to the quality of the site.  For example, it recommends installing the metaport lang/php56-extensions and selecting the MYSQL and MYSQLI options.  Now you have a system that you can't upgrade through packages because there was never an explicit dependency on databases/php56-mysql and databases/php56-mysqli.  An explicit `pkg install php56-mysql php56-mysqli` would result in that explicit dependency and a system that you can safely upgrade.


----------



## FKEinternet (Oct 4, 2015)

```
# ldd /usr/bin/bsdtar
/usr/bin/bsdtar:
  libarchive.so.6 => /usr/lib/libarchive.so.6 (0x80082c000)
  libbz2.so.4 => /usr/lib/libbz2.so.4 (0x800ace000)
  libz.so.6 => /lib/libz.so.6 (0x800ce0000)
  liblzma.so.5 => /usr/lib/liblzma.so.5 (0x800ef6000)
  libbsdxml.so.4 => /lib/libbsdxml.so.4 (0x80111b000)
  libcrypto.so.7 => /lib/libcrypto.so.7 (0x801341000)
  libc.so.7 => /lib/libc.so.7 (0x801735000)
```
The first time I tried `freebsd-update IDS` it occurred to me I should run it under `script` to capture its output - then discovered after all these years that there _is_ a setting in PuTTY to make it so it doesn't paste on right-click.  So, the first run of `freebsd-update IDS` is interrupted:


```
# freebsd-update IDS
Looking up update.FreeBSD.org mirrors... 5 mirrors found.
Fetching metadata signature for 10.2-RELEASE from update4.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Fetching 2 metadata files... done.
Inspecting system... ^Cdone.
```

I let the second one go to completion:


```
# freebsd-update IDS
Looking up update.FreeBSD.org mirrors... none found.
Fetching metadata signature for 10.2-RELEASE from update.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
/etc/group has SHA256 hash 01ec330adcc7425dae1ef7a467e86514bbd6a76186d6d533c5a739700b5f8a21, but should have SHA256 hash 00d65897f4aa38f39b02ff248f5a8cb90ef6abdfcb2d0c4d741660453b5e76c9.
/etc/hosts has SHA256 hash 132ea7d02fd7650e44b6af5ff67739d0bce8805a35bc46a783d639e330f2885d, but should have SHA256 hash 3de7ab4a23d36380140d1621aea03e0649e3165796d01d64b76bc4d2689acfd2.
/etc/master.passwd has SHA256 hash 407e3187a176555fa5aa47944336182a44b565a9f90ee655c0190fd69736d497, but should have SHA256 hash ecb01285e5be76d9b68b35c0920ba3c0159a406f1ea4ff7d3915ac0c536d5813.
/etc/motd has SHA256 hash 525bcffe995b88521e367ce076df17098961920b5a97c443ec713de38aeb8413, but should have SHA256 hash c76d9a02e764e77686f9bf4a9192311b6a0387a088cc414dd312ef6ba069ad7e.
/etc/passwd has SHA256 hash 76721b8c137855157d76d24c1899cd3861131b02e6e633c28c2b0d05a9329e35, but should have SHA256 hash 82a4d53d139b0bcba0a4deeedf5af237fbc4adbb8cdcd8beb2374b05c3000907.
/etc/pwd.db has SHA256 hash 07f9979d26f91b09ed2261a7d86dcb17c2221c56fd1358e042fbacd446ad3555, but should have SHA256 hash 1b481658b7b6aa8126fef82f745a37e3b6e896d247364eb797e2cb434f370354.
/etc/spwd.db has SHA256 hash f7ba36dbb337e93f20f76fecc816796d6dbc0cb8cdf572a6dc925ad27c993594, but should have SHA256 hash 5f4a19eafc5edd3a903a32c835cb3f71181f3e89c9bf2fbbf7ecc14fae69cf5b.
/etc/ssh/moduli has SHA256 hash 8db557f7bd71705c9c8af757ab6fff36c11fb71b5c9963eaff5afe7a49486712, but should have SHA256 hash 6dccbddb9ef6883a703a2af64321bc92dd2610e0521b129f99b3bc9596eddc98.
/etc/ssh/sshd_config has SHA256 hash f3ad622b27664fa61d79719ff916a9e9a74726c10960f35034d9312f7a7e284c, but should have SHA256 hash 6b7582cf73dea3a7c579e8cd29213fc16cb6cdc22a8d8777d5c4312370ca307a.
/etc/ttys has 0755 permissions, but should have 0644 permissions.
/etc/ttys has SHA256 hash 57c9b45854a24545f4904e1f462c7c5a8b22936abbfc2474754228118caa0917, but should have SHA256 hash db59d71d44c8e8c133df9267785b3827037046a26a329d6853d35db681c157f7.
/root/.cshrc has SHA256 hash f32af2861326b94d4631aa09842cf6a24dbf9c22706b60b7893e8676b1b59bc8, but should have SHA256 hash 6ff45ace32645734ccc590949f2bb8a08519ba3a8cfb80095b97e3238a39d4d4.
/root/.profile has SHA256 hash 00ec64b9639ecdb53c8b2ea57928b5547aae6ed5954ba87c93eba42daaa30a0c, but should have SHA256 hash 5202c0552848048c37f1996379e0b9a73cec8ef56eb8a3ad5b3962ea991ae5b0.
```

The changed files are all ones I would expect to be different because I _have_ changed them - although I will fix the permissions on /etc/ttys since there's no reason it needs the execute bits set.

Apache has always had a lot of configuration options, and maybe (probably?) it doesn't need as much work to install it as it did when I first started using it 18 years ago, but I would still expect to be able to install it from the ports collection!


----------



## Oko (Oct 4, 2015)

FKEinternet said:


> ```
> but I would still expect to be able to install it from the ports collection!
> ```



You don't need to use the ports if you are doing just a standard install
`pkg install apache24 mysql56-server php56`

Apparently reading third party low quality howtos is easier than checking out official documentation.

https://www.freebsd.org/doc/handbook/ports.html


----------



## FKEinternet (Oct 4, 2015)

a) Apparently "third party low quality howtos" shows up in a Google search for "freebsd install apache" but the FreeBSD manual does NOT.

b) I am fully aware that the Handbook discusses installing packages _*and ports*_.  In particular, section 4.5. Using the Ports Collection says 





> The Ports Collection is a set of Makefiles, patches, and description files stored in /usr/ports. This set of files is used to compile and install applications on FreeBSD.



The Handbook discusses installing packages and ports in generic terms, not specific details regarding installing a particular piece of software.  Hence, to get more detailed information, a logical path to follow is to research the procedure using search engines, such as Google.  I recognize that the information returned from a Google search may not be applicable, so I cross reference several sources before choosing a path to follow unless I can find a definitive source.

Where I've been using FreeBSD for *18 years*, the environment I'm used to working with regards packages as being strictly for a limited set of installations, whereas _building from the ports collection _ensures the best configuration will be installed for a particular situation.

My comment still stands:  _From a fresh installation of FreeBSD_, I would expect to be able to _build and install Apache from the ports collection_.  If this is not possible, _something is broken_, and it needs to be fixed.  I am attempting to determine what is wrong with my installation so that I can build and install Apache _from the ports collection_.

Perhaps, instead of attacking someone asking for advice, you should re-read your signature line.


----------



## hukadan (Oct 4, 2015)

Out of curiosity, I just tried to reproduce your problem with a fresh FreeBSD 10.2 (in a jail(8) if it matters) and could not. My steps were the following.

First I fetched the ports(7) tree.
`# portsnap fecth
# portsnap extract`

Then I moved to the port you mentioned.
`# cd /usr/ports/www/apache24/`

And then I compiled the port with default options.
`# make install clean`

The installation went fine in my case. Which one of those steps was different in your case ? Did you choose specific options ? If not, as said junovitch@, why do not use pkg(8) instead ?


----------



## FKEinternet (Oct 5, 2015)

This suggests a useful course of investigation:  I will set up a jail with another fresh installation of 10.2, and immediately try to build Apache.  If that succeeds, I will have an environment to compare with my present one to find the differences, although doing a comparison between the jailed and base filesystems will be an "interesting" exercise.

My primary motivation, at this point, in trying to build Apache from the ports collection vs. using pkg is _I need to understand what is wrong with my system_ that prevents me from building the port.  If the rest of the world can complete the operation and I cannot, then obviously there is _something _wrong with _my _system, and I need to know what that is in order to reduce the extreme probability that there are other things that are not going to work as it is now.


----------



## junovitch@ (Oct 6, 2015)

If you can replicate this error that would be interesting.

```
Shared object "libcrypto.so.6" not found, required by "bsdtar"
```
I had not been able to replicate it doing a `cd /usr/ports/www/apache24; make install` on either on a 10.2 jail (on a host running CURRENT) or on 10.2 host.


----------



## FKEinternet (Oct 9, 2015)

To close the loop here:

Following the instructions in the Handbook section 14.3. Creating and Controlling Jails and on the jail(8) man page I was not able to get a jail working with a fresh 10.2 copy (when I ssh'd to the jail IP address, `ls /` showed _exactly_ the same thing as outside of the jail).  The exercise, did, however, give me a clean 10.2 directory structure to examine and compare with the one I was having failures in, and I discovered a few errors, described below.

First, a brief history on the problem:  Several years ago, I wanted to resurrect a server I last had operational, on the Internet, in 2006.  I put together a new system, installed the current FreeBSD (8.?), and tried to copy over the configuration, including many custom administrative scripts, Web sites, etc.  That effort was only partially successful, I got distracted with other work, and when I came back to it, FreeBSD 9 was out.  I tried upgrading the operating system to 9.2, and somewhere in trying to get the ports to work, it blew up - I couldn't get a consistent KDE build, IIRC.  Again I shelved the process, having to deal with things such as earning a living to support myself.  A couple of months ago, I took up the effort again, downloaded an ISO image for 10.2, and discovered I couldn't tell freebsd-update() to use the DVD as the install source, and asked for advice about that in another Thread upgrade-freebsd-using-dvd.53126.  Meanwhile, a fellow FreeBSD geek suggested I should stick with 9, and after deleting source trees, un-tar'ing distribution files and other machinations, I thought I had a 9.3 system I could start working with - except there were errors.  Looking at the effort I'd already put into this, and the black hole ahead of me on the path I was following, I decided it would be less work to just add another disk, install 10.2 on it, and import what I could to get back to where I was upgrading the original system once more.  I'd done some reading about ZFS, and since I was installing a new disk, I decided to put the new installation on ZFS as well.  Once I got some confusion straightened out in this thread Thread load-the-zfs-kernel-module-instead-of-using-gnop-devices-during-install.53373 I got 10.2 happily booting from a 18TB RAIDZ file system.  In order to proceed with my original plan of upgrading the 2006 server, I copied files from the 9.3 disk into the 10.2 file system - basically everything that wasn't already on 10.2, so I'd be sure to get all of my previous configuration, scripts, etc.  That's where my problems came from:

By doing a `diff -rq /etc/ /jails/fresh/etc/` to compare the jail's fresh 10.2 /etc with the one I was working with, I discovered two notable additional files:
make.conf

```
# for newer ATI drivers (4/2011)
WITHOUT_NOUVEAU=yes
# disable heimdal Kerberos so MIT-KRB is used
NO_KERBEROS=true
# enable the new pkg(8) version 2013-11-04 03:05 wfredk
WITHOUT_PKGNG=yes
#
TAR=/usr/local/bin/bsdtar
# added by use.perl 2013-12-04 01:40:33
PERL_VERSION=5.14.4
```
and src.conf

```
WITH_CLANG=yes
WITH_CLANG_EXTRAS=yes # Build additional clang and llvm tools, such as bugpoint.
WITH_CLANG_IS_CC=yes  # Useful for some buildworld errors
# WITHOUT_GCC=yes
# NO_KERBEROS=true
```

Renaming those two files (to get them out of the build process) allowed me to start to proceed, but there were more errors.  In trying to get the jail working, I had tried to rebuild the kernel, but _that_ had failed as well.  With the *.conf files out of the way, I thought I'd have a better chance with `make installkernel`.  That worked as expected, and I got `make installworld` finished as well, leaving me feeling sure I had a consistent and complete development environment.  However, building Apache still failed, and I examined the error report in /usr/ports/devel/automake/work/automake-1.15/config.log - which complained it couldn't find /usr/local/bin/autom4te-2.69 - which `ls` showed as being present and accounted for.  I found that where the jail's fresh /usr/local/bin directory was empty, the one I'd copied from 9.3 had lots of files and directories in it.  I renamed the existing directory to bin-old and created a new /usr/local/bin directory - and was able to continue.  Apparently I enabled something that led to cascading build failures:

Failed with something needing perl5.18_1 where 5.18.4 was installed (eventually fixed with `ln -s perl5.18.4 perl5.18.1` in /usr/local/bin)

Failed because /usr/local/bin/apr-1-config was missing
Building devel/apr1 failed - ERROR: FreeType version  2.3.0  or higher is required. \n gmake[8]: Entering directory '/usr/ports/java/openjdk7/work/openjdk/jdk/make/tools/freetypecheck'

Building java/openjdk7 failed
Building print/freetype2 failed
Building x11/xproto enabled the java/openjdk7 build to finish
Building devel/apr1 still failed, in work/apr-util-1.5.4/dbd pkg-static: Unable to access file /usr/ports/devel/apr1/work/stage/usr/local/lib/apr-util-1/apr_dbd_mysql-1.so: No such file or directory ...
At this point, I took a step back and asked myself if I wanted to start building MySQL - which could have its own "endless" chain of issues - and decided a more reasonable next step would be `pkg install mysql56-server mysql56-client php56`.  That let devel/apr1 finish, which in turn let me finish building Apache using `make install clean` in the www/apache24 directory, and I finished the process with `pkg install mod_php56`.  I was somewhat surprised there were neither apache nor httpd files in /etc/rc.d when `service start apache` didn't work, but after executing `/usr/local/etc/rc.d/apache24 onestart` I was able to connect to the server and see the "It works!" page.


----------



## broose (Jun 12, 2019)

FKEinternet said:


> ...
> 
> My comment still stands:  _From a fresh installation of FreeBSD_, I would expect to be able to _build and install Apache from the ports collection_.  If this is not possible, _something is broken_, and it needs to be fixed.  I am attempting to determine what is wrong with my installation so that I can build and install Apache _from the ports collection_.
> 
> Perhaps, instead of attacking someone asking for advice, you should re-read your signature line.



I agree.  I've been trying to compile apache24 from the ports collection in order to enable suexec, and I'm lost in dependency hell.  This has happened every time I've tried to do this for the past several years.  In the past I've usually been able to fiddle with things enough to eventually make it work, but this time I'm stuck.  apache24 wants libtool, which leads to a long chain ending in gmake wanting indexinfo, which insists it's already installed.  I tried using 'pkg install gmake', which worked, but which is apparently not good enough for help2man, which is needed by texinfo, which is needed by m4, which is needed by libtool.  I've also tried 'pkg install libtool', which also insists that it's already installed.

I am at my wits end.  I agree with FKEinternet.  It should be possible to go into a ports folder and do a 'make install' and have it work.


----------



## SirDice (Jun 12, 2019)

broose you are responding to a thread that's almost 4 years old. I suggest you open a thread with your problem so we can actually tackle it. 

Most of the issues you're having are mostly due to inexperience and not understanding how the ports system works. I've been building Apache from ports for the past 20 or so years and I've never had any of the problems you're describing.


----------



## broose (Jun 12, 2019)

Let's see. . .

   cd /usr/ports/www/apache24
   make

Yeah, I can see how my inexperience could be an issue there.  Obviously I don't know enough to know how to properly execute those commands.  After all, I've only been using FreeBSD since about 1998 when we had to switch from BSDi.  

If I may humbly make a suggestion, perhaps you could share your superior experience with us so that this issue can finally be closed after four years.


----------



## k.jacker (Jun 12, 2019)

Attacking the people that are here to help, will definitely reduce your chance to get help at all.
From what you wrote in your first post, I'd never guessed you have 20 years of FreeBSD experience, neither.
IMO SirDice was right to assume you're a newbie to FreeBSD that had just joined the forums.
Make a good start and explain in detail what


broose said:


> this issue


is, and you'll get help - here on the best and most friendly *nix forum ever.
I'm saying this as someone, who started using FreeBSD the same year as you did.


----------



## ShelLuser (Jun 12, 2019)

I'm with k.jacker on this one, arrogance gets you no where.



broose said:


> Let's see. . .
> 
> cd /usr/ports/www/apache24
> make
> ...


Apparently not:

`# make config-recursive`
`# make build |& tee /root/build.log`
`# make install clean`.

My assumption?  You probably mixed ports and packages, another classic newbie mistake. So: you mixed using `# pkg install ...` with `# make install clean`. And that's not a good idea:









						[Guide] About ports and (binary) packages
					

Hi gang!  Introduction (editorial section)  Every once in a while we see new(er) users who get utterly confused with the whole ports collection and the package management system and as a result they're often having a hard time trying to understand how this whole thing actually works.  Now, I...




					forums.freebsd.org
				




(edit): Come to think of it, this situation could also be explained by using an unsupported ("EOL") FreeBSD version. The ports collection always expects an up to date system.


----------



## broose (Jun 13, 2019)

I used VMWARE to create a new system with a 20GB drive.  All default settings except 
the network interface was bridged instead of NAT.  I installed FreeBSD from the 
FreeBSD-11.2-RELEASE-i386-dvd1.iso disk using all default settings.  The only change 
I made was to set "PermitRootLogin yes" in /etc/ssh/sshd_config.  Then I made a 
script of an ssh session where I tried to make apache24 using all default 
configuration choices.  This is the result, leaving out a long sequence of apparently 
working output:

```
--- start of script ---
FreeBSD 11.2-RELEASE (GENERIC) #0 r335510: Fri Jun 22 04:09:26 UTC 2018

Welcome to FreeBSD!

Release Notes, Errata: [URL]https://www.FreeBSD.org/releases/[/URL]
Security Advisories:   [URL]https://www.FreeBSD.org/security/[/URL]
FreeBSD Handbook:      [URL]https://www.FreeBSD.org/handbook/[/URL]
FreeBSD FAQ:           [URL]https://www.FreeBSD.org/faq/[/URL]
Questions List: [URL]https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/[/URL]
FreeBSD Forums:        [URL]https://forums.FreeBSD.org/[/URL]

root@kali:~ # cd /usr/ports/www/apache24
root@kali:/usr/ports/www/apache24 # make
===> Building/installing dialog4ports as it is required for the config dialog
===>  Cleaning for dialog4ports-0.1.6
===> Skipping 'config' as NO_DIALOG is defined
--- much uninteresting stuff deleted ---
=> texinfo-6.5.tar.xz doesn't seem to exist in /usr/ports/distfiles/texinfo/6.5.
=> Attempting to fetch [URL]https://ftpmirror.gnu.org/texinfo/texinfo-6.5.tar.xz[/URL]
=> htmlxref.cnf doesn't seem to exist in /usr/ports/distfiles/texinfo/6.5.
=> Attempting to fetch [URL]http://distcache.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]
fetch: [URL]http://distcache.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]: Not Found
=> Attempting to fetch [URL]http://distcache.us-east.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]
fetch: [URL]http://distcache.us-east.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]: Not Found
=> Attempting to fetch [URL]http://distcache.eu.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]
fetch: [URL]http://distcache.eu.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]: Not Found
=> Attempting to fetch [URL]http://distcache.us-west.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]
fetch: [URL]http://distcache.us-west.FreeBSD.org/local-distfiles/sunpoet/texinfo/6.5/htmlxref.cnf[/URL]: Not Found
=> Attempting to fetch [URL]http://distcache.FreeBSD.org/ports-distfiles/texinfo/6.5/htmlxref.cnf[/URL]
fetch: [URL]http://distcache.FreeBSD.org/ports-distfiles/texinfo/6.5/htmlxref.cnf[/URL]: size mismatch: expected 20137, actual 20076
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/texinfo/6.5 and try again.
*** Error code 1

Stop.
make[6]: stopped in /usr/ports/print/texinfo
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/print/texinfo
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/devel/m4
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/devel/m4
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/devel/autoconf
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/apache24
*** Error code 1

Stop.
make: stopped in /usr/ports/www/apache24
root@kali:/usr/ports/www/apache24 #
--- end of script ---
```
As you can see, it does not work.  From this point I usually fiddle around with it, 
fetching and installing things as ports or packages until I get it to finally 
compile, but this time I can't get anything to work.

Okay, so maybe my thumb-fingered fiddling around is insufficient to the task due to 
my lack of expertise.  Still, it seems to me that a given port ought to compile 
properly "out of the box".  Especially an important port like apache24.  Even worse, 
in my amateurish opinion it looks to me like the problem is in autoconf, which sounds 
like something a lot of ports would use.

BTW, just for grins I tried "pkg install autoconf", which worked and installed perl5 
along with some other things.  Then when I tried to make apache24 again I got:

```
--- start of script ---
===>  apache24-2.4.33 Invalid perl5 version 5.28.
*** Error code 1

Stop.
make: stopped in /usr/ports/www/apache24
--- end of script ---
```
I don't even know what to say about that.  Perl version 5.28 is what I get after 
running "pkg upgrade", so I assume it's the latest available version.


----------



## broose (Jun 13, 2019)

ShelLuser said:


> I'm with k.jacker on this one, arrogance gets you no where.
> 
> 
> Apparently not:
> ...



Thank you.  I tried your suggested sequence, but it didn't work either.  Here's what came out in build.log:

===>  apache24-2.4.33 Invalid perl5 version 5.28.
*** Error code 1

Stop.
make: stopped in /usr/ports/www/apache24


As for mixing ports and packages, once upon a time we used to compile everything from source on general principles, but we started having too many issues like this one where various ports would refuse to build properly without hours of hair-pulling.  Fortunately the pkg collection improved over time to the point where we could install almost everything from packages with far fewer hassles.  The only exceptions at this point are apache2


----------



## broose (Jun 13, 2019)

Oops!  Lost my connection there.  Thankfully the forum software didn't lose what I'd written.  That's a nice feature!

As I was saying, the only ports we use today are apache24 (where we need suexec) and mailman (which appears incorrectly configured as a package).


----------



## SirDice (Jun 13, 2019)

Update your ports tree, it's old.


----------



## zirias@ (Jun 13, 2019)

You forgot to update your ports tree before attempting to build.

For the specific problem you're running into, see also this commit:

https://svnweb.freebsd.org/ports?view=revision&revision=497124


----------



## broose (Jun 13, 2019)

I reset my virtual computer to the "fresh install" state (I love VMware) and this time I ran freebsd-update and portsnap, and lo and behold it worked.  Too bad nobody ever told FKEinternet to do that four years ago -- it could have saved us all a lot of time.

Of course, it still doesn't work on a production server, but at least now I have a path forward.  Take the server out of service, wipe the disk and reload FreeBSD from scratch, update, portsnap, build apache, and then reload all of our production software.  So the ports collection _can_ be made to work, but it's very fragile.  Eh, it could be worse.

Thanks for your assistance.


----------



## zirias@ (Jun 13, 2019)

It isn't fragile either, but building manually isn't the best strategy for maintenance. In a professional environment, I'd strongly suggest poudriere.


----------



## SirDice (Jun 14, 2019)

Zirias said:


> I'd strongly suggest poudriere.


Yes, definitely. Especially if you have a few servers you need to maintain. It's fairly easy to set up and you end up with the best of both worlds, the flexibility of picking and choosing port options and defaults, and the ease of management of the resulting packages. When everything is set from your own repository it also makes it easier to keep track of updates and you can be sure all your servers have the same set of applications and defaults.


----------

