Mac OS X,pip:为包含 C 库的包指定编译器

发布于 2024-12-18 15:18:22 字数 3347 浏览 3 评论 0原文

我在使用 pip 使用默认 clang 编译器编译 mapscript(是来自 pypi 的包含 C 代码的包)时遇到了一些问题。

这是我的尝试:-

$ sudo pip install mapscript
Password:
Downloading/unpacking mapscript
  Running setup.py egg_info for package mapscript

Requirement already satisfied (use --upgrade to upgrade): distribute in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from mapscript)
Installing collected packages: mapscript
  Running setup.py install for mapscript

    building '_mapscript' extension
    /opt/local/bin/gcc-apple-4.2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/opt/local/include -I/opt/local/include -I/opt/local/include -pipe -O2 -arch x86_64 -fPIC -Wall -DNEED_NONBLOCKING_STDERR -DHAVE_VSNPRINTF -DNEED_STRRSTR -DNEED_NONBLOCKING_STDERR -DUSE_WMS_SVR -DUSE_GDAL -DUSE_OGR -DUSE_PROJ -DUSE_EPPL -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS -DUSE_ICONV -DUSE_ZLIB -I/opt/local/include -I/opt/local/include -I/opt/local/include -DHAVE_VSNPRINTF -DNEED_STRRSTR -DNEED_NONBLOCKING_STDERR -DUSE_WMS_SVR -DUSE_GDAL -DUSE_OGR -DUSE_PROJ -DUSE_EPPL -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS -DUSE_ICONV -DUSE_ZLIB -DHAVE_VSNPRINTF -DNEED_STRRSTR -DNEED_NONBLOCKING_STDERR -DUSE_WMS_SVR -DUSE_GDAL -DUSE_OGR -DUSE_PROJ -DUSE_EPPL -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS -DUSE_ICONV -DUSE_ZLIB -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c mapscript_wrap.c -o build/temp.macosx-10.7-x86_64-2.7/mapscript_wrap.o
    mapscript_wrap.c:2564:23: error: mapserver.h: No such file or directory
    mapscript_wrap.c:2565:25: error: maptemplate.h: No such file or directory
    mapscript_wrap.c:2566:23: error: mapogcsld.h: No such file or directory
...
mapscript_wrap.c:45472: error: 'MS_DEBUGLEVEL_VV' undeclared (first use in this function)

mapscript_wrap.c:45473: error: 'MS_DEBUGLEVEL_VVV' undeclared (first use in this function)

mapscript_wrap.c:45476: error: 'MS_GET_REQUEST' undeclared (first use in this function)

mapscript_wrap.c:45477: error: 'MS_POST_REQUEST' undeclared (first use in this function)

error: command '/opt/local/bin/gcc-apple-4.2' failed with exit status 1

----------------------------------------
Command /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools;__file__='/Users/calvin/build/mapscript/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-GYwtAz-record/install-record.txt failed with error code 1
Storing complete log in /Users/calvin/.pip/pip.log

gcc-apple-4.2 版本是

$ gcc-apple-4.2 --version
i686-apple-darwin11-gcc-apple-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

如何尝试使用另一个编译器安装mapscript?有没有办法显式指定 pip 在编译 pypi 包中的 C 代码时将调用的特定编译器?

I am having some trouble with compiling mapscript (is a package from pypi containing C code) with the default clang compiler using pip.

Here's my attempt:-

$ sudo pip install mapscript
Password:
Downloading/unpacking mapscript
  Running setup.py egg_info for package mapscript

Requirement already satisfied (use --upgrade to upgrade): distribute in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from mapscript)
Installing collected packages: mapscript
  Running setup.py install for mapscript

    building '_mapscript' extension
    /opt/local/bin/gcc-apple-4.2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/opt/local/include -I/opt/local/include -I/opt/local/include -pipe -O2 -arch x86_64 -fPIC -Wall -DNEED_NONBLOCKING_STDERR -DHAVE_VSNPRINTF -DNEED_STRRSTR -DNEED_NONBLOCKING_STDERR -DUSE_WMS_SVR -DUSE_GDAL -DUSE_OGR -DUSE_PROJ -DUSE_EPPL -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS -DUSE_ICONV -DUSE_ZLIB -I/opt/local/include -I/opt/local/include -I/opt/local/include -DHAVE_VSNPRINTF -DNEED_STRRSTR -DNEED_NONBLOCKING_STDERR -DUSE_WMS_SVR -DUSE_GDAL -DUSE_OGR -DUSE_PROJ -DUSE_EPPL -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS -DUSE_ICONV -DUSE_ZLIB -DHAVE_VSNPRINTF -DNEED_STRRSTR -DNEED_NONBLOCKING_STDERR -DUSE_WMS_SVR -DUSE_GDAL -DUSE_OGR -DUSE_PROJ -DUSE_EPPL -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DGD_HAS_FTEX_XSHOW -DGD_HAS_GDIMAGEGIFPTR -DGD_HAS_GETBITMAPFONTS -DUSE_ICONV -DUSE_ZLIB -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c mapscript_wrap.c -o build/temp.macosx-10.7-x86_64-2.7/mapscript_wrap.o
    mapscript_wrap.c:2564:23: error: mapserver.h: No such file or directory
    mapscript_wrap.c:2565:25: error: maptemplate.h: No such file or directory
    mapscript_wrap.c:2566:23: error: mapogcsld.h: No such file or directory
...
mapscript_wrap.c:45472: error: 'MS_DEBUGLEVEL_VV' undeclared (first use in this function)

mapscript_wrap.c:45473: error: 'MS_DEBUGLEVEL_VVV' undeclared (first use in this function)

mapscript_wrap.c:45476: error: 'MS_GET_REQUEST' undeclared (first use in this function)

mapscript_wrap.c:45477: error: 'MS_POST_REQUEST' undeclared (first use in this function)

error: command '/opt/local/bin/gcc-apple-4.2' failed with exit status 1

----------------------------------------
Command /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools;__file__='/Users/calvin/build/mapscript/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-GYwtAz-record/install-record.txt failed with error code 1
Storing complete log in /Users/calvin/.pip/pip.log

The gcc-apple-4.2 version is

$ gcc-apple-4.2 --version
i686-apple-darwin11-gcc-apple-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

How do I try installing mapscript with another compiler? Is there a way to explicitly specify a specific compiler that pip will call upon when compiling the C code in a pypi package?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

对你的占有欲 2024-12-25 15:18:23

设置 CC 环境变量似乎有效,例如:

env CC=/usr/bin/gcc-4.0 pip install pyOpenSSL

Setting the CC environment variable seems to work, e.g.:

env CC=/usr/bin/gcc-4.0 pip install pyOpenSSL

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文