Open dcsunny opened 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
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
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"] 可以参考下,正好最近用到,研究了下
我安装会报错,报错如下
/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 to
pango_layout_get_extents' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_free' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_cairo_update_layout' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_set_family' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
gdk_pixbuf_get_height' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_new_from_file' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
gdk_pixbuf_get_rowstride' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_get_pixels_with_length' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_font_description_set_stretch' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_iter_free' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_layout_get_font_description' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_cairo_layout_path' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_font_metrics_get_underline_position' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_get_width' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
gdk_pixbuf_loader_new' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_scale_simple' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_font_description_set_weight' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_metrics_get_strikethrough_thickness' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_cairo_show_layout' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_get_iter' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_font_description_new' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_iter_get_baseline' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
gdk_pixbuf_loader_close' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_metrics_get_underline_thickness' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_layout_get_size' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_set_style' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_layout_set_text' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_layout_set_font_description' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_layout_new' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_context_get_metrics' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_cairo_context_set_resolution' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_copy' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_cairo_update_context' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference togdk_pixbuf_loader_write' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
gdk_pixbuf_get_n_channels' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_cairo_create_context' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_font_metrics_get_strikethrough_position' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_metrics_unref' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
gdk_pixbuf_loader_get_pixbuf' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference topango_font_description_set_variant' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libresvg.so: undefined reference to
pango_font_description_set_size' collect2: error: ld returned 1 exit status` 可以帮我解决一下么