GOOD NEWS IncrediblePBX for CentOS7 Arrives

Status
Not open for further replies.

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
@chris_c_ : Interesting. None of this should matter with the latest installer which automatically runs make menuselect and automatically exits. This should remove the inclusion of any module whose dependencies were not met. Are you sure you were running the latest installer??

As a footnote, I find it somewhat telling that neither Digital Ocean nor Vultr supports a 32-bit flavor of CentOS 7. That should tell you something as well. :death:

We've uploaded a new installer this morning that blocks 32-bit install attempts on CentOS 7 until this is sorted out so comment out lines 153-156 if you wish to do further testing.
I was running the latest installer as far as I could tell. Newer than the one on your blog post for CentOS 7. Which version are you running.

DO and Vultr will run CentOS 7 32 bit on request. One lets you upload the pure ISO, the other lets you vote on having it included on their list of modded ISO which contain their mandatory backup tools and management tools embedded in it.

CentOS 7 32 bit is classified by CentOS in the "alternative architecture" category, much like ARM, used by the Raspberry Pi 2.

It's more efficient with memory than 64 which is why I like it for a low memory 512MB PBX VPS.

I've updated my installer and now it builds and installs fine on 32 bit CentOS 7.
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
@chris_c_ : Just a couple of points. First, your comment is inaccurate: "[A]sterisk failed to be built, asterisk is not running, you the admin have no idea what is missing." You the admin have a detailed install log in /root that will tell you exactly what failed and why. I've asked you before to examine the log and tell us what's missing. You haven't done that. When you do, we'll be glad to address it.

There's a lot of "I have a version that works" in your posts, but nobody has seen your version. So, until then, we'll probably stick with what we have which has worked reliably for a number of years.

Open source development is all about group participation, and we welcome comments and suggestions AND code AND bug fixes. Pot shots from the bleachers without documentation are less helpful and really don't advance the project very much. Capiche?
 
  • Like
Reactions: chris_c_

krzykat

Guru
Joined
Aug 2, 2008
Messages
1,608
Reaction score
438
Location
South Florida
@hecatae
@wardmundy Have you looked at FreePBX 13 code. Interface is responsive, compatible with tablets and phones, which FreePBX 12 is not. I read your objections to the mandatory collection of personal user information. Yet it's possible to bypass the code which collects the user information, and in so doing let 13 run free without collecting or submitting the detailed user info, right?
I think some synergy could be achieved with @phonebo.cx and what they've got on github, that could be good for this project. They are trying to address some of these concerns as well.
 

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
@wardmundy
I posted my logs in #4 and #14.

I posted my github code links in #12 and #18.

Please, verify independently yourself that your script fails exactly as I described, without stopping, without displaying any error message, on CentOS 7 32 bit, it runs to the end, reboots, updates, shows status screen which shows all services running, yet, in reality, asterisk is not running, asterisk failed to build, and fail2ban is not running! All you need to do to verify is obviously create a new CentOS 7 32 bit VPS, and run either one of the installers from your blog post http://nerdvittles.com/?p=14208
http://incrediblepbx.com/incrediblepbx13-12.2-centos.tar.gz
http://incrediblepbx.com/incrediblepbx13-12.3-centos.tar.gz
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
#4 issues have already been addressed in the installer. As previously indicated, #14 doesn't help us because we don't use GitHub to maintain Incredible PBX, and your version is out of date. Reviewing your #14 Incredible PBX installer reveals you are using a version before the make menuselect automatic code update was added.
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
Having wrestled with this a bit, there appear to be numerous problems with dependencies in the 32-bit iteration of CentOS 7. Much of this is probably due to the fact that this is an unsupported platform. Some of the dependencies particularly for the default version of PHP simply aren't available at all. Here are pieces that we have been able to scavenge from sources other than CentOS... so far:
Code:
yum -y install https://dl.fedoraproject.org/pub/epel/6/i386/libresample-0.1.3-12.el6.i686.rpm
yum -y install https://dl.fedoraproject.org/pub/epel/6/i386/libresample-devel-0.1.3-12.el6.i686.rpm
yum -y install jansson-devel
yum -y install expect
yum -y install ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/alofflambas/CentOS_CentOS-5/i386/iksemel-1.4-4.1.i386.rpm
yum -y install ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/alofflambas/CentOS_CentOS-5/i386/iksemel-devel-1.4-4.1.i386.rpm
yum -y install ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/alofflambas/CentOS_CentOS-5/i386/iksemel-utils-1.4-4.1.i386.rpm
yum -y install ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/mge1512:/database/RedHat_RHEL-6/i686/libfreetds-0.91-29.7.i686.rpm
yum -y install flite flite-devel
While we can get Asterisk to compile successfully with these additions, chances are that more than a few applications as well as pieces of the FreePBX GUI may not work at all because of missing PHP packages. So we'd put a big NOT RECOMMENDED stamp beside CentOS 7/32 unless others can point to things we may have missed.

