Giter Club home page Giter Club logo

Comments (27)

davehorton avatar davehorton commented on August 26, 2024 1

please test branch freeswitch-v1.10.10 @palmtown and let me know your results. Should work with either debian 11 or 12

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

Hello there,

I found that the above issue is generated when building spandsp. Also, I found it is a known issue that was recently introduced as shown at freeswitch/spandsp#51. Using Sed to change the version back to 2.69 works. However, ran into several other errors.

Next error was that the php-config command was not found, commented it out, and now next error is in regards to python as shown below, although python3 is installed. I'm working through the errors.

If anyone has any suggestions or a working repo, that would be great.

ASK [ansible-role-fsmrf : Freeswitch configuration (with extra modules)] ***********************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --with-lws=yes --with-extra=yes", "delta": "0:00:06.945793", "end": "2023-07-10 17:22:24.952720", "msg": "non-zero return code", "rc": 2, "start": "2023-07-10 17:22:18.006927", "stderr": "configure: WARNING: Could not find python, mod_python will not build, use --with-python to specify the location\nconfigure:

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

Hello again,

Just leaving you with my notes. In short, after investigating your script in detail, I come to find that the main reason for many of the errors is that the FreeSWITCH version this playbook uses is 2 years old, and unfortunately, doesn't have many of the updates that FreeSWITCH includes to compile/work correctly on Debian 11. For example, Debian 11 sets python3 as default, and the newer FreeSWITCH source has support for python3 whereas this repo's version doesn't. Specially, in the ansible-role-fsmrf/files/ which contains some of the modified FreeSWITCH source code.

So far I've found the following requirements to resolve:

  1. Implement Sed solution to change AC_PREREQ([2.71])) to 2.69 version in spandsp
  2. The files in ansible-role-fsmrf/files/ will need to be updated, preferably to the latest stable FreeSWITCH version along with this repo's required modifications.
  3. Maybe update the additional libraries e.g. https://github.com/aws/aws-sdk-cpp.git? The version referenced is 2 years old as well.

from ansible-role-fsmrf.

zenthangplus avatar zenthangplus commented on August 26, 2024

You can checkout my new patch version: #15

from ansible-role-fsmrf.

davehorton avatar davehorton commented on August 26, 2024

We are in the process of updating to freeswitch 1.10.10

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

I hope all is well. That's great news! Looking forward to your release. More than happy to test it once it is ready.

from ansible-role-fsmrf.

zenthangplus avatar zenthangplus commented on August 26, 2024

We are in the process of updating to freeswitch 1.10.10

Good news

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

please test branch freeswitch-v1.10.10 @palmtown and let me know your results. Should work with either debian 11 or 12

@davehorton I would be honored. Will post my feedback shortly. Thanks!

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

Again, thanks for working on this issue. Secondly, I have began testing branch freeswitch-v1.10.10, on Debian 12, and found the below errors of which one (1) I was able to resolve. Testing is ongoing as grpc has been building for 20 minutes, however, will update with my final notes once complete.

  1. The Ansible playbook failed to run. In short, as shown in the Exhibit 1 below, there is a syntax error in the file '/root/ansible-role-fsmrf/tasks/main.yml': line 105, column 15. Specifically, I've found that it is caused by {{drachtio_modules_version}} not being enclosed in quotes. Once I enclosed {{drachtio_modules_version}} with quotes, the script was able to run.

  2. An error occurred at "TASK [ansible-role-fsmrf : patch compiler_settings.cmake and run build]." Although the error occurred, the script continued to run and I noted the log "TASK [ansible-role-fsmrf : attempt rebuild (necessary on Debian 12 for some reason)]." It seems as if the script anticipated the error. Therefore, just noting for reference.

Exhibit 1
Syntax Error while loading YAML.
found unacceptable key (unhashable type: 'AnsibleMapping')

The error appears to be in '/root/ansible-role-fsmrf/tasks/main.yml': line 105, column 15, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

dest: /usr/local/src/drachtio-freeswitch-modules
version: {{drachtio_modules_version}}
          ^ here

We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:

with_items:
  - {{ foo }}

Should be written as:

with_items:
  - "{{ foo }}"

Exhibit 2
TASK [ansible-role-fsmrf : patch compiler_settings.cmake and run build] *********************************************************
fatal: [localhost]: FAILED! => ...[TRUNCATED INTENTIONALLY]

