Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error in make: src/libmapnik.so: undefined reference to `pixman_...' #3735

Open
tonylampada opened this issue Aug 1, 2017 · 1 comment
Open

Comments

@tonylampada
Copy link

I'm trying to install mapnik on ubuntu 16.04 following these instructions:
https://github.com/mapnik/mapnik/wiki/UbuntuInstallation

I'm actually trying to build a docker image with, using the Dockerfile below. I get an error during the make phase (output below)

It looks like this was working yesterday and it stopped working today (today = 2017/08/01).
Since there seems to be no code change in the repo I assume maybe it has something to do with the dependencies that are downloaded when I do the source bootstrap.sh step.

make output

(...)
clang++-3.8 -o utils/svg2png/svg2png.o -c -std=c++14 -D_GLIBCXX_USE_CXX11_ABI=0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wno-unsequenced -Wtautological-compare -Wheader-hygiene -Wc++14-extensions -O3 -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -DHAVE_CAIRO -DGRID_RENDERER -DSVG_RENDERER -DHAVE_CAIRO -Imason_packages/.link/include/cairo -Imason_packages/.link/include/pixman-1 -Ideps -Ideps/mapbox/geometry/include -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -Imason_packages/.link/include -Imason_packages/.link/include/freetype2 -Imason_packages/.link/include/libpng16 -Imason_packages/linux-x86_64/libgdal/2.1.3/include utils/svg2png/svg2png.cpp
clang++-3.8 -o utils/mapnik-index/mapnik-index utils/mapnik-index/mapnik-index.o utils/mapnik-index/process_csv_file.o utils/mapnik-index/process_geojson_file_x3.o plugins/input/csv/csv_utils.os -Ldeps/agg -Lsrc -Lsrc/json -Lsrc/wkt -Lmason_packages/.link/lib -Lmason_packages/linux-x86_64/libgdal/2.1.3/lib -lmapnik -lboost_program_options -lboost_system -lmapnik-json -lmapnik-wkt -licuuc
src/libmapnik.so: undefined reference to `pixman_image_get_component_alpha'
src/libmapnik.so: undefined reference to `pixman_image_get_stride'
src/libmapnik.so: undefined reference to `pixman_rasterize_trapezoid'
src/libmapnik.so: undefined reference to `pixman_image_composite32'
src/libmapnik.so: undefined reference to `pixman_region32_contains_point'
src/libmapnik.so: undefined reference to `pixman_image_get_data'
src/libmapnik.so: undefined reference to `pixman_region32_rectangles'
src/libmapnik.so: undefined reference to `pixman_image_get_width'
src/libmapnik.so: undefined reference to `pixman_region32_subtract'
src/libmapnik.so: undefined reference to `pixman_region32_n_rects'
src/libmapnik.so: undefined reference to `pixman_image_set_destroy_function'
src/libmapnik.so: undefined reference to `pixman_image_create_bits'
src/libmapnik.so: undefined reference to `pixman_region32_fini'
src/libmapnik.so: undefined reference to `pixman_region32_init_rects'
src/libmapnik.so: undefined reference to `pixman_image_ref'
src/libmapnik.so: undefined reference to `pixman_blt'
src/libmapnik.so: undefined reference to `pixman_image_get_height'
src/libmapnik.so: undefined reference to `pixman_image_set_repeat'
src/libmapnik.so: undefined reference to `pixman_image_create_radial_gradient'
src/libmapnik.so: undefined reference to `pixman_image_create_solid_fill'
src/libmapnik.so: undefined reference to `pixman_image_set_clip_region32'
src/libmapnik.so: undefined reference to `pixman_region32_not_empty'
src/libmapnik.so: undefined reference to `pixman_image_set_filter'
src/libmapnik.so: undefined reference to `icudt57_dat'
src/libmapnik.so: undefined reference to `pixman_image_unref'
src/libmapnik.so: undefined reference to `pixman_region32_init'
src/libmapnik.so: undefined reference to `pixman_region32_copy'
src/libmapnik.so: undefined reference to `pixman_image_set_transform'
src/libmapnik.so: undefined reference to `pixman_image_get_depth'
src/libmapnik.so: undefined reference to `pixman_fill'
src/libmapnik.so: undefined reference to `pixman_region32_translate'
src/libmapnik.so: undefined reference to `pixman_region32_init_rect'
src/libmapnik.so: undefined reference to `pixman_transform_point_3d'
src/libmapnik.so: undefined reference to `pixman_region32_contains_rectangle'
src/libmapnik.so: undefined reference to `pixman_image_create_linear_gradient'
src/libmapnik.so: undefined reference to `pixman_region32_equal'
src/libmapnik.so: undefined reference to `pixman_add_triangles'
src/libmapnik.so: undefined reference to `pixman_region32_extents'
src/libmapnik.so: undefined reference to `pixman_region32_intersect'
src/libmapnik.so: undefined reference to `pixman_image_set_component_alpha'
src/libmapnik.so: undefined reference to `pixman_format_supported_destination'
src/libmapnik.so: undefined reference to `pixman_region32_union'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
scons: *** [utils/mapnik-index/mapnik-index] Error 1
scons: building terminated because of errors.
Makefile:46: recipe for target 'mapnik' failed
make: *** [mapnik] Error 2
The command '/bin/sh -c JOBS=4 make' returned a non-zero code: 2

Dockerfile

FROM ubuntu:16.04
RUN apt-get update -y --fix-missing
RUN apt-get install -yqq vim nano software-properties-common python python-pip python-dev curl
RUN apt-get install -y python-software-properties

RUN apt-add-repository -y ppa:ubuntugis/ubuntugis-unstable
RUN apt-get update
RUN apt-get install -yqq gdal-bin libgdal-dev libgdal20 g++

ENV PYTHONUNBUFFERED 1

ENV SHELL /bin/bash
ENV PYTHONPATH /usr/src/app
RUN echo "export LS_OPTIONS='--color=auto'" >>~/.bashrc
RUN echo "eval "\`dircolors\`"" >>~/.bashrc
RUN echo "alias ls='ls \$LS_OPTIONS'" >>~/.bashrc
RUN echo "alias ll='ls \$LS_OPTIONS -l'" >>~/.bashrc
RUN echo "alias l='ls \$LS_OPTIONS -lA'" >>~/.bashrc

RUN pip install GDAL==2.1.0 --global-option=build_ext --global-option="-I/usr/include/gdal"

RUN apt-get install -y software-properties-common

ENV CXX clang++-3.8 
ENV CC clang-3.8
RUN apt-get install -y zlib1g-dev 
RUN apt-get install -y clang
RUN apt-get install -y make
RUN apt-get install -y pkg-config
RUN apt-get install -y curl
RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test
RUN apt-get update -y
RUN apt-get install -y gcc-6
RUN apt-get install -y g++-6
RUN apt-get install -y git
WORKDIR /
RUN git clone https://github.com/mapnik/mapnik mapnik-3.x --depth 10
WORKDIR /mapnik-3.x
RUN git submodule update --init
#RUN source bootstrap.sh
RUN /bin/bash -c "source bootstrap.sh"
RUN ./configure CUSTOM_CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" CXX=${CXX} CC=${CC} RUNTIME_LINK=shared BENCHMARK=0 DEMO=0 CPP_TESTS=0
RUN JOBS=4 make
RUN make install
@springmeyer
Copy link
Member

That is an odd error @tonylampada. Is there a globally installed libpixman-1.0 on your system in /usr/lib ? If so maybe that is conflicting?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants