Bug 45955 - Failed to build univention-directory-listener in UCS 4.3
Failed to build univention-directory-listener in UCS 4.3
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Listener (univention-directory-listener)
UCS 4.3
Other Linux
: P5 normal (vote)
: UCS 4.3
Assigned To: Philipp Hahn
Jürn Brodersen
: interim-2
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-12-27 13:34 CET by Stefan Gohmann
Modified: 2018-03-14 14:37 CET (History)
2 users (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2017-12-27 13:34:33 CET
The package univention-directory-listener failed to build in UCS 4.3:

run-parts --verbose --regex='test__[^.]*$' .
run-parts: executing ./test__cache_entry__update
+test_add_attribute
+test_force_attribute_replace
+test_force_attribute_empty
+test_find_attribute_existing
+test_find_attribute_empty
run-parts: executing ./test__change__same_rdn
./test__change__same_rdn: symbol lookup error: ./test__change__same_rdn: undefined symbol: INIT_ONLY
run-parts: ./test__change__same_rdn exited with return code 127
run-parts: executing ./test__filter__cache_entry_ldap_filter_match
+test_match_infix_sub
+test_match_short_sub
+test_match_case_sub
+test_match_sub_sub
Comment 1 Stefan Gohmann univentionstaff 2017-12-27 13:51:16 CET
The build works on amd64, so I've build it on amd64 only for milestone 1. The i386 build can be done for milestone 2.
Comment 2 Florian Best univentionstaff 2017-12-27 19:34:20 CET
Looks like a duplicate of Bug #45841 comment 7.
Comment 3 Jürn Brodersen univentionstaff 2018-01-04 18:10:06 CET
My previous commits on this, that made the amd64 build work:
03f762a0
27c19b23
dee6ad18
08d5b9e1
(maybe this is not needed anymore?)

And my last commit:
5a626a2a

Note: On my test machine with the listener installed, the build works fine. The build seems to fail only inside the pbuilder chroot (without the listner already installed)
Comment 4 Philipp Hahn univentionstaff 2018-01-05 15:03:37 CET
962790a57a Bug #45955: Copyright 2018
28eaad9c36 Bug #45841,#45955: Fix UDL test suite

Package: univention-directory-listener
Version: 12.0.0-9A~4.3.0.201801051454
Branch: ucs_4.3-0

IMHO no changelog needed.

OK: i386
OK: amd64
Comment 5 Jürn Brodersen univentionstaff 2018-01-16 10:43:59 CET
Looks good to me:
Build -> OK
Installation -> OK
Start -> OK

No further testing since the change should concern only the tests.

-> Verified

Short note what had happened here:

"test/test__change__same_rdn.c" includes "src/change.c" to test the function "same_rdn". But to build "src/change.c" without undefined symbols, basically the whole listener needs to be build as well.

By using the build options "-fdata-sections -ffunction-sections" every function gets its own section and every section that isn't used will be removed with the build option "--gc-sections". In this case that removes all undefined symbols, because only "same_rdn" is used.
Comment 6 Stefan Gohmann univentionstaff 2018-03-14 14:37:48 CET
UCS 4.3 has been released:
 https://docs.software-univention.de/release-notes-4.3-0-en.html
 https://docs.software-univention.de/release-notes-4.3-0-de.html

If this error occurs again, please use "Clone This Bug".