chikamim / go-resvg

convert SVG to PNG or image using resvg library
Mozilla Public License 2.0
7 stars 3 forks source link

这个在centos如何安装 #1

Open dcsunny opened 5 years ago

dcsunny commented 5 years ago

我安装会报错,报错如下

/usr/bin/ld: warning: libgdk_pixbuf-2.0.so.0, needed by /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libpangocairo-1.0.so.0, needed by /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libpango-1.0.so.0, needed by /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so, not found (try using -rpath or -rpath-link) /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_get_extents' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_description_free' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_cairo_update_layout' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_description_set_family' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_get_height' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to gdk_pixbuf_new_from_file' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_get_rowstride' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to gdk_pixbuf_get_pixels_with_length' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_set_stretch' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_layout_iter_free' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_get_font_description' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_cairo_layout_path' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_metrics_get_underline_position' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to gdk_pixbuf_get_width' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_loader_new' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to gdk_pixbuf_scale_simple' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_set_weight' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_metrics_get_strikethrough_thickness' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_cairo_show_layout' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_layout_get_iter' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_new' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_layout_iter_get_baseline' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_loader_close' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_metrics_get_underline_thickness' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_get_size' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_description_set_style' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_set_text' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_layout_set_font_description' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_new' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_context_get_metrics' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_cairo_context_set_resolution' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_description_copy' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_cairo_update_context' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to gdk_pixbuf_loader_write' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_get_n_channels' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_cairo_create_context' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_metrics_get_strikethrough_position' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_metrics_unref' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_loader_get_pixbuf' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to pango_font_description_set_variant' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_set_size' collect2: error: ld returned 1 exit status` 可以帮我解决一下么

jilieryuyi commented 5 years ago

FROM centos

RUN yum install -y make gcc gcc-c++ pkgconfig cmake librsvg2 librsvg2-devel git ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig ENV LD_LIBRARY_PATH="LD_LIBRARY_PATH:/usr/local/lib64/:/usr/local/lib/"

ARG SERVICE_NAME="svg" WORKDIR /usr/local/${SERVICE_NAME} RUN mkdir -p /usr/local/${SERVICE_NAME} COPY . /usr/local/${SERVICE_NAME} COPY lib/libresvg.dylib /usr/local/lib COPY lib/libresvg.so /usr/local/lib

设置下go基础环境环境

COPY go1.12.5.linux-amd64.tar.gz /usr/local RUN cd /usr/local && tar -zxvf go1.12.5.linux-amd64.tar.gz ENV GOROOT=/usr/local/go ENV PATH=$PATH:/usr/local/go/bin RUN go get github.com/ungerik/go-cairo RUN go get github.com/chikamim/go-resvg

编译glibc-2.18

COPY glibc-2.18.tar.gz /usr/local RUN cd /usr/local && tar zxf glibc-2.18.tar.gz RUN cd /usr/local/glibc-2.18/ && mkdir build && cd build/ && ../configure --prefix=/usr && make -j2 && make install

RUN echo "cd /usr/local/${SERVICE_NAME}/ && go run main.go" >/tmp/start.sh

CMD ["sh", "/tmp/start.sh"] 可以参考下,正好最近用到,研究了下