curl-and-python
Re: pycurl-7.19.5.1 build
Date: Tue, 13 Oct 2015 09:32:18 +0100
I eventually figured it out; the issue is with both the package and
distutils
The package is not the most straight forward to get to cross-compile.
Setup.py uses distutils and distutills uses separate tools, or defines
separate tools for shared libraries:
CC - compilerd
LD - linker(when building executables)
LDSHARED - linker used to link .o files to form the final .so file.
Setting LDSHARED = $(TARGET_CC) solved the problem for me.
Andrei Perietanu | Software Engineer
Klas Telecom
One Kilmainham Square, Inchicore Road, Kilmainham,
Dublin 8, Ireland
andrei.perietanu_at_klastelecom.com
Klastelecom.com
On Tue, Oct 13, 2015 at 2:41 AM, Oleg Pudeyev <oleg+pycurl_at_bsdpower.com>
wrote:
> setup.py does not explicitly specify compiler or linker, those come
> from the installed python. Are you able to build another Python library
> with a C extension successfully?
>
> Oleg
>
> On Fri, 2 Oct 2015 09:49:01 +0100
> Andrei Perietanu <andrei.perietanu_at_klastelecom.com> wrote:
>
> > >> The
> > >> packege uses setup.py to build and install, which does not work
> > >> very well for my purposes.
> >
> > >You will probably be best off fixing this. What exactly is not
> > >working?
> >
> > I'm trying to add the package to buildrood for cross-compilation. It
> > does not include a .configure script so I have to use gentargets to
> > build it - which is not the issue.
> > The problem is that after building the object files using the correct
> > compiler, for some reason host compiler is used to build the .so
> > file. This causes error in the build process:
> >
> > */media/N/svn_main/buildroot/output/host/usr/bin/ccache
> >
> /media/N/svn_main/buildroot/output/host/usr/bin/x86_64-unknown-linux-uclibc-gcc*
> > -DNDEBUG
> > -g -O3 -Wall -Wstrict-prototypes
> >
> -I/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/usr/include
> >
> -I/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/lib
> > -fPIC -DPYCURL_VERSION="7.19.5.1" -DHAVE_CURL_OPENSSL=1
> > -DHAVE_CURL_SSL=1
> > -I/media/N/svn_main/buildroot/output/host/usr/include/python2.7 -c
> > src/threadsupport.c -o build/temp.linux-x86_64-2.7/src/threadsupport.o
> >
> > */media/N/svn_main/buildroot/output/host/usr/bin/ccache /usr/bin/gcc*
> > -pthread -shared -L/media/N/svn_main/buildroot/output/host/lib
> > -L/media/N/svn_main/buildroot/output/host/usr/lib
> > -Wl,-rpath,/media/N/svn_main/buildroot/output/host/usr/lib
> >
> -L/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/
> >
> -L/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/lib
> >
> --sysroot=/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot
> >
> -I/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/usr/include
> >
> -I/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/lib
> > build/temp.linux-x86_64-2.7/src/docstrings.o
> > build/temp.linux-x86_64-2.7/src/easy.o
> > build/temp.linux-x86_64-2.7/src/module.o
> > build/temp.linux-x86_64-2.7/src/multi.o
> > build/temp.linux-x86_64-2.7/src/oscompat.o
> > build/temp.linux-x86_64-2.7/src/pythoncompat.o
> > build/temp.linux-x86_64-2.7/src/share.o
> > build/temp.linux-x86_64-2.7/src/stringcompat.o
> > build/temp.linux-x86_64-2.7/src/threadsupport.o
> >
> -L/media/N/svn_main/buildroot/output/host/usr/x86_64-unknown-linux-uclibc/sysroot/usr/lib
> > -lcurl -lcrypto -o build/lib.linux-x86_64-2.7/pycurl.so
> > /usr/bin/ld: cannot find /lib/libc.so.0 inside
> > /usr/bin/ld: cannot find /usr/lib/uclibc_nonshared.a inside
> > /usr/bin/ld: cannot find /lib/ld64-uClibc.so.0 inside
> >
> > I've tried to get setup.py to use the right compiler but nothing
> > worked
> >
> > Andrei
> >
> >
> > Andrei Perietanu | Software Engineer
> > Klas Telecom
> > One Kilmainham Square, Inchicore Road, Kilmainham,
> > Dublin 8, Ireland
> > andrei.perietanu_at_klastelecom.com
> > Klastelecom.com
> >
> > On Sun, Sep 27, 2015 at 1:53 AM, Oleg Pudeyev via curl-and-python <
> > curl-and-python_at_cool.haxx.se> wrote:
> >
> > > On Mon, 21 Sep 2015 15:24:23 +0100
> > > Andrei Perietanu via curl-and-python <curl-and-python_at_cool.haxx.se>
> > > wrote:
> > >
> > > > The
> > > > packege uses setup.py to build and install, which does not work
> > > > very well for my purposes.
> > >
> > > You will probably be best off fixing this. What exactly is not
> > > working?
> > >
> > > > So I'm trying to work with the Makefile
> > > > included in the /src folder but came to a abrupt halt as the
> > > > Makefile seems obsolete :
> > >
> > > Yes, the build process is now much more involved and that makefile
> > > is not going to work.
> > >
> > > Oleg
> > > _______________________________________________
> > > http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-python
> > >
> >
>
>
-- The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you receive this in error please contact the sender and delete the material from any computer immediately. It is the policy of Klas Limited to disavow the sending of offensive material and should you consider that the material contained in the message is offensive you should contact the sender immediately and also your I.T. Manager. Klas Telecom Inc., a Virginia Corporation with offices at 1101 30th St. NW, Washington, DC 20007. Klas Limited (Company Number 163303) trading as Klas Telecom, an Irish Limited Liability Company, with its registered office at Fourth Floor, One Kilmainham Square, Inchicore Road, Kilmainham, Dublin 8, Ireland.
_______________________________________________
http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-python
Received on 2015-10-13