Thursday, July 2, 2009

Dare Devel

Recently, I installed a Reminder module to allow wakeup calls etc. The next step was to install the text-to-voice portion. I needed to first install asterisk-devel. No problem, right?

[root@localhost ~]# yum install asterisk-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.arcticnetwork.ca
* updates: ftp.telus.net
* addons: centos.arcticnetwork.ca
* extras: ftp.telus.net
asterisk-current | 1.1 kB 00:00
digium-current | 1.1 kB 00:00
base | 1.1 kB 00:00
updates | 951 B 00:00
addons | 951 B 00:00
extras | 1.1 kB 00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package asterisk16-devel.i386 0:1.6.0.10-1_centos5 set to be updated
--> Processing Dependency: asterisk16-core = 1.6.0.10 for package: asterisk16-devel
--> Running transaction check
---> Package asterisk16-core.i386 0:1.6.0.10-1_centos5 set to be updated
--> Processing Conflict: asterisk14-core conflicts asterisk16-core
--> Processing Conflict: asterisk16-core conflicts asterisk14-core
--> Finished Dependency Resolution
asterisk16-core-1.6.0.10-1_centos5.i386 from asterisk-current has depsolving problems
--> asterisk16-core conflicts with asterisk14-core
asterisk14-core-1.4.25.1-1_centos5.i386 from installed has depsolving problems
--> asterisk14-core conflicts with asterisk16-core
Error: asterisk14-core conflicts with asterisk16-core
Error: asterisk16-core conflicts with asterisk14-core
Ok. Problem.

For some reason "Trixy" (The trixbox installation) was getting confused about which version she wanted to run: 14 or 16.

The following guide helped me a lot : http://forums.digium.com/viewtopic.php?t=68202

I've had a lot of people ask me about Asterisk 1.6 in AsteriskNOW. Packages for it do exist in the repository, but it's not obvious how to switch "properly". There are two sets of packages - "asterisk14" and "asterisk16". The default is "asterisk14".

The problem is that you can't normally tell yum to install and remove packages simultaneously, in order to avoid dependency issues. But, there is a solution! yum has a 'shell mode', where multiple commands can be processed in a single transaction.

From a command line, run:
# yum shell

This enters the shell mode of yum. Once in the shell, enter the following.
# remove asterisk14-core asterisk14
# install asterisk16 asterisk16-core
# ts solve
# ts run

At this point, the package list will be calculated, and you should be presented with the option to finish the transaction. If everything looks correct, hit 'Y' and let it complete. You can then 'exit' the shell mode. Congratulations! You've just successfully installed Asterisk 1.6.

Note: If you've installed them, you may see asterisk14-addons packages being removed. You can add the asterisk16-addons equivalents to the 'remove' and 'install' commands above, and they will also be upgraded.
That worked! My next yum install asterisk-devel also worked without any errors. It was a bit of a leap of faith, but at least we know now.

DJ

No comments:

Post a Comment