[Freeswitch-dev] Help with autotools
Hi guys, I'm currently working, with a co-worker, in a pkgsrc package for FreeSwitch 1.6.17. We are writing the Makefile from scratch because we think that many patches from previous versions are no longer needed in this version. We are working on FreeBSD 11. None of us are savvy in development nor know the details of how autotools work. However, we were able to identify: 1) The distribution file from files.freeswitch.org differs from the git version, and is easier to fetch via http in pkgsrc; is the preferred method of getting distfiles. 2) There's a bootstrap.sh or rebootstrap.sh (depending on the source of the distribution) that uses libtool to generate the configure scripts. From this .sh script we have a better understanding of the build process. If you have all the dependencies and run this script, everything goes fine. However, we are not very clear on if we should run this .sh script from pkgsrc framework of if the pkgsrc framework should be able to run the libtool utility for itself in the same way the script does. pkgsrc has some vars USE_LIBTOOL= yes USE_TOOLS+= automake autoconf gmake perl pkg-config so those tools are installed in the build process as dependencies. What I can't identify is if pkgsrc knows how to run them accordingly or those vars are useful only for having preinstalled the tools and using them within the script. I also noted that some directories were removed from sources in git and not in distfile. Is there any chance to make them equal? Thanks in advance for your guidance. Best regards, Alberto Mijares
On Apr 28, 2017, at 4:39 PM, Alberto Mijares <alberto.m@futurelinkcorporation.com> wrote:
Hi guys,
I'm currently working, with a co-worker, in a pkgsrc package for FreeSwitch 1.6.17. We are writing the Makefile from scratch because we think that many patches from previous versions are no longer needed in this version. We are working on FreeBSD 11.
None of us are savvy in development nor know the details of how autotools work. However, we were able to identify:
1) The distribution file from files.freeswitch.org differs from the git version, and is easier to fetch via http in pkgsrc; is the preferred method of getting distfiles.
The tar balls are pre-bootstrapped.
2) There's a bootstrap.sh or rebootstrap.sh (depending on the source of the distribution) that uses libtool to generate the configure scripts. From this .sh script we have a better understanding of the build process. If you have all the dependencies and run this script, everything goes fine.
However, we are not very clear on if we should run this .sh script from pkgsrc framework of if the pkgsrc framework should be able to run the libtool utility for itself in the same way the script does.
I’d use the scripts, they do everything right.
pkgsrc has some vars
USE_LIBTOOL= yes USE_TOOLS+= automake autoconf gmake perl pkg-config
so those tools are installed in the build process as dependencies. What I can't identify is if pkgsrc knows how to run them accordingly or those vars are useful only for having preinstalled the tools and using them within the script.
The script should find them if they are in the path right, if not, you have to set env vars to point to the right version of the tools.
I also noted that some directories were removed from sources in git and not in distfile. Is there any chance to make them equal?
what specifically isn’t in one or the other?
Thanks in advance for your guidance.
Best regards,
Alberto Mijares
Thank you very much, Michael.
I’d use the scripts, they do everything right.
I'd like to, but this is not the right approach when you're writing a package within a framework like pkgsrc or the FreeBSD Ports Collection.
pkgsrc has some vars
USE_LIBTOOL= yes USE_TOOLS+= automake autoconf gmake perl pkg-config
so those tools are installed in the build process as dependencies. What I can't identify is if pkgsrc knows how to run them accordingly or those vars are useful only for having preinstalled the tools and using them within the script.
The script should find them if they are in the path right, if not, you have to set env vars to point to the right version of the tools.
Finally, I found that there were some libs missing in the install stage. I added the proper commands using libtool --mode=install and the missing libs location; working fine now. The issue I'm having now is about freeswitch being unable to identify the network interface addresses, so the daemons refuse to start. After that, I need to test the package in a Linux system, since I'm working on FreeBSD now. I hope to count on you if I need further assistance on this subject. I'll be starting another thread if I can't solve it. Best regards, Alberto Mijares
On May 4, 2017, at 2:34 PM, Alberto Mijares <alberto.m@futurelinkcorporation.com> wrote:
Thank you very much, Michael.
I’d use the scripts, they do everything right.
I'd like to, but this is not the right approach when you're writing a package within a framework like pkgsrc or the FreeBSD Ports Collection.
There is no reason that should be true. Please explain what specifically you are having issues with and I should be able to point you in the right direction.
pkgsrc has some vars
USE_LIBTOOL= yes USE_TOOLS+= automake autoconf gmake perl pkg-config
so those tools are installed in the build process as dependencies. What I can't identify is if pkgsrc knows how to run them accordingly or those vars are useful only for having preinstalled the tools and using them within the script.
The script should find them if they are in the path right, if not, you have to set env vars to point to the right version of the tools.
Finally, I found that there were some libs missing in the install stage. I added the proper commands using libtool --mode=install and the missing libs location; working fine now.
Almost definitely NOT the right solution. Need more info on this.
The issue I'm having now is about freeswitch being unable to identify the network interface addresses, so the daemons refuse to start.
Need more info on this. Lets create a Jira on this issue please.
After that, I need to test the package in a Linux system, since I'm working on FreeBSD now. I hope to count on you if I need further assistance on this subject. I'll be starting another thread if I can't solve it.
Best regards,
Alberto Mijares
participants (2)
-
Alberto Mijares
-
Michael Jerris