Here are just a few of the numerous problem areas:
Code:
Error: Package: mpg123-1.20.1-1.el6.rf.i686 (rpmforge) Requires: libesd.so.0
Error: Package: php-mcrypt-5.3.3-1.el6.rf.i686 (rpmforge)
           Requires: php-api = 20090626
No package libtsan available.
Error: Nothing to do
No package python-simplejson available.
Error: Nothing to do
usr/lib/python2.6/site-packages/googlevoice/voice.py
error: Failed dependencies:
        postfix = 2:2.10.1-6.el7 is needed by (installed) postfix-perl-scripts-2:2.10.1-6.el7.i686

all sorts of postfix and pcp mess which needs to be ripped out for SendMail to function properly.
 
Last edited:

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
@wardmundy Thanks for taking the time to search for rpms and reply.
It seems we're crossing communications.
I reported the bug in the Incredible PBX install script here on July 31, I posted logs and code, and I fixed it on Aug 2nd. You also fixed it on the 3rd on your copy of the code, apparently you did not see that I'd published my fix on github.

Side note, You gotta get on github, the savings in time and aggravation, plus the powerful collaborative features, make life better, and would have avoided the duplication of efforts, reduced time wastage.

And I recommend CentOS 7 32 bit for the PBX for the reasons I've already stated! @hecatae also prefers 32 bit!

Now, on the the point. The problem with the incredible pbx shell script installer is that, it was obviously hacked together quickly to do a simple install task, as most are. It seems to have quickly taken on a life of its own, as complicated as some apps. Unfortunately, all shell scripts, including the incredible pbx install script, are full of subtle side effects which will result in the script failing in unusual ways. There is hope, however, it's possible to fix up, enhance, improve upon this incredible PBX installer script to be more robust in its handling of error conditions, which minimize these annoying problems, such as asterisk not compiling, the install script not catching it, and the status app wrongly showing asterisk to be running!

Let me ask you something, how did you come up with the list of packages in the file "yumlist.txt" ?
Where is the documentation for each add-on, in terms of which packages does each add-on require? For incredible,for asterisk modules, for freepbx modules, for freepbx itself, and for the base asterisk.

Thanks.
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
Incredible PBX has been under development since the early Asterisk 1.4 days. Various releases of Asterisk and FreePBX (among other packages) have broken and changed things hundreds of times over the years. You're more than welcome to use any parts of the installer that you see fit pursuant to the GPL3 license. Installs do fail once in a while when someone else's server goes down, usually over the weekend. Other than that, we test all of the installers weekly, and they don't fail for long on the supported platforms. CentOS 7/32-bit is NOT a supported platform. It's barely supported by CentOS, and no 32-bit hardware is still in production.

Yes, as installs proceed, large chunks of code could be added to test for failures and prompt for input. But then the identical (and current) installer would not work with the Incredible PBX ISO for a whole host of reasons. Yes, we could have separate, self-contained ISOs, but many of us have been down the [email protected] road which typically had a lag time of six months or more between releases. Incredible PBX releases are published at least every month and some get updates several times a week. And, no, we don't plan to migrate to GitHub anytime soon. Nor do we plan to support CentOS 7 (32-bit) until we see a working, reliable installer that incorporates all of the Incredible PBX components AND provides a reliable install at least 95% of the time. Once you add a bunch of yum installs from dozens of different sites, many of which have no redundancy, the install failure rate goes up geometrically. We are eliminating non-redundant sources in the other platforms as quickly as we can work through them to bring components that are not part of the CentOS and SL repositories in house.

We have no plans to further document everything we've developed over the past 10 years. The entire history of our projects is available on Nerd Vittles in reverse chronological order.
 
Last edited:

jerrm

Guru
Joined
Sep 23, 2015
Messages
544
Reaction score
233
@wardmundy, @chris_c_

I agree with both on various points.

I personally would not put the effort in supporting CentOS7 32bit. If you need 32bit use 6.x. Whatever the real or perceived advantages, i386 is the orphan step child now. Trying to "officially" support it would likely be an ongoing game of whack-a-mole.

