Skip to content

Conversation

@fsaintjacques
Copy link
Contributor

cmake's FindBoost pre 3.5 did not export IMPORTED targets. This also fixes the newly introduced trusty docker image.

Copy link
Contributor Author

@fsaintjacques fsaintjacques Jun 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure why we need to stash BUILD_SHARED_LIBS, if someones wants to clarify, I'll gladly add a comment to the PR (@xhochy, @wesm).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is needed to work with BoostConfig.cmake provided by Boost (not CMake).
The Boost package provided by MSYS2 installed BoostConfig.cmake at the time.
But the current Boost package doesn't install BoostConfig.cmake: https://github.com/msys2/MINGW-packages/pull/5326/files

See also: msys2/MINGW-packages#5233

There is no platform that needs this. So we can remove this for now but we may need this again in the future.

@fsaintjacques
Copy link
Contributor Author

A note that this patch does not fully fix the cmake3.2 issue, see https://jira.apache.org/jira/browse/ARROW-5631?filter=-1

But at least it gets a cmake build directory populated.

@wesm
Copy link
Member

wesm commented Jun 18, 2019

Looks like @kou introduced that logic here

f014d76

I'm not sure what it's for as we don't use this flag other places in our build system. Some projects use the flag to globally toggle between building SHARED/STATIC when using add_library but we are explicit about this everywhere.

@fsaintjacques
Copy link
Contributor Author

@kou afaik, find_package shouldn't be affected by BUILD_SHARED_LIBS?

@wesm
Copy link
Member

wesm commented Jun 18, 2019

I think it's fine to keep the stashing; it seems like it was more likely future proofing

@fsaintjacques
Copy link
Contributor Author

Don't merge for now, it doesn't fix the docker cmake32 image.

@fsaintjacques fsaintjacques changed the title ARROW-5631: [C++] Fix FindBoost targets with cmake3.2 [WIP] ARROW-5631: [C++] Fix FindBoost targets with cmake3.2 Jun 18, 2019
@fsaintjacques fsaintjacques force-pushed the ARROW-5631-cmake32-boost branch from c4d7d34 to 033a944 Compare June 19, 2019 15:12
@fsaintjacques fsaintjacques changed the title [WIP] ARROW-5631: [C++] Fix FindBoost targets with cmake3.2 ARROW-5631: [C++] Fix FindBoost targets with cmake3.2 Jun 19, 2019
@fsaintjacques fsaintjacques force-pushed the ARROW-5631-cmake32-boost branch from 033a944 to 8a89596 Compare June 20, 2019 19:37
@fsaintjacques
Copy link
Contributor Author

fsaintjacques commented Jun 20, 2019

rebased with master, ready to land (once it passes tests). This passes locally, minus the linking error fixed by #4635.

@kou
Copy link
Member

kou commented Jun 20, 2019

It seems that the current changes don't fix anything.
Should we really fix this problem or update title and description of this pull request?

@fsaintjacques
Copy link
Contributor Author

@kou previously cmake didn't even succeed at generating a build folder. The ctest failures are fixed in the PR linked in previous comment (#4635).

@codecov-io
Copy link

Codecov Report

Merging #4605 into master will increase coverage by 0.41%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #4605      +/-   ##
==========================================
+ Coverage   88.49%   88.91%   +0.41%     
==========================================
  Files         890      710     -180     
  Lines      110406    96682   -13724     
  Branches     1418        0    -1418     
==========================================
- Hits        97703    85960   -11743     
+ Misses      12422    10722    -1700     
+ Partials      281        0     -281
Impacted Files Coverage Δ
go/arrow/ipc/writer.go
go/arrow/math/uint64_amd64.go
go/arrow/memory/memory_avx2_amd64.go
go/arrow/ipc/file_reader.go
js/src/builder/index.ts
js/src/enum.ts
go/arrow/array/builder.go
js/src/util/fn.ts
js/src/Arrow.node.ts
js/src/schema.ts
... and 170 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a0e1fbb...891407e. Read the comment docs.

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbox --help

@ursabot
Copy link

ursabot commented Jun 21, 2019

No such command "crossbox".

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow --help

@ursabot
Copy link

ursabot commented Jun 21, 2019

Usage: @ursabot crossbow [OPTIONS] COMMAND [ARGS]...

  Trigger crossbow builds for this pull request

Options:
  --help  Show this message and exit.

Commands:
  package  Submit crossbow packaging tasks.
  test     Submit crossbow testing tasks.

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23233) builder failed.

Revision: f097a4b4ea5ae527a6cf8bfc7a927e5dbca5616b

