【问题标题】:Running MapProxy 1.15.1 on Ubuntu 22.04在 Ubuntu 22.04 上运行 MapProxy 1.15.1
【发布时间】:2023-02-14 23:14:15
【问题描述】:

我正在尝试在 Ubuntu 22.04 上安装 MapProxy 1.15.1。我粗略地关注了 the install documentation from mapproxy.org 似乎不完全兼容并且有点过时了。

综上所述,它不起作用。我得到

# mapproxy-util --version
Traceback (most recent call last):
  File "/root/mapproxy/bin/mapproxy-util", line 5, in <module>
    from mapproxy.script.util import main
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/script/util.py", line 29, in <module>
    from mapproxy.script.conf.app import config_command
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/script/conf/app.py", line 32, in <module>
    from .sources import sources
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/script/conf/sources.py", line 17, in <module>
    from mapproxy.srs import SRS
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/srs.py", line 26, in <module>
    from mapproxy.proj import USE_PROJ4_API
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/proj.py", line 282, in <module>
    res = try_import()
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/proj.py", line 155, in try_libproj_import
    libproj = init_libproj()
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/proj.py", line 58, in init_libproj
    libproj = load_library('libproj')
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/util/lib.py", line 65, in load_library
    lib = load_library_(lib_name, locations_conf)
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/util/lib.py", line 69, in load_library_
    lib_path = find_library(lib_name)
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/util/lib.py", line 93, in find_library
    lib = _find_library(lib_name)
  File "/usr/lib/python3.10/ctypes/util.py", line 341, in find_library
    _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name))
  File "/usr/lib/python3.10/ctypes/util.py", line 147, in _findLib_gcc
    if not _is_elf(file):
  File "/usr/lib/python3.10/ctypes/util.py", line 99, in _is_elf
    with open(filename, 'br') as thefile:
FileNotFoundError: [Errno 2] No such file or directory: b'liblibproj.a'

我从 util.py 得到的似乎是它打算首先尝试带有前缀“lib”的参数,然后没有。但是,由于某种原因,它会异常停止而不是继续尝试。这个也提到了on Github,但是没有回应。

我尝试了各种方法来解决这个问题,例如修补代码并放置符号链接。他们都部分地工作了。我遇到了下一个错误:

# mapproxy-util --version
Found libproj >=5. Using this library without pyproj is deprecated and not fully supported. Please install pyproj >= 2.
Traceback (most recent call last):
  File "/root/mapproxy/bin/mapproxy-util", line 5, in <module>
    from mapproxy.script.util import main
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/script/util.py", line 29, in <module>
    from mapproxy.script.conf.app import config_command
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/script/conf/app.py", line 32, in <module>
    from .sources import sources
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/script/conf/sources.py", line 17, in <module>
    from mapproxy.srs import SRS
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/srs.py", line 26, in <module>
    from mapproxy.proj import USE_PROJ4_API
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/proj.py", line 282, in <module>
    res = try_import()
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/proj.py", line 155, in try_libproj_import
    libproj = init_libproj()
  File "/root/mapproxy/lib/python3.10/site-packages/mapproxy/proj.py", line 66, in init_libproj
    libproj.pj_init_plus.argtypes = [c_char_p]
  File "/usr/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /lib/x86_64-linux-gnu/libproj.so.22: undefined symbol: pj_init_plus

总之,Ubuntu 22.04 上的几个包似乎与 MapProxy 不兼容。我目前想不出如何解决这个问题。可能我需要旧版本的 libproj,但我的知识不足以安装并行版本的 POSIX 库。对此有更好/更简单的解决方案吗?

附录:我希望一些用户创建一个标签 maproxy 并将其添加到此处。我做不到。

【问题讨论】:

    标签: python ubuntu


    【解决方案1】:

    如果 mapproxy-util --version 报错,试试

    pip 安装 pyproj

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 2022-11-24
      • 2022-11-19
      • 2022-08-14
      • 2022-06-14
      • 2023-02-12
      • 2022-07-06
      • 2022-11-10
      • 2022-10-19
      相关资源
      最近更新 更多