The installer does need some attention. Pretty much anything and everything can blow up during the install, and the user will get a screen implying it was successful. It would not take "large chunks of code" to largely fix it. Without structural changes, wrapping functions around wget, git and yum that exit with an appropriate message on a retrieval error (and install for yum), then adding a check for success wherever there is a "make && make install" or similar. 100 lines or so would eliminate most of the issues and confusion I've seen posted and would not break the ISO install.
 
  • Like
Reactions: chris_c_

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
@wardmundy, @chris_c_

The installer does need some attention. Pretty much anything and everything can blow up during the install, and the user will get a screen implying it was successful. It would not take "large chunks of code" to largely fix it. Without structural changes, wrapping functions around wget, git and yum that exit with an appropriate message on a retrieval error (and install for yum), then adding a check for success wherever there is a "make && make install" or similar. 100 lines or so would eliminate most of the issues and confusion I've seen posted and would not break the ISO install.
Trust me. The installer gets "some attention" every week. We will add some more error checking as time permits. Lots going on. As for "anything and everything can blow up," I think our track record has been pretty good. We get less than one report a month of an install that went awry on a supported platform (of which there are many). As noted elsewhere, these are typically weekend system failures on servers over which we have no control. What I think neither of you quite appreciate is that, if a download site happens to be off-line on a weekend, the install typically hangs there, sometimes forever. Error checking wouldn't help at all. So, suggesting that folks have no idea when or where an install fails is not quite accurate in most cases. Asterisk compile failures are few and far between on supported platforms unless Digium happens to make a major code change without out knowing about it in advance. And, as previously noted, there is an install log which will pinpoint problems for those that are interested.

Installation support for CentOS 7 has been available for one week. The install failure rate on the 64-bit platform is exactly zero. That's about as good as we can do. :death:
 

jerrm

Guru
Joined
Sep 23, 2015
Messages
544
Reaction score
233
Maybe I've had bad luck, out of probably something like 30 installs, I've had not less than five go bad. Never had one of those hang indefinitely, they all fell through to the final prompts.
 

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
@jerrm Please post the error logs with platform info. We'd love to review them. Is this with 32-bit CentOS 7 or some other platform??

Here's another reason to stay away from the 32-bit platform. It can't add worth a damn.

This screws up the status display royally (2=Asterisk UP 1=Asterisk DN):
Code:
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
1
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
1
 

chris_c_

Active Member
Joined
Aug 19, 2010
Messages
509
Reaction score
67
@jerrm Please post the error logs with platform info. We'd love to review them. Is this with 32-bit CentOS 7 or some other platform??

Here's another reason to stay away from the 32-bit platform. It can't add worth a damn.

This screws up the status display royally (2=Asterisk UP 1=Asterisk DN):
Code:
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
1
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
2
[[email protected] ~]# echo `ps aux | grep -c /usr/sbin/asterisk`
1
@wardmundy It has nothing to do with the fact it's a 32 bit virtual machine, it adds just fine. I reported and fixed this bug about 7 days ago. This long standing bug is the reason why your status script reported asterisk up when it was down, in this case due to the failed compile that the install script breezed right by and said all was good. As I explained at the time, right in this thread actually, when you do a "ps aux | grep keyword" it has always counted one for the "grep keyword" so you need to look for "greater than one" to conclude asterisk is up. The fix has been in the github for a week.
 
Last edited:

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
@wardmundy It has nothing to do with the fact it's a 32 bit virtual machine, it adds just fine. I reported and fixed this bug about 7 days ago. This long standing bug is the reason why your status script reported asterisk up when it was down, in this case due to the failed compile that the install script breezed right by and said all was good. As I explained at the time, right in this thread actually, when you do a "ps aux | grep keyword" it has always counted one for the "grep keyword" so you need to look for "greater than one" to conclude asterisk is up. The fix has been in the github for a week.
We're fully aware of the way grep counts. It hasn't changed in years. Take another look at the code I posted. :rolleyes: You will note that all 7 commands are identical. The results are not, and it's only on the 32-bit platform. If you prefer the word "calculate" rather than the word "add", the results are still a problem.
 
Last edited:

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,325
Reaction score
2,705
This discussion no longer seems productive so it's probably best to close the thread until there is some positive development to discuss. Feel free to PM meet when there's something new to report, and I will reopen the thread.
 
Status
Not open for further replies.

Members online

PIAF 5 - Powered by 3CX

Forum statistics

Threads
22,514
Messages
138,530
Members
14,644
Latest member
goseph