Building RELENG_2_1 with FreeBSD_8.3



  • I've been trying to build a working version of pfSense from source, and haven't succeeded on any of the "standard" platform/version combinations.  For the latest, RELENG_2_1, I've installed both a 32-bit and 64-bit version of FreeBSD8.3 and am having the following problems:

    (1) the pfsense-build.conf file not existing, which I fixed with a touch (as xlot described)

    (2) Fatal compiler errors on the file /usr/ports/sysutils/check_reload_status_2.1/check_reload_status.c because of several casts of a string constant to (char *), which I fixed by patching the file coming off of the /home/pfsense/tools/pfPorts tree with (const char *)'s.  I'm concerned about this problem because it seems to reflect a fundamental versioning issue somewhere (for example, there are 3 different versions of check_reload_status appearing in the pfPorts tree, and I'm wondering if check_reload_status_2.1 isn't tested or supposed to be used and somehow the FreeBSD8.3 port version has gotten too far ahead of pfSense?)

    3.  Fatal "test" error where the test.php script can't find "fcgi" in the version string of php -v in the chrooted environment.  Here again, it looks like there was a version of php where fast-cgi had it's own executable and now the version in the FreeBSD ports doesn't.  Is this some sort of version mismatching issue?  (And if I bypass this error and force the ISO to be built, the resulting build/environment won't start the web Configurator.)

    Thanks,
        Jimmy



  • Well, it looks like "ermal" committed a change that corrected the php executable installation into the source tree a couple of days ago without replying to my message.  What I don't understand is:

    How did the RELENG_2_1 release get built and released with this sort of fatal error in the build/patch?

    Also, why is there not a RELENG_2_1 branch tag on the pfsense-tools git repo?  It looks like I/we are pulling from 'master ' which just also had a commit related to FreeBSD 10.  Related to this is the fact that there's no step in the build instructions that actually updates the GIT copy locally.  It seems I had to blow away and completely re-clone the directory to get the change built properly.

    Jimmy



  • How did the RELENG_2_1 release get built and released with this sort of fatal error in the build/patch?

    At the time 2.1 Release was built, the problem in pfsense-tools was not there.

    Also, why is there not a RELENG_2_1 branch tag on the pfsense-tools git repo?

    I also wonder this. For some reason, pfsense-tools code is "always" written in an upward-compatible manner ("if" tests to do different things depending on the FreeBSD and/or pfSense version being built) so that previous pfsense versions "should" still build using pfsense-tools master.
    But, of course, sometimes a broken commit happens to master and for that time nothing will build. And, I suspect, a good "2.1-RELEASE" build off master probably will no longer build EXACTLY the same binary LiveCD that it did a few months ago (and maybe it will?). So it would not be quite the same "2.1-RELEASE".
    I guess there is always the commit point of pfsense-tools at which the real 2.1-RELEASE was built, and it would be possible to build against that. But it also seems easy to me to make an actual branch.



  • Thanks Phil; that's helpful to understand.  It then seems like both the touch pfSense-build.conf, and the const char * fixes in check_reload_status need to be made to get the build to work.


Log in to reply