Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | Support system libraries for apr, apr-util, serf, coinmp. | ||||||
---|---|---|---|---|---|---|---|
Product: | Build Tools | Reporter: | Andre <awf.aoo> | ||||
Component: | external prerequisites | Assignee: | Andre <awf.aoo> | ||||
Status: | CLOSED FIXED | QA Contact: | |||||
Severity: | Normal | ||||||
Priority: | P3 | CC: | issues, pfg | ||||
Version: | 4.0.0-dev | ||||||
Target Milestone: | 4.0.0 | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Issue Type: | ENHANCEMENT | Latest Confirmation in: | --- | ||||
Developer Difficulty: | --- | ||||||
Attachments: |
|
Description
Andre
2012-02-14 08:21:04 UTC
Thanks for creating this issue. It is important. FWIW, While updating Apache Tomcat, I noted Tomcat appears to use APR. No idea if we should be reusing the same or let Tomcat use it's own: for now permitting the code replication is just less trouble. (In reply to comment #1) > > FWIW, While updating Apache Tomcat, I noted Tomcat > appears to use APR. No idea if we should be reusing the > same or let Tomcat use it's own: for now permitting the > code replication is just less trouble. Nevermind... the Tomcat documentation mentions APR but we don't use it in our build. Created attachment 78073 [details]
Initial patch for detecting system coinmp
CoinMP is Category-B so it would be particularly interesting to make it possible to use the system libraries.
I made an initial try but still missing is the change to add the .dll in
main/postprocess/rebase/coffbase.txt
I don't know what memory addresses should be used there.
If I read the rebase.pl in the same directory as coffbase.txt correctly, then all DLLs that are not explicitly mentioned in coffbase.txt (or no_rebase.txt) then the address is calculated automatically. The fixed addresses in coffbase.txt are only important for binary patches to installed releases, which we do not have anymore. For creating a full installation set, the fixed addresses are not necessary. I also looked at your patch. Looks good. Just one question and one remark: Q: In the changes to configure.in I saw the lines # some systems need this. Like Ubuntu.... AC_CHECK_LIB(m, floor) AC_CHECK_LIB(dl, dlopen) Can you explain why that is necessary? And, do we need them in other places, too? R: Maybe you can add a guard to the makefile of coinmp that excludes building the external library when system CoinMP is used. That should not be strictly necessary (with adding COINMP only conditionally to BUILD_TYPE) but we have these guards in other modules. Hi Andre; To be honest, all I did was to review the lp_solve removal and adapt it to coinmp. The tests for Ubunto were there, along with an attempt to grok a function in the library. I think we can leave them out and wait for someone with Ubuntu to complain ;). Concerning the check, Lp_solve seemed to take the decision in calc/makefile.mk. I am unsure if I shouldve used an "else" there. Further checks are certainly better but I couldnt find them in the deprecated lp_solve. The patch is still untested: I have to do other changes in configure.in for binary blobs and I am yet undecided how to go around testing all of it since builds take so long. Once its done, this patch should also be a good guideline to do the same with apr and serf, of course. Added the switches --with-system-apr --with-system-apr-util --with-system-serf --with-system-coinmp to allow the use of system libraries for the respective modules. I have tested the build without the switches (but, of course, with the changes) on Windows,Linux,Mac. I could test the active switches only on Linux because on Windows or Mac I could not install the system libraries. There may be issues with OS/2. SVN revision 1354035. Thanks Pedro for the patch. I used it as the basis for the CoinMP part. Had to fix the dependency of scp2 on apr-util. The aprutil_version.mk has to be delivered even when system apr-util is used and ext_libraries/apr-util is not build. Thanks to Yuri Dario for finding this bug. SVN revision is 1354384. And some more fixes to unify the use of underscores in APRUTIL/APR_UTIL. SVN revision 1354845. Maho has updated the FreeBSD port to use coinmp, serf and apr and it works fine. Thanks! That is great to hear. Thanks for the feedback. |