Crossbow: 'python crossbow.py ...' step's stderr:

Traceback (most recent call last):
  File "crossbow.py", line 924, in <module>
    crossbow(obj={}, auto_envvar_prefix='CROSSBOW')
  File "/opt/conda/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/opt/conda/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/conda/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "crossbow.py", line 751, in submit
    job = Job(target=target, tasks=tasks)
  File "crossbow.py", line 574, in __init__
    raise ValueError('no tasks were provided for the job')
ValueError: no tasks were provided for the job

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test -g docker

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23234) builder has been succeeded.

Revision: f097a4b4ea5ae527a6cf8bfc7a927e5dbca5616b

Submitted crossbow builds: ursa-labs/crossbow @ ursabot-41

Task Status
docker-java CircleCI Status
docker-js CircleCI Status
docker-python-3.6-alpine CircleCI Status
docker-python-3.6-nopandas CircleCI Status
docker-rust CircleCI Status
docker-python-3.7 CircleCI Status
docker-cpp-alpine CircleCI Status
docker-go CircleCI Status
docker-docs CircleCI Status
docker-python-2.7-alpine CircleCI Status
docker-cpp-cmake32 CircleCI Status
docker-python-2.7-nopandas CircleCI Status
docker-clang-format CircleCI Status
docker-r CircleCI Status
docker-lint CircleCI Status
docker-dask-integration CircleCI Status
docker-python-2.7 CircleCI Status
docker-hdfs-integration CircleCI Status
docker-turbodbc-integration CircleCI Status
docker-python-3.6 CircleCI Status
docker-pandas-master CircleCI Status
docker-iwyu CircleCI Status
docker-cpp CircleCI Status
docker-spark-integration CircleCI Status
docker-c_glib CircleCI Status

@fsaintjacques fsaintjacques force-pushed the ARROW-5631-cmake32-boost branch from f097a4b to 0e11383 Compare June 21, 2019 14:55
@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test docker docker-cpp docker-cpp-cmake32 docker-rust

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23279) builder failed.

Revision: 0e11383c1589ac73b2a8abb2c158038a1477de40

Crossbow: 'python crossbow.py ...' step's stderr:

Error: Invalid task(s) {'docker'}. Must be one of {'docker-clang-format', 'docker-rust', 'docker-dask-integration', 'docker-python-3.6-alpine', 'docker-lint', 'docker-python-2.7-alpine', 'docker-python-3.6-nopandas', 'docker-python-2.7-nopandas', 'docker-c_glib', 'docker-python-2.7', 'docker-python-3.6', 'docker-pandas-master', 'docker-js', 'docker-java', 'docker-turbodbc-integration', 'docker-hdfs-integration', 'docker-cpp-alpine', 'docker-iwyu', 'docker-python-3.7', 'docker-cpp', 'docker-cpp-cmake32', 'docker-go', 'docker-spark-integration', 'docker-r', 'docker-docs'}

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test docker-cpp docker-cpp-cmake32 docker-rust

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23280) builder has been succeeded.

Revision: 0e11383c1589ac73b2a8abb2c158038a1477de40

Submitted crossbow builds: ursa-labs/crossbow @ ursabot-42

Task Status
docker-cpp CircleCI Status
docker-cpp-cmake32 CircleCI Status
docker-rust CircleCI Status

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test docker-c_glib

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23290) builder has been succeeded.

Revision: 0e11383c1589ac73b2a8abb2c158038a1477de40

Submitted crossbow builds: ursa-labs/crossbow @ ursabot-43

Task Status
docker-c_glib CircleCI Status

@fsaintjacques
Copy link
Contributor Author

@kszucs do you know why the badge is at failed? The last one are waiting to be run.

@fsaintjacques
Copy link
Contributor Author

@kou could you check locally with this patch why c_glib docker image fails? I've exausted my debugging of meson. I think that you need to namespace gandiva's enums.c.

gandiva-glib/meson.build:50:0: ERROR:  Tried to create target "enums.c", but a target of that name already exists.

I'll let you decide if renaming breaks anything.

@fsaintjacques fsaintjacques force-pushed the ARROW-5631-cmake32-boost branch from 0b1a568 to dbf6fe7 Compare June 21, 2019 16:13
@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test docker-c_glib

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23312) builder has been succeeded.

Revision: dbf6fe7d9d813e1179d697c7eeab0b31900257b1

Submitted crossbow builds: ursa-labs/crossbow @ ursabot-44

Task Status
docker-c_glib CircleCI Status

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test docker-r

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23410) builder has been succeeded.

