X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E9AA6385803C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=trueroad.jp Authentication-Results: sourceware.org; spf=none smtp.mailfrom=trueroad AT trueroad DOT jp Date: Sun, 31 Jan 2021 18:15:55 +0900 (JST) Message-Id: <20210131.181555.1945002365058619809.trueroad@trueroad.jp> To: cygwin AT cygwin DOT com Subject: Re: python-cython C++ support patch From: Masamichi Hosoda In-Reply-To: <20210131.125348.529339282301413911.trueroad@trueroad.jp> References: <7edac602-ab79-7421-f5f8-929c7fa68428 AT gmail DOT com> <20210130 DOT 222850 DOT 1144915727792964409 DOT trueroad AT trueroad DOT jp> <20210131 DOT 125348 DOT 529339282301413911 DOT trueroad AT trueroad DOT jp> X-Mailer: Mew version 6.8 on Emacs 27.1 Mime-Version: 1.0 X-VirusScan: Outbound; mvir-ac11; Sun, 31 Jan 2021 18:15:58 +0900 X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: trueroad AT trueroad DOT jp Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces AT cygwin DOT com Sender: "Cygwin" >> python38-cython-0.29.21-3 works fine with following test code. >> >> ```hello.pyx >> print('Hello World!') >> ``` >> >> ```setup.py >> from distutils.core import setup >> from Cython.Build import cythonize >> >> setup( >> ext_modules=cythonize( >> "hello.pyx", >> language="c++", >> ) >> ) >> ``` >> >> ```test.py >> import hello >> ``` >> >> Here's the result by python38-cython-0.29.21-2 (failed). >> >> ``` >> $ python setup.py build_ext --inplace >> [...snip...] >> $ python test.py >> Traceback (most recent call last): >> File "test.py", line 1, in >> import hello >> ImportError: dynamic module does not define module export function (PyInit_hello) >> ``` >> >> Here's the result by python38-cython-0.29.21-3 (succeeded). >> >> ``` >> $ python setup.py build_ext --inplace >> [...snip...] >> $ python test.py >> Hello World! >> ``` >> >> Thanks. > > Thanks to you > > I still think that the change you proposed should go upstream. > > Have you tested your example on a NOT cygwin system ? > > Regards > Marco Here's the result by Ubuntu 20.04 with python-cython 0.29.21 ``` $ lsb_release -d Description: Ubuntu 20.04.2 LTS $ pip3 list | grep "Cython" Cython 0.29.21 $ python3 setup.py build_ext --inplace [...snip...] $ python3 test.py Hello World! ``` The export name is different for the successful and unsuccessful cases. Here's Cygwin python38-cython-0.29.21-2 (failed). ``` $ nm hello.cpython-38-x86_64-cygwin.dll | grep "PyInit" 000000040b8a22af T _Z12PyInit_hellov ``` Here's Cygwin python38-cython-0.29.21-3 (succeeded). ``` $ nm hello.cpython-38-x86_64-cygwin.dll | grep "PyInit" 000000040b8a22af T PyInit_hello ``` Here's Ubuntu python-cython 0.29.21 (succeeded). ``` $ nm hello.cpython-38-x86_64-linux-gnu.so | grep "PyInit" 00000000000030b7 T PyInit_hello ``` Thanks. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple