Zaptel / Asterisk on Solaris

Home » Asterisk Users » Zaptel / Asterisk on Solaris
Asterisk Users 10 Comments

Hello nice people 🙂

I have been struggling with trying to get Zaptel from
http://www.slimey.org/zaptel-solaris.tar.gz on a Solaris 5.11 VM I obtained
from the OpenSolaris Website. I have tried installing all the necessary
packages, yet I keep getting errors no matter if I try using the gcc
available at sunfreeware.com OR the blastwave CSWgcc packages and GNU
‘gmake’ (as suggested somewhere on the Internet).

I have tried sending emails to the people at SolarisVoIP.com and To Simon,
from Slimey.org who built/created this Zaptel Solaris Port, but it’s been
over 2 weeks and I’ve not heard anything from anyone. This is EXTREMELY
critical for me to work…can anyone kind generous gentleman please help?

Thank you so much
RR

10 thoughts on - Zaptel / Asterisk on Solaris

  • Hi RR,

    As far as I am aware the version of Zaptel on SolarisVoIP is out of date. Aditionally the versions of the packages compiled at SolarisVoIP are only available, as far as I am aware, for the Solaris platform and not the OpenSolaris platform, there may be subtle differences between the two that may be causing your build error.

    If you have a look at SolarisVoIP there are pre-built packages for SPARC/X86 hardware which you do not need to build yourself.

    In saying all of the above, your millage may vary with zaptel running in a VM as the timing is virtualized (via usb) and is not, as far as I know, very well supported within a VM.

    Thanks
    Bruce

    href=”mailto:asterisk-users-bounces@lists.digium.com”>asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of RR
    Sent: 01 December 2010 00:55

    Hello nice people 🙂

    I have been struggling with trying to get Zaptel from http://www.slimey.org/zaptel-solaris.tar.gz on a Solaris 5.11 VM I obtained from the OpenSolaris Website. I have tried installing all the necessary packages, yet I keep getting errors no matter if I try using the gcc available at sunfreeware.com< http://sunfreeware.com> OR the blastwave CSWgcc packages and GNU ‘gmake’ (as suggested somewhere on the Internet).

    I have tried sending emails to the people at SolarisVoIP.com and To Simon, from Slimey.org who built/created this Zaptel Solaris Port, but it’s been over 2 weeks and I’ve not heard anything from anyone. This is EXTREMELY critical for me to work…can anyone kind generous gentleman please help?

    Thank you so much
    RR

  • Hi Bruce,

    Thanks for responding to my message. Doesn’t seem like anyone is or is
    interested in running Asterisk on Solaris or if they are then they’re being
    very secretive / quiet about it as I need a bit of help.

    Yes, I do know that SolarisVoIP people do have pre-built packages out there
    that I can simply install without having to deal with compiling them which I
    have actually done for Asterisk. Alas, the version of Asterisk they have in
    that pkg is v1.2.7.1. Also, don’t know if you’ve recently looked at the page
    at SolarisVoIP but they do have a package for OpenSolaris v5.11 which is a
    fairly recent Solaris version however it beats me why it comes with Asterisk
    v1.2.7.1 instead of 1.4 or 1.6 even. Anyway, so yeah like I said, I have
    that installed, but I can’t start it as it fails trying to look for Zaptel
    stuff.

    Zaptel package isn’t installing though …crashes midway complaining that:

    *”Operating environment requirement not met.
    This package requires Solaris 7 or better.
    checkinstall script suspends”*

    huh? I’m running 5.11, which according to some rigorous mathematical
    calculations, I concluded IS better than v5.7. Unfortunately, I’ve been away
    from the development world so long that I can’t remember where to go about
    hacking a “package” and extract the scripts etc to change the logic or fix
    whatever is causing it to believe that my OS isn’t meeting the min. req.

    Lastly, w.r.t to running it within a VM, yes, I do understand the timing
    problems etc, but this exercise is just to document how to compile
    Asterisk/Zaptel under Solaris 10/11 so when I do get a real Solaris machine,
    I have already sorted out all the issues with installing/compiling etc

    Thanks
    R

    On Wed, Dec 1, 2010 at 1:10 PM, Bruce McAlister asterisk-users-bounces@lists.digium.com [mailto:
    href=”mailto:asterisk-users-bounces@lists.digium.com”>asterisk-users-bounces@lists.digium.com] *On Behalf Of *RR

  • Assuming Solaris is anything like Linux, the installer will just be a shell
    script. Open the script in a text editor and search for the text of the
    error message. It will be wrapped inside an `if` statement, just alter this
    so the test always passes.

    I had to do something similar to allow the Flashplayer installer to install
    the 32-bit Flash binary into users’ home directories held on a 64-bit NFS
    server and exported to 32-bit workstations, right from the server.

  • yes Solaris is a lot like Linux, well they’re all just variations of the
    standard Posix-C old AT&T Unix systems right? But the pkg files I have are
    just bundles like RPMs etc, and I haven’t really explored how to open /
    extract the files inside a pkg and then muck around with them but I’m sure
    it’s not difficult to do. I guess I haven’t found out how to unpack a “pkg”
    file and extract the contents, then find the script that running and
    modify/edit it.

  • As of this writing, I have recreated my Solaris VM with the latest Solaris
    10 U9 version and have managed to install and load the zaptel driver. This
    is from the SolarisVoIP but it must be a really old (haven’t checked the
    version yet). Now, trying to go crazy here and compile the stock Asterisk
    1.6.2.14 with it.

    Question for the Digium dev team (if they bother reading emails from
    lowlifes like me): Are their special optimizations/options/conditions/checks
    ALREADY in place within the makefile/configure files that detect Solaris and
    if we want to go really crazy then detect 64-bit Solaris? Do I just fix my
    library paths with the LDFLAGS and just run configure or should I be doing
    something more, modifying makefile, makefile.rules, makefile.opts or the
    configure script itself??

    Wonder why no one responds to emails related to Solaris on Asterisk…even a
    search throughout the forum on the Digium website, hardly anything comes up
    regarding Solaris 🙁

    Can the developers PLEASE help?

    Thanks so much in advance,
    RR

  • Hi RR,

    Replies inline below

    href=”mailto:asterisk-users-bounces@lists.digium.com”>asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of RR
    Sent: 04 December 2010 01:17

    Zaptel package isn’t installing though …crashes midway complaining that:

    “Operating environment requirement not met.
    This package requires Solaris 7 or better.
    checkinstall script suspends”

    huh? I’m running 5.11, which according to some rigorous mathematical calculations, I concluded IS better than v5.7. Unfortunately, I’ve been away from the development world so long that I can’t remember where to go about hacking a “package” and extract the scripts etc to change the logic or fix whatever is causing it to believe that my OS isn’t meeting the min. req.

    Lastly, w.r.t to running it within a VM, yes, I do understand the timing problems etc, but this exercise is just to document how to compile Asterisk/Zaptel under Solaris 10/11 so when I do get a real Solaris machine, I have already sorted out all the issues with installing/compiling etc

    Thanks
    R

    As of this writing, I have recreated my Solaris VM with the latest Solaris 10 U9 version and have managed to install and load the zaptel driver. This is from the SolarisVoIP but it must be a really old (haven’t checked the version yet). Now, trying to go crazy here and compile the stock Asterisk 1.6.2.14 with it.

  • Changes that you need to make to get Asterisk to compile reliably on
    Solaris would be welcome reports on the issue tracker. What we have now
    are paths that worked for someone at sometime. Adding extra include
    and library paths should not cause problems, but what really should happen
    is that the configure script should be detecting the right paths and
    automatically adding them to the Makefile variables.

    Our standard build script for Solaris (1.8 and trunk only) does not alter
    the source at all, but does set PATH and LD_LIBRARY_PATH to ensure that
    certain values are included, and it does compile and run (and pass) our
    unit tests.

    Our take on it is that as Linux is what most people run Asterisk on, it is
    our primary concern, but additional platforms, such as FreeBSD, OpenBSD,
    Mac OS X, and Solaris, as long as they have available relatively recent
    versions of gcc and GNU make, are welcome additions. We won’t ever
    consciously break platforms, but the addition of build machines (such as
    what Bruce McAlister and his team at Blueface have provided with regard
    to Solaris) help us to ensure that if the build breaks, we have immediate
    notification and a machine to test fixes against.

  • Hi Bruce,

    Thanks again for your generous response, please see a few comments inline

    On Sat, Dec 4, 2010 at 6:27 AM, Bruce McAlister asterisk-users-bounces@lists.digium.com [mailto:
    href=”mailto:asterisk-users-bounces@lists.digium.com”>asterisk-users-bounces@lists.digium.com] *On Behalf Of *RR

    Ok, awesome. Will give 1.6.2.15-rc1 a try although in the beginning I did
    see compilation errors w.r.t to timersub routine, I don’t see them anymore.
    I think it was complaining about some library that I then created a soft
    link for in a lib directory and that seems to have got fixed. But
    neverttheless I’ll get the build you recommend.

    Ok, right so this is where I’m having serious issues almost every step of
    the way. The problem is the stupid paackaging of Solaris and the difficulty
    in obtaining packages for them and their dependencies. Like for a week I
    struggled with figuring out how I could install/upgrade solaris 8 over the
    network to Solaris 10 with JUST a minimal core and the devlopment tools like
    gcc, gmake and some libraries etc. then I gave in and decided to just
    install the developers Metacluster since compiling/building Asterisk on it
    was more important to me right now. Then if I want to stick with purely the
    Solaris version of everything, my only option is to manually download
    packages I think I need from sunfreeware.com. If I use pkgutil or pkg-get,
    then I end up with the CSW packages and that will add to the complexity of
    PATHs to my libraries and binaries. Anyway, now that I’m done b**ching about
    Solaris (haha) you have hit on the core of my problem. It’s the library
    paths that are messing me up. So this is how I ran configure:

    *LDFLAGS=’-R/lib -R/usr/lib -R/opt/lib -R/opt/sfw/lib -R/usr/sfw/lib
    -R/usr/local/lib -R/usr/ccs/lib -L/lib -L/usr/lib -L/opt/lib -L/opt/sfw/lib
    -L/usr/sfw/lib -L/usr/local/lib -L/usr/ccs/lib’ ./configure

  • Hi Tilghman,

    Thanks for your response. Please see my response below.

    So as mentioned in my response to Bruce, I did try to prepend these library
    paths to the configure script via the LDFLAGS variable. You’re right about
    all the includes and library paths. The problem is, as I’ve mentioned
    earlier, for non-developer people like me, this isn’t second nature and
    eveytime I have to do something like this, it’s usually months or many times
    years since I’d last had to build anything from source and modify something
    anything in the code. So it would help if after these unit and sanity tests
    that are done for whichever build/release/version, if these can be added to
    the README or INSTALL notes for Solaris, for *that* build in a file like
    INSTALL.solaris or something. This won’t happen everytime or for every
    release/, and I understand and appreciate that but it’s a bit hard to get
    this going whent eh only resource we have are the pages from SolarisVoIP
    people which is almost 3-5 yrs old and I have not heard from Joe at
    thrallingpenguin after I sent him 2 emails about 3-4 weeks ago. We’ll we
    more than happy to help in whatever way, if we can get a bit of hand holding
    and relatively fast turnaround/attention from the developers who can just
    point us in the right direction … don’t have to use up your machines, dev
    cycles or testing time, we’ll do all of that if we can get help in
    troubleshooting the build environment.

    Anyway, coming back to the point, so are you saying that I should try trunk
    or 1.8 instead of mucking around with 1.6x versions? Sorry I have got back
    to Asterisk after almost 3 years, so haven’t kept up with where I should be
    going and is it better to stick with 1.6x or just go to 1.8 as there’s no
    upgrades or backward compatability requirements for me.

    Once I get this going, I promise to have an updated document uploaded
    somewhere or will mail to the list so someone can put it on the wiki.

    Thanks,

    RR

  • Well, for example, prior to 1.8, the build simply ignores any paths that
    you provide, as to –prefix or any other paths. We’ve changed that in the
    1.8 release, so that you no longer need to edit the Makefile if you don’t
    want to use the paths that someone, sometime, decided were the right paths
    in which Asterisk should reside on Solaris. Of course, if you don’t use
    any prefix arguments, it will continue to use those same paths; they
    function merely as the defaults.

    I’m sure you could run Asterisk on Solaris as far back as pre-1.0, although
    how often this was broken is anybody’s guess. We’re trying to make it more
    compatible and automatic as far as finding standard paths, but when
    something does not work, the best thing for you to do is to post a
    reflection of the issue on https://issues.asterisk.org, as well as what you
    did (if anything) to fix it. Then, as time permits, we’ll look at making
    that contribution portable to multiple platforms, to benefit everybody. The
    goal, of course, is for you to need to make no tweaks whatsoever, other
    than preferential arguments to the configure script, and Asterisk should
    just build.