build-artifacts failure for ovirt-engine-nodejs

Description

Hey,

It builds fine locally in mock_runner, and works in koji (brew).

http://jenkins.ovirt.org/job/ovirt-engine-nodejs_master_build-artifacts-fc25-x86_64/2/

15:44:23 make[1]: execvp: printf: Argument list too long
15:44:23 deps/openssl/openssl.target.mk:860: recipe for target
'/home/jenkins/workspace/ovirt-engine-nodejs_master_build-artifacts-fc25-x86_64/ovirt-engine-nodejs/rpmbuild/BUILD/node-v6.9.4/out/Release/obj.target/deps/openssl/libopenssl.a'
failed

https://gerrit.ovirt.org/#/c/72375/ – Juan tried messing with the ulimit,
but it didn't seem to help. The comments in the patch might help.

It also failed for the on-demand job.

Thanks,
Greg


Greg Sheremeta, MBA
Red Hat, Inc.
Sr. Software Engineer
gshereme@redhat.com

Activity

Show:

Greg Sheremeta February 22, 2017 at 1:04 PM

, 's patch in the previous comment will take care of this. Closing.

Eyal Edri February 22, 2017 at 12:31 PM

anything needed from infra or this issue will be solved with the patch to the project?

Juan Hernández February 22, 2017 at 8:58 AM

Here is the patch:

Use 'mktemp' to create the build directory
https://gerrit.ovirt.org/72840

Juan Hernández February 22, 2017 at 8:54 AM

is completely right, mktemp is better than a fixed path, I will submit a patch to change that. Note that the only possible downside is that in some distributions (Fedora, for example) the /tmp directory is mounted by default as a tmpfs filesystem, so in those cases the build will run completely in memory, which may cause issues in low memory environments.

Barak Korren February 22, 2017 at 8:26 AM

Unfortunately this is not something we can fix easily for now. The job names have to be verbose because we have many of them.

You are running inside an isolated mock environment, so theoretically we could set $PWD to anything. But there are some scenarios where things inside mock interact with things outside of it (e.g. Lago/libvirt), and hence the paths inside mock need to match those outside.

Given that you are in mock you can makdir and cd anywhere to work around this. This essentially what did.

There is one thing I'd change with Juan`s patch to future-proof it, and also enable using the check-patch.sh script locally without mock_runner.sh. That is using mktemp to get a work directory under /tmp instead of hard-coding /b. That will make it work even if you don`t get root permissions.

Greg Sheremeta February 22, 2017 at 1:34 AM

was kind enough to work around this issue in our project by setting the 'build_dir' to 'b' – see https://gerrit.ovirt.org/#/c/72823

is there anything that can be done more globally that you can think of? If not, feel free to close this.

Greg Sheremeta February 21, 2017 at 11:06 PM

Fixed

Details

Assignee

Reporter

Priority

Created February 21, 2017 at 10:57 PM
Updated February 28, 2017 at 2:33 PM
Resolved February 22, 2017 at 1:04 PM