Bug 1169226

Summary: pmwebd fails to build on el5 since converting to C++
Product: [Fedora] Fedora EPEL Reporter: Nathan Scott <nathans>
Component: pcpAssignee: Nathan Scott <nathans>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: el5CC: brolley, fche, lberk, mgoodwin, nathans, pcp, scox
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pcp-3.10.3-1.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-13 16:56:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nathan Scott 2014-12-01 05:24:41 UTC
Getting a linker failure in pcp builds with pmwebd enabled on epel5...
(I've switched this component off in those builds for now).

=== pmwebapi ===
g++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I./src/include -I./src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../src/include -I../src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wextra -fPIE -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../../src/include -I../../src/include/pcp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -c main.cxx -o main.o
g++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I./src/include -I./src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../src/include -I../src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wextra -fPIE -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../../src/include -I../../src/include/pcp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -c pmwebapi.cxx -o pmwebapi.o
g++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I./src/include -I./src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../src/include -I../src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wextra -fPIE -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../../src/include -I../../src/include/pcp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -c pmresapi.cxx -o pmresapi.o
g++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I./src/include -I./src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../src/include -I../src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wextra -fPIE -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../../src/include -I../../src/include/pcp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -c pmgraphite.cxx -o pmgraphite.o
pmgraphite.cxx: In function 'int pmgraphite_gather_data(MHD_Connection*, const http_params&, const std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, time_t&, time_t&, time_t&)':
pmgraphite.cxx:1148: warning: comparison between signed and unsigned integer expressions
g++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I./src/include -I./src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../src/include -I../src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wextra -fPIE -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../../src/include -I../../src/include/pcp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -c util.cxx -o util.o
g++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I./src/include -I./src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../src/include -I../src/include/pcp -fPIC -fno-strict-aliasing -D_GNU_SOURCE -fstack-protector-all -D_FORTIFY_SOURCE=2  -Wextra -fPIE -Wall -O2 -g -DPCP_DEBUG -DPCP_VERSION=\"3.10.1\" -I../../src/include -I../../src/include/pcp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -o pmwebd  -Wall -L../../src/libpcp/src -L../../src/libpcp_pmda/src -pie -Wl,-z,relro -Wl,-z,now   main.o pmwebapi.o pmresapi.o pmgraphite.o util.o    -lpcp  -lmicrohttpd   -lpthread  
pmwebapi.o: In function `void json_key_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)':
/builddir/build/BUILD/pcp-3.10.1/src/pmwebapi/pmwebapi.h:124: multiple definition of `void json_key_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)'
main.o:/builddir/build/BUILD/pcp-3.10.1/src/pmwebapi/pmwebapi.h:124: first defined here
pmresapi.o: In function `void json_key_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)':
/builddir/build/BUILD/pcp-3.10.1/src/pmwebapi/pmwebapi.h:124: multiple definition of `void json_key_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)'
main.o:/builddir/build/BUILD/pcp-3.10.1/src/pmwebapi/pmwebapi.h:124: first defined here
pmgraphite.o: In function `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_rep() const':
/builddir/build/BUILD/pcp-3.10.1/src/pmwebapi/pmwebapi.h:124: multiple definition of `void json_key_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)'
main.o:/builddir/build/BUILD/pcp-3.10.1/src/pmwebapi/pmwebapi.h:124: first defined here
make[1]: Leaving directory `/builddir/build/BUILD/pcp-3.10.1/src'
collect2: ld returned 1 exit status
make[2]: *** [pmwebd] Error 1
make[1]: *** [default_pcp] Error 2
Version-Release number of selected component (if applicable):

Comment 1 Frank Ch. Eigler 2015-01-28 16:09:50 UTC
This was fixed back in commit 8d59188ce, in 3.10.2, so the .spec file
disabling of "disable_microhttpd" should be removed.

Comment 2 Dave Brolley 2015-01-28 17:59:17 UTC
A mockbuild of el5 confirms this.

Comment 3 Fedora Update System 2015-03-03 15:16:27 UTC
pcp-3.10.3-1.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/pcp-3.10.3-1.el5

Comment 4 Fedora Update System 2015-03-03 15:17:53 UTC
pcp-3.10.3-1.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/pcp-3.10.3-1.fc22

Comment 5 Fedora Update System 2015-03-03 15:19:05 UTC
pcp-3.10.3-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/pcp-3.10.3-1.fc21

Comment 6 Fedora Update System 2015-03-03 15:20:13 UTC
pcp-3.10.3-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/pcp-3.10.3-1.fc20

Comment 7 Fedora Update System 2015-03-04 21:07:34 UTC
Package pcp-3.10.3-1.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing pcp-3.10.3-1.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-3082/pcp-3.10.3-1.fc22
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2015-03-13 16:56:53 UTC
pcp-3.10.3-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2015-03-13 17:07:26 UTC
pcp-3.10.3-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2015-03-13 17:15:12 UTC
pcp-3.10.3-1.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2015-03-25 20:06:28 UTC
pcp-3.10.3-1.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.