Summary:ASTERISK-07065: [branch] Asterisk will not compile on Linux (on s390/s390x)
Reporter:Frank Pani (fpani0)Labels:
Date Opened:2006-05-31 11:48:48Date Closed:2006-07-24 16:14:26
Versions:Frequency of
Environment:Attachments:( 0) make.output
( 1) make.output3

I'm not too sure which category this should be placed in.  Hopefully it gets noticed, as I really think asterisk should compile on here on Linux, but it's not.

# SVN revision number: Checked out revision 31049
# Platform (O/S): SuSE SLES8 on Linux s390 (zSeries)
# Is the problem reliably repeatable? Yes (on multiple systems)
# Debugging output: see attached file (make.output)

I have download the 1.2 asterisk stream via SVN, and have attempted to compile on the Linux machine that I have indicated above.  Unfortunately, asterisk compiles okay up to the point where it reaches k6opt.s file (in /usr/src/asterisk-1.2/codecs/gsm), where numerous errors come.  (see attachement for details)
Comments:By: Russell Bryant (russell) 2006-06-01 09:21:38

It looks like the codecs/gsm/Makefile has already been changed to fix this problem.  Could you please update to the latest code in the 1.2 branch and try again?

By: Frank Pani (fpani0) 2006-06-01 12:16:32

Yes, from a message I left about this in the asterisk-user mailing list, Keven Fleming added this to the codecs/gsm/Makefile, thinking that it would be a quick fix.  He did add this, but when I tried to compile again unfortunately that didn't work.  We recieve the same error that we see in the make.output file that I have attached.  The suggestion was to then put this in the bug tracker.

I have recently just updated to the latest code in the 1.2 branch (revision 31436), but still it's not compiling, as per the make.output file.

By: Kevin P. Fleming (kpfleming) 2006-06-01 15:54:14

This is not MAJOR, since we have never claimed to be able to build on this platform.

By: Tilghman Lesher (tilghman) 2006-06-22 11:34:51

You're going to need to provide remote root access to this machine to a developer, since most (all?) of us don't have access to this architecture.  Please find a developer on IRC on irc.freenode.net, channel #asterisk-dev, to help you with this.

By: Steve Murphy (murf) 2006-06-22 16:26:08

To move this issue along, please tell me, what does uname -s return, and what does uname -m return on your suse machine?

By: Frank Pani (fpani0) 2006-06-27 06:41:16

Hi - to respond to the last note, I have this (with also the output from uname -a)

linuxvm1:~ # uname -s
linuxvm1:~ # uname -m
linuxvm1:~ # uname -a
Linux linuxvm1 2.4.21-309-default #1 SMP Tue May 23 12:18:08 UTC 2006 s390 unknown

It's the 2.4 kernel and the architecture of the machine is zSeries or s390 - a Linux machine running under a VM on mainframe.   Now, in order to get root access to the machine for a developer, I will try and do this - but will need a bit of time to work out issues with firewall, location of machine, etc.   In the meantime, I'm continuously looking for answers.   I have read that somebody got this compiled, working on a Debian machine also on s390.

By: Steve Murphy (murf) 2006-07-03 13:55:21

OK, Until you can supply an account on a s390 machine,
you will be the guinea pig. Go fetch the branch:


This will fetch the 1.2 tree, and I've made some really teeny tiny tweaks to it,
to try to prevent the s390 from getting the k6opt stuff. Tell me if it works...
attach a log of the make, if so.

I suspect that you may have several issues... that branch can hold all the tweaks that might be necessary for this/these issue(s).

By: Frank Pani (fpani0) 2006-07-11 19:04:53

Thanks for the follow-up.

I did this and end up with this error - looks like perhaps a syntax in the makefile (endif).   I also uploaded a file called make.output3 which carries this error.  

Apologize for the upload of make.output2 - this isn't a complete output - so please ignore or delete (I couldn't delete it due to lack of privs).

make -C gsm lib/libgsm.a
make[2]: Entering directory `/usr/src/asterisk_bug_7253/codecs/gsm'
Makefile:599: *** missing `endif'.  Stop.
make[2]: Leaving directory `/usr/src/asterisk_bug_7253/codecs/gsm'
make[1]: *** [gsm/lib/libgsm.a] Error 2
make[1]: Leaving directory `/usr/src/asterisk_bug_7253/codecs'
make: *** [subdirs] Error 1

By: Steve Murphy (murf) 2006-07-17 17:08:23

Sorry about that! Do an "svn update" and try it again. Sorry for delay. Was on the road.

By: Frank Pani (fpani0) 2006-07-24 08:07:58

Hi - you accomplish a succesful compile on Linux for mainframe (as per below).

Many many thanks!  

I wonder if there is a quick test that would validate the "build" will run?   Or do you wish to shut this ticket out as complete?  I'm thinking we could we start Asterisk up somehow quickly, and have it dail out using my VoIP SIP provider as a test?   I need to learn a lot here about asterisk still, but do you have quick and dirty instructions on how to do this?

+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, but +
+ cannot be run before being installed by   +
+ running:                                  +
+                                           +
+               make install                +

By: Serge Vecher (serge-v) 2006-07-24 10:13:15

fpani0: thanks for feedback. For general information on Asterisk and to answer your questions, please review the Get started section for Asterisk's wiki at www.voip-info.org.

By: Steve Murphy (murf) 2006-07-24 16:11:13

fpani0 -- Good. I've committed the fixes to 1.2, and committed a very probable fix to trunk for the future.

I'm going to close this bug, as it does define a bug in compilation, not in running.

If you are able to find some bugs due to incompatibility with the s390 arch, then it would be appropriate to open a new bug report.

As to quick testing, I don't see any shortcuts to defining a set of config files. I guess the absolute minimum would be an extensions.conf or extensions.ael with just one context to handle incoming calls from your voip provider. A sip.conf to register to that voip provider. I'm not quite certain what other minimal config files would be necessary, you'll have to watch the error messages when you start asterisk. Best of luck!!!

By: Steve Murphy (murf) 2006-07-24 16:13:37

1.2 branch, committed revision 38168
trunk, committed revision 38187

By: Steve Murphy (murf) 2006-07-24 16:14:26

Changes committed, comments to bug report made.