Solved Is there a way to cheat poudriere?

So I have this port (graphics/graphviz) that, when I try to build it with poudriere, cc has a segmentation fault while building its edgepaint component.

I can open a shell into the poudriere jail, and build the port myself, and it builds fine! I don't understand why it won't build from the external command...

But that's not my point, my point is that I can go in the jail and build, and package the port, but I don't know what to do with the package after... How do I register it in Poudriere's database?

It has so many checks and stuff... I don't know how to get past it...
 
Try build it using testport instead of bulk to see if it will bring any relevant information about why it is breaking. I just built it in here using testport and everything went fine.

I quick look say some warnings about the port, but nothing dramatic what could break the build.
 
Try build it using testport instead of bulk to see if it will bring any relevant information about why it is breaking. I just built it in here using testport and everything went fine.

I quick look say some warnings about the port, but nothing dramatic what could break the build.

I replaced the bulk command with testport, and I get the same result...

Code:
cc: error: clang frontend command failed due to signal (use -v to see invocation)
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
Target: x86_64-unknown-freebsd11.1
Thread model: posix
InstalledDir: /usr/bin
cc: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
cc: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
cc: note: diagnostic msg: /tmp/lab_gamut-7ee063.c
cc: note: diagnostic msg: /tmp/lab_gamut-7ee063.sh
cc: note: diagnostic msg:

********************
gmake[4]: *** [Makefile:703: lab_gamut.lo] Error 1
gmake[4]: Leaving directory '/wrkdirs/usr/ports/graphics/graphviz/work/graphviz-2.40.1/lib/edgepaint'
gmake[3]: *** [Makefile:580: all-recursive] Error 1
gmake[3]: Leaving directory '/wrkdirs/usr/ports/graphics/graphviz/work/graphviz-2.40.1/lib'
gmake[2]: *** [Makefile:822: all-recursive] Error 1
gmake[2]: Leaving directory '/wrkdirs/usr/ports/graphics/graphviz/work/graphviz-2.40.1'
gmake[1]: *** [Makefile:631: all] Error 2
gmake[1]: Leaving directory '/wrkdirs/usr/ports/graphics/graphviz/work/graphviz-2.40.1'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/graphviz
build of graphics/graphviz | graphviz-2.40.1_2 ended at Sat Nov 25 16:45:02 EST 2017
build time: 00:01:26
!!! build failure encountered !!!
[00:01:38] Error: Build failed in phase: build
[00:01:38] Cleaning up
pkg00-local: removed
pkg00-local-n: removed
[00:01:38] Unmounting file systems

It doesn't do this in any other scenario... I'm really at a loss here...
 
Even if I package it from within the jail, the repository is read-only... There's no way I can screw with it easily, it's very secure...

Why it's so secure, I don't know. I'm not sure I want to, either... Viruses in the installation scripts?

Well I'm starting to think I have one... but *hangs head*...

This is annoying...

it segfaults while trying to link edgepaint... When I try to build it otherwise, the fans spin then, it does take a moment longer, but cc comes out on top...

What's different?

Threads? It's the only thing I can think of... It *has* to be outside the jail... I can build it inside the jail...

Building normally takes however many threads there are, whereas Poudriere only uses one thread per builder, as far as I know...

[Did you know that your jail only had networking while it was fetching!? F-in amazing... I love that thing, even if I want to throw my laptop out the window right now... Autism: Critical. Evacuate. Evacuate.]
 
Unless you already tested for memory issues, it seem a memory problem but actually can't be.

Get the build log and open a bug report.
 
Well... to build... I'm just looking at differences here...

The difference between me building the port manually, and using a poudriere command...

If I run make build, I'm doing so as root, from a shell... maybe an environment variable was needed...

There was also the way I configured Poudriere... when building I can't remember what, I think webkit-gtk2 and webkit-gtk3 (that ended-up building at the same time), my system was crashing, so I configured poudriere to use only one thread per builder...

That's another difference, and apparently, what was preventing me from building graphviz.

I copied the default configuration file to poudriere.conf, and I managed to build it.

I build many hundreds of ports before this one with this configuration, though, I'd like to say in my defense... and I'm going to send my configuration file to the Poudriere mailing list so they can maybe figure out what happened, and maybe add an exception so this doesn't happen to anyone else...

Well at least it's build now *hides*
 
Back
Top