X-Spam-Check-By: sourceware.org Subject: Linux vs Cygwin linkage From: skaller To: cygwin AT cygwin DOT com Content-Type: text/plain Date: Sun, 19 Feb 2006 05:39:41 +1100 Message-Id: <1140287981.4091.76.camel@rosella.wigram> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com I have found some unexpected differences between Cygwin and Linux. FYI I think Cygwin is right, and Linux is wrong. What happens is I have a DLL P which depends on a DLL F and a DLL D. A also depends on R. The executable depends on R D and F. Under Linux, I link P against F, and it works. IMHO this is just plain wrong. It seems to be pooling symbols globally or something. Under Cygwin this does not happen. The link of P fails with an undefined symbol from D. I think this is correct. If anyone can throw some light on this I'd appreciate it. Is it this option:? --allow-shlib-undefined --no-allow-shlib-undefined Allows (the default) or disallows undefined symbols in shared libraries. Can I fix that with -Wl,--no-allow-shlib-undefined switch to gcc, so Linux and Cygwin behave the same? -- John Skaller Felix, successor to C++: http://felix.sf.net -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/