Bug 257025

Summary: devel/glib20: fails to build on 13/amd64
Product: Ports & Packages Reporter: Chris Hutchinson <portmaster>
Component: Individual Port(s)Assignee: freebsd-desktop (Team) <desktop>
Status: Closed Unable to Reproduce    
Severity: Affects Some People CC: adridg, tcberner
Priority: --- Keywords: needs-patch, needs-qa
Version: LatestFlags: tcberner: maintainer-feedback+
koobs: merge-quarterly?
Hardware: amd64   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257030
Attachments:
Description Flags
complete build log for glib20 on 13/64 none

Description Chris Hutchinson 2021-07-06 20:02:04 UTC
An attempt to build a port that depends on glib20
fails to build during the glib20 build stage. Moving
to devel/glib20 and performing a make distclean
followed by a make rmconfig, followed by a make
returns:
...
[ 27% 298/1087] cc  -o glib/tests/testing-helper glib/tests/testing-helper.p/testing-helper.c.o -L/usr/local/lib -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -fstack-protector-strong '-Wl,-rpath,$ORIGIN/..' -Wl,-rpath-link,/usr/ports/devel/glib20/work/glib-2.66.8/_build/glib -Wl,--start-group glib/libglib-2.0.so.0.6600.8 -lm -pthread -lintl -Wl,--end-group
[ 27% 299/1087] /usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester -k --quiet --i-know-this-is-deprecated -o glib/tests/tmpsample.xml --test-arg=--gtester-selftest /usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester
FAILED: glib/tests/tmpsample.xml 
/usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester -k --quiet --i-know-this-is-deprecated -o glib/tests/tmpsample.xml --test-arg=--gtester-selftest /usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/glib20

this was performed on a fresh git checkout as of 3 hours ago on
a 13/amd64 box (9b563de67c4d2d2022bba242580b905c7d335f7b)

--Chris
Comment 1 Tobias C. Berner freebsd_committer freebsd_triage 2021-07-06 20:17:02 UTC
Moin moin 


I cannot confirm the issue on my 14-CURRENT with an up-to-date tree -- here it works just fine.

From the little output provided, it is unfortunately hard to see the root cause of your troubles.

Can you provide some more information?


mfg Tobias
Comment 2 Chris Hutchinson 2021-07-06 21:00:37 UTC
Created attachment 226281 [details]
complete build log for glib20 on 13/64

Sure. Here's a complete build log.

Thanks for looking at this! :-)

--Chris
Comment 3 Adriaan de Groot freebsd_committer freebsd_triage 2021-07-06 22:37:33 UTC
Builds normally here (13-stable, poudriere). Your build log doesn't have any build errors in it, just a test-example that fails. I can see the same test being invoked in my poudriere build:

[ 25% 292/1087] /wrkdirs/usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester -k --quiet --i-know-this-is-deprecated -o glib/tests/tmpsample.xml --test-arg=--gtester-selftest /wrkdirs/usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester

(Progress information varies because of parallelism)

I suggest you go to your ports-dir and run that test by hand to figure out what's going on. Maybe remove `-k --quiet` from the command.
Comment 4 Chris Hutchinson 2021-07-06 23:43:33 UTC
(In reply to Adriaan de Groot from comment #3)
Thanks for the reply, Adriaan.
> (Progress information varies because of parallelism)
Indeed. I added MAKE_JOBS_UNSAFE=    yes
to the Makefile prior to submitting this pr w/o success. :-(

> I suggest you go to your ports-dir and run that test by hand
> to figure out what's going on. Maybe remove `-k --quiet` from
> the command.

It's on line 274 in
work/glib-2.66.8/glib/tests/meson.build
changing
command : [ gtester, '-k', '--quiet', '--i-know-this-is-deprecated', '-o', '@OUTPUT@',
to
command : [ gtester, '--i-know-this-is-deprecated', '-o', '@OUTPUT@',

and firing
make -DBATCH -DMAKE_JOBS_UNSAFE check-plist

still returns
[ 27% 299/1087] /usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester --i-know-this-is-deprecated -o glib/tests/tmpsample.xml --test-arg=--gtester-selftest /usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester
FAILED: glib/tests/tmpsample.xml 
/usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester --i-know-this-is-deprecated -o glib/tests/tmpsample.xml --test-arg=--gtester-selftest /usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester
TEST: /usr/ports/devel/glib20/work/glib-2.66.8/_build/glib/gtester... (pid=13009)
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.

I'll keep digging.

Thanks again!

--Chris
Comment 5 Chris Hutchinson 2021-07-07 00:01:12 UTC
(In reply to Chris Hutchinson from comment #4)
Oh, and while it was probably obvious from "(pid=13009)"
in the line of output I already included above.

I see the following in /var/log/messages

Jul  6 16:34:05 udns kernel: pid 12967 (gtester), jid 5, uid 0: exited on signal 12 (core dumped)

--Chris
Comment 6 Chris Hutchinson 2021-07-07 01:52:08 UTC
Disabling the failing tests appears to permit the
build to complete.
All the failing tests xml files begin with:
```
<?xml version="1.0"?>
<!-- Deprecated: Since GLib 2.62, gtester and gtester-report are deprecated. Port to TAP. -->
```
which appears to me to indicate these tests are depreciated anyway.
I don't know how to classify my experience here.

Thoughts?

--Chris
Comment 7 Chris Hutchinson 2021-07-09 18:43:34 UTC
FWIW I do *not* have this problem on any of
my 12.* amd64 installs. Under these circumstances
I would presume it must be environmental pollution
of some kind on my 13 box. But there's nothing but
DEVELOPER=true
DEFAULT_VERSIONS+= ssl=openssl python3=3.7 python=3.7
in make.conf(5)
I'll look into creating another 13 install and report
back in the next couple of days.

Thank you for all your attention.

--Chris
Comment 8 Adriaan de Groot freebsd_committer freebsd_triage 2021-07-18 16:54:12 UTC
## Creating a suitable make.conf

root@beastie:/usr/local/etc/poudriere.d # cat > 257025-make.conf
DEVELOPER=true
DEFAULT_VERSIONS+= ssl=openssl python3=3.7 python=3.7

## Running poudriere

Since this is a new set, builds 37 packages to get to glib20

root@beastie:/usr/local/etc/poudriere.d # poudriere bulk -j 13amd64 -p area51 -z 257025 -t devel/glib20

and that's fine. Jumping into that jail adding -i , then doing the build like you describe (distclean rmconfig, then make -DBATCH -DMAKE_JOBS_UNSAFE check-plist) .. is fine. Running the tests by hand is fine.

This is firmly in "can't reproduce" territory.
Comment 9 Chris Hutchinson 2021-07-22 22:09:26 UTC
I'm going to go ahead and close this based on
*your* experience.
I haven't been able to find the time to further
pursue this any further, and based on everyone
else' experiences. I'm inclined to blame it on
some "environmental pollution" that crept in
somewhere.

Closing it now. Will re-open should I find good
reason to. :-)

Thanks for all your attention to this.

--Chris