from ansible-role-fsmrf.

davehorton avatar davehorton commented on August 26, 2024

fixed first issue

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

Great! The install just finished and it was successful. Also, I verified FreeSWITCH is running. Having stated that, I can confirm that based on the updates, with the exception of the error you just fixed, I was able to successfully execute the Ansible playbook. The original issue I reported has been resolved.

Now, I will continue my testing.

Much appreciated @davehorton !

from ansible-role-fsmrf.

davehorton avatar davehorton commented on August 26, 2024

the second issue has to with changes I tried to make the aws libs compile on debian 12. Looks like there is still issues. I think I will move them into a conditional. Meanwhile best to test on debian 11 -- is that what you tried?

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

Note that I tried on Debian 12. I'll try on Debian 11 as well and report back.

from ansible-role-fsmrf.

davehorton avatar davehorton commented on August 26, 2024

I suspect that if you try to reload the aws module mod_aws_transcribe that it might not work

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

On Debian 12, mod_aws_transcribe seemed to have reloaded successfully as shown in Exhibit 1 below, although, I have not setup authentication yet.

Exhibit 1
+OK log level [7]
freeswitch@ip-172-31-6-13> reload mod_aws_transcribe
+OK Reloading XML
+OK module unloaded
+OK module loaded

2023-08-25 22:55:17.830627 79.30% [NOTICE] switch_loadable_module.c:1285 Deleting API Function 'uuid_aws_transcribe'
2023-08-25 22:55:17.830627 79.30% [DEBUG] switch_loadable_module.c:1287 Write lock interface 'uuid_aws_transcribe' to wait for existing references.
2023-08-25 22:55:17.830627 79.30% [CONSOLE] switch_loadable_module.c:2354 Stopping: mod_aws_transcribe
2023-08-25 22:55:17.830627 79.30% [INFO] switch_time.c:1433 Timezone reloaded 1750 definitions
2023-08-25 22:55:17.830627 79.30% [NOTICE] switch_event.c:467 Subclass reservation deleted for mod_aws_transcribe.c:aws_transcribe::transcription
2023-08-25 22:55:17.830627 79.30% [CONSOLE] switch_loadable_module.c:2374 mod_aws_transcribe unloaded.
2023-08-25 22:55:17.830627 79.30% [NOTICE] mod_aws_transcribe.c:216 AWS Speech Transcription API loading..
2023-08-25 22:55:17.830627 79.30% [NOTICE] aws_transcribe_glue.cpp:359 "AWS_ACCESS_KEY_ID" and/or "AWS_SECRET_ACCESS_KEY" env var not set; authentication will expect channel variables of same names to be set
2023-08-25 22:55:17.830627 79.30% [NOTICE] mod_aws_transcribe.c:222 AWS Speech Transcription API successfully loaded
2023-08-25 22:55:17.830627 79.30% [CONSOLE] switch_loadable_module.c:1772 Successfully Loaded [mod_aws_transcribe]
2023-08-25 22:55:17.830627 79.30% [NOTICE] switch_loadable_module.c:389 Adding API Function 'uuid_aws_transcribe'
freeswitch@ip-172-31-6-13> freeswitch@ip-172-31-6-13>

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

Installation on Debian 11 is running, will update once it has completed with any notes.

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

Please note that the install failed for Debian 11 as shown in Exhibit 1. However, note that I did not enabled build_with_extra this time. Nonetheless, I've enabled build_with_extra now and re-run to observe the outcome.

Exhibit 1

TASK [ansible-role-fsmrf : FreeSwitch make] *************************************************************************************
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "make -j 4", "delta": "0:00:55.365497", "end": "2023-08-25 23:16:40.322255", "msg": "non-zero return code", "rc": 2, "start": "2023-08-25 23:15:44.956758", "stderr": "config.status: WARNING: 'apr-config.in' seems to ignore the --datarootdir setting\nrm: cannot remove 'libtoolT': No such file or directory\nmake[1]: warning: -j4 forced in submake: resetting jobserver mode.\nmake[1]: warning: -j4 forced in submake: resetting jobserver mode.\naudio_pipe.cpp:266:1: error: too many initializers for ‘const lws_retry_bo_t’ {aka ‘const lws_retry_bo’}\n 266 | };\n...[TRUNCATED INTENTIONALLY].

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

