This is a discussion on Net-SNMP 5.4.1.pre3 - Need a fix for AIX support within the SNMP Coders forums, part of the Networking and Network Related category; --===============1178734082== Content-Type: multipart/alternative; boundary="----=_Part_152040_20198738.1182549791036" ------=_Part_152040_20198738.1182549791036 Content-Type: text/plain; charset=ISO-8859-1; ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
--===============1178734082==
Content-Type: multipart/alternative; boundary="----=_Part_152040_20198738.1182549791036" ------=_Part_152040_20198738.1182549791036 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello all, I tested 5.4.1.pre3 on AIX. This version still needs a fix for dlopen use on AIX. (AIX dlopen does not support lazy loading. When dlopen is called for a Net-SNMP library, there cannot be unresolved symbols. Otherwise, dlopen fails.) Followings are the build order of Net-SNMP library files. 1. libnetsnmp.so (self-contained) 2. libnetsnmpagent.so (import symbols from 1 and 3) (linked with 1) 3. libnetsnmphelpers.so (import symbols from 1 and 2) (linked with 1 and 2) 4. libnetsnmpmibs.so (import symbols from 1, 2 and 3) (linked with 1, 2 and 3) The way it builds libs in this version is one-pass build linking with libs built before. You build 1 first. You build 2 linking with 1 and build 3 linking with 1 and 2 (and so on). Therefore, 2 ( libnetsnmpagent.so) must be linked with 3 which is missing here. Because of this, 2 has undefined symbols imported from 3 which results in dlopen failure. However, if we arrange the order of dlopen (i.e., do dlopen 2 later than 3), then it works because all symbols can be resolved. I think followings must be considered for the next version. A. Make 2 (libnetsnmpagent.so) be linked with 3 (libnetsnmphelpers.so). It requires the second-pass build. B. If option A is not feasible, README.aix should include the explanation about dlopen orders. It should state that 2 ( libnetsnmpagent.so) must be dlopened later than others. It seems that restricting dlopen orders is not that good idea. Do you think it is feasible to incorporate option A in your libtool? Sincerely, Sukwoo Kang ------=_Part_152040_20198738.1182549791036 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello all,<br><br>I tested 5.4.1.pre3 on AIX. This version still needs a fix for dlopen use on AIX. (AIX dlopen does not support lazy loading. When dlopen is called for a Net-SNMP library, there cannot be unresolved symbols. Otherwise, dlopen fails.) <br><br>Followings are the build order of Net-SNMP library files.<br><br>1. libnetsnmp.so (self-contained)<br>2. libnetsnmpagent.so (import symbols from 1 and 3) (linked with 1) <br>3. libnetsnmphelpers.so (import symbols from 1 and 2) (linked with 1 and 2) <br>4. libnetsnmpmibs.so (import symbols from 1, 2 and 3) (linked with 1, 2 and 3)<br><br>The way it builds libs in this version is one-pass build linking with libs built before. You build 1 first. You build 2 linking with 1 and build 3 linking with 1 and 2 (and so on). Therefore, 2 ( libnetsnmpagent.so) must be linked with 3 which is missing here. Because of this, 2 has undefined symbols imported from 3 which results in dlopen failure. However, if we arrange the order of dlopen (i.e., do dlopen 2 later than 3), then it works because all symbols can be resolved. <br><br>I think followings must be considered for the next version.<br><br>A. Make 2 (libnetsnmpagent.so) be linked with 3 (libnetsnmphelpers.so). It requires the second-pass build.<br>B. If option A is not feasible, README.aix should include the explanation about dlopen orders. It should state that 2 ( libnetsnmpagent.so) must be dlopened later than others.<br><br>It seems that restricting dlopen orders is not that good idea. Do you think it is feasible to incorporate option A in your libtool? <br><br>Sincerely,<br><br>Sukwoo Kang <br> ------=_Part_152040_20198738.1182549791036-- --===============1178734082== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ --===============1178734082== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Net-snmp-coders mailing list Net-snmp-coders@lists.sourceforge.net https://lists.sourceforge.net/lists/...et-snmp-coders --===============1178734082==-- |