Revision: 46d5da0b3b08be423333e17e7206a824f437162e

Submitted crossbow builds: ursa-labs/crossbow @ ursabot-45

Task Status
docker-r CircleCI Status

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test -g docker

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23414) builder has been succeeded.

Revision: 46d5da0b3b08be423333e17e7206a824f437162e

Submitted crossbow builds: ursa-labs/crossbow @ ursabot-46

Task Status
docker-iwyu CircleCI Status
docker-dask-integration CircleCI Status
docker-hdfs-integration CircleCI Status
docker-python-3.6 CircleCI Status
docker-cpp-cmake32 CircleCI Status
docker-spark-integration CircleCI Status
docker-c_glib CircleCI Status
docker-r CircleCI Status
docker-rust CircleCI Status
docker-cpp CircleCI Status
docker-python-3.6-alpine CircleCI Status
docker-python-2.7-nopandas CircleCI Status
docker-clang-format CircleCI Status
docker-go CircleCI Status
docker-pandas-master CircleCI Status
docker-python-3.7 CircleCI Status
docker-lint CircleCI Status
docker-python-2.7 CircleCI Status
docker-js CircleCI Status
docker-python-2.7-alpine CircleCI Status
docker-java CircleCI Status
docker-turbodbc-integration CircleCI Status
docker-python-3.6-nopandas CircleCI Status
docker-docs CircleCI Status
docker-cpp-alpine CircleCI Status

conda's cmake3.2 does not support https for third party download.
- Ensure that LD_LIBRARY_PATH is set before installing R packages because
  conda's pkg-config would pickup libicu from conda at compile but
  LD_LIBRARY_PATH was not exported yet, thus package would fail tests.

- Fix JSON payload on systems where locales are missing.
@fsaintjacques fsaintjacques force-pushed the ARROW-5631-cmake32-boost branch from 46d5da0 to 01f67dd Compare June 21, 2019 19:14
@fsaintjacques
Copy link
Contributor Author

This fixes the most pressing issues, notably

  • docker-cpp
  • docker-cmake32

I fixed also fixed docker-rust, and partly advanced on docker-r and docker-c_glib.

@fsaintjacques
Copy link
Contributor Author

@ursabot crossbow test docker-cpp docker-cpp-cmake32

@ursabot
Copy link

ursabot commented Jun 21, 2019

AMD64 Conda Crossbow (#23443) builder has been succeeded.

Revision: 01f67dd

Submitted crossbow builds: ursa-labs/crossbow @ ursabot-47

Task Status
docker-cpp CircleCI Status
docker-cpp-cmake32 CircleCI Status

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gandiva-glib/meson.build:50:0: ERROR:  Tried to create target "enums.c", but a target of that name already exists.

This is a Meson bug. It has been fixed in the latest Meson. But the latest Meson (0.51.0) has a environment variable related bug: mesonbuild/meson#5503 mesonbuild/meson#5502

So we need to use 0.50.1 for now.

r/Dockerfile Outdated

# r-base includes tzdata. Get around interactive stop in that package
ENV DEBIAN_FRONTEND=noninteractive
# workaround for install_github Github API rate limit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Github -> GitHub

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixing

ARROW_INSTALL_NAME_RPATH=OFF \
LD_LIBRARY_PATH="${CONDA_PREFIX}/lib" \
PKG_CONFIG_PATH="${CONDA_PREFIX}/lib/pkgconfig" \
PKG_CONFIG_PATH="${CONDA_PREFIX}/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed?
The added path is included in system pkg-config path. So it'll be searched without this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to revert this for now

@kou
Copy link
Member

kou commented Jun 21, 2019

BTW, I couldn't find any build log on CircleCI.

https://circleci.com/gh/ursa-labs/crossbow/tree/ursabot-46-circle-docker-c_glib shows

image

And "build" link shows

image

Copy link
Member

@wesm wesm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Made a couple of tweaks. Merging -- please open follow up JIRAs about other docker failures

ARROW_INSTALL_NAME_RPATH=OFF \
LD_LIBRARY_PATH="${CONDA_PREFIX}/lib" \
PKG_CONFIG_PATH="${CONDA_PREFIX}/lib/pkgconfig" \
PKG_CONFIG_PATH="${CONDA_PREFIX}/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to revert this for now

r/Dockerfile Outdated

# r-base includes tzdata. Get around interactive stop in that package
ENV DEBIAN_FRONTEND=noninteractive
# workaround for install_github Github API rate limit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixing

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

Successfully merging this pull request may close these issues.

5 participants