Please note that on Debian 11, it fails at "TASK [ansible-role-fsmrf : FreeSwitch make]" as described previously, even with build_with_extra enabled.

from ansible-role-fsmrf.

zenthangplus avatar zenthangplus commented on August 26, 2024

Hi @davehorton, i got this error:

cmd: mkdir -p build && cd build
cmake .. -DBUILD_DEPS=off -DBUILD_ONLY="lexv2-runtime;transcribestreaming" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_FLAGS="-Wno-unused-parameter -Wno-error" 
make -j 4 && make install


stderr: CMake Error at aws-cpp-sdk-core/CMakeLists.txt:496 (find_package):
  By not providing "Findaws-c-event-stream.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "aws-c-event-stream", but CMake did not find one.

  Could not find a package configuration file provided by
  "aws-c-event-stream" with any of the following names:

    aws-c-event-streamConfig.cmake
    aws-c-event-stream-config.cmake

  Add the installation prefix of "aws-c-event-stream" to CMAKE_PREFIX_PATH or
  set "aws-c-event-stream_DIR" to a directory containing one of the above
  files.  If "aws-c-event-stream" provides a separate development package or
  SDK, be sure it has been installed.


make: *** No targets specified and no makefile found.  Stop.

I built it on Debian 11.

from ansible-role-fsmrf.

zenthangplus avatar zenthangplus commented on August 26, 2024

Because i don't need aws libs, soi've tried to remove all aws libs. But i got another issue:

cmd: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --with-lws=yes --with-extra=yes

stderr: Package libpq was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpq.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libpq' found
./configure: line 34513: php-config: command not found
./configure: line 34514: php-config: command not found
./configure: line 34515: php-config: command not found
./configure: line 34517: php-config: command not found
./configure: line 34518: php-config: command not found
configure: WARNING: Could not find python, mod_python will not build, use --with-python to specify the location
configure: WARNING: python3.9 is unusable
configure: WARNING: Your python3 lacks threads support, can not build mod_python3
configure: WARNING: Could not find erlang, mod_erlang_event will not build, use --with-erlang to specify the location
config.status: error: cannot find input file: `Makefile.in'

from ansible-role-fsmrf.

davehorton avatar davehorton commented on August 26, 2024

should work now for both debian 11 and 12 please retest @palmtown .

For debian 12, its a bit kludgy in that I have to run cmake once for aws-sdk which fails but generates code that I can then patch in a rescue block and build again. So it works fine but you do get some failure messages on the console, followed by a message from me indicated this is expected

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton ,

Good morning! Re-running test... Will update soon.

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

Please note that the installation on a new instance of Debian 12 failed as shown in Exhibit 1 below. Please note that previously, installation succeeded on exact same Debian 12 instance. However, the aforementioned error did not occur during installation on Debian 11 and the installation is ongoing. I will update once complete.

Exhibit 1
TASK [ansible-role-fsmrf : copy mod_audio_fork into place] **************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (ansible.legacy.command) module: warn. Supported parameters include: _raw_params, _uses_shell, argv, chdir, creates, executable, removes, stdin, stdin_add_newline, strip_empty_ends."}

PLAY RECAP **************************************************************************************************************************************************************************
localhost : ok=11 changed=8 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

from ansible-role-fsmrf.

davehorton avatar davehorton commented on August 26, 2024

I think you are not running branch freeswitch-v1.10.10 or else you would have seen a different name for that task

- name: copy modules into place

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

You are absolutely correct, my apologies, I did not checkout the freeswitch-v1.10.10, simply moving too fast this morning.

from ansible-role-fsmrf.

palmtown avatar palmtown commented on August 26, 2024

@davehorton

I am happy to advise that both installations completed successfully with exception that on Debian 12, an anticipated error was caught and handled successfully by the script.

At this time, I have no errors to report.

Debian 12 Output
PLAY RECAP **************************************************************************************************************************************************************************
localhost : ok=60 changed=51 unreachable=0 failed=0 skipped=6 rescued=1 ignored=0

Debian 11 Output
PLAY RECAP **************************************************************************************************************************************************************************
localhost : ok=58 changed=49 unreachable=0 failed=0 skipped=7 rescued=0 ignored=0

from ansible-role-fsmrf.

davehorton avatar davehorton commented on August 26, 2024

merged, tagged as 2.0.0

from ansible-role-fsmrf.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.