Giter Club home page Giter Club logo

Comments (5)

CairoLee avatar CairoLee commented on July 29, 2024

提示 curl 本身不是问题,他可以被解决。
这个地方应该是程序报错崩溃了,这才是我们需要关心的主要原因。

方便提供一下 locale 的返回值么?我想看一下您 linux 系统语言的配置是什么样子的

from pandas.

lm884612 avatar lm884612 commented on July 29, 2024

你好,信息如下:

Linux ubuntu_1804 4.15.0-189-generic #200-Ubuntu SMP Wed Jun 22 19:53:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

from pandas.

Ruisi-Lu avatar Ruisi-Lu commented on July 29, 2024

相同的問題發生在map-server

重現步驟

  1. Docker build & deploy
    將編譯後的可執行檔複製到乾淨容器內deploy
FROM ubuntu:18.04 AS build
WORKDIR /build
RUN apt update -y
RUN apt install make libmysqlclient-dev musl python3-dev build-essential wget -y
RUN  wget https://github.com/Kitware/CMake/releases/download/v3.16.0-rc1/cmake-3.16.0-rc1.tar.gz \
  && tar -xzvf cmake-3.16.0-rc1.tar.gz \
  && cd cmake-3.16.0-rc1 \
  && ./bootstrap && make -j4 && make install
COPY 3rdparty ./3rdparty
WORKDIR /build/3rdparty/boost
RUN sh ./bootstrap.sh && ./b2
WORKDIR /build
COPY src ./src
COPY CMakeLists.txt ./
COPY LICENSE ./
WORKDIR /build/cbuild
RUN cmake -G "Unix Makefiles" ..
CMD sh
RUN make

FROM ubuntu:18.04 AS map
WORKDIR /app
COPY --from=build /build/map-server ./
RUN apt update -y
RUN apt install libmysqlclient-dev -y
RUN apt-get clean autoclean && apt-get autoremove -y && rm -rf /var/lib/{apt,dpkg,cache,log}/
ENTRYPOINT ["./map-server"]

錯誤訊息

Failed to open curl lib from binary, use libcurl.so instead


 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 The program has stopped working. We are very apologetic about this.
 We created a crash dump file and written into the following location:
 dumps/d0892ce4-4019-415a-68dc57a4-0615b8a7.dmp 
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 This is a modified version, please analysis the crashdump by yourself.
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

操作系統

Docker image : ubuntu:18.04

熊猫模拟器版本号

1.1.16

from pandas.

CairoLee avatar CairoLee commented on July 29, 2024

问题已明确

  • rathena 的代码在 gcc 8 之前的版本中工作存在问题
    • 更具体的:在解析 txt 的数据文件时,sv_readdb 函数存在兼容问题
  • ubuntu 18.04 的 build-essential 软件包安装的 gcc 是 7.5 版本,刚好触发了此问题

解决方案

  • 至少使用 gcc 8 版本来编译 rathena 或者熊猫模拟器
  • 或者使用最低 ubuntu 20.04 作为编译的基础镜像(20.04 的 build-essential 所携带的 gcc 版本更高)

测试通过的方法

  • apt update -y
  • apt install gcc-8 g++-8 -y
  • 由于 build-essential 默认是 gcc-7 因此安装完成 gcc-8 后,系统默认有两套 gcc 可用;因此我们需要使用 update-alternatives 指令来适当的进行默认编译器切换,分别执行(必要时加上 sudo):
    • update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7
    • update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8
    • 设置好后使用 update-alternatives --config gcc 来选择并设置默认的 gcc 为 8.x 版本
  • 设置好默认的 gcc 版本之后,使用 gcc --version 对版本号进行确认
  • 若之前编译过,请删掉 cbuild 目录,然后重新编译即可
    • 提示:重新编译是指重新在工程目录下执行 mkdir cbuild && cmake -G "Unix Makefiles" .. && make

后续举措

  • 我会在熊猫的项目中,对 gcc 和 clang 的最低版本进行限制
    • gcc 编译器至少要 8 开头的版本才可以进行编译
    • clang 编译器至少要 6 开头的版本才可以进行编译

from pandas.

Ruisi-Lu avatar Ruisi-Lu commented on July 29, 2024

Docker image : ubuntu:20.04
版本: 1.1.17
測試正常

from pandas.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.