Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1548675

Summary: proj: Partial injection of Fedora build flags
Product: [Fedora] Fedora Reporter: Florian Weimer <fweimer>
Component: projAssignee: Devrim Gündüz <devrim>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: devrim, fweimer, helio, mmathesi, rdossant
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: proj-4.9.3-6.fc28 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-28 15:24:08 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:
Bug Depends On:    
Bug Blocks: 1539083    

Description Florian Weimer 2018-02-24 10:49:23 UTC
/usr/lib64/libproj.so.12.0.0 in proj-4.9.3-5.fc28.x86_64 has not been linked with the standard Fedora linker flags (LDFLAGS) from redhat-rpm-config.

-specs=/usr/lib/rpm/redhat/redhat-hardened-ld is missing from the linker invocation:

libtool: link: gcc -shared  -fPIC -DPIC  .libs/PJ_aeqd.o .libs/PJ_gnom.o .libs/PJ_laea.o .libs/PJ_mod_ster.o .libs/PJ_nsper.o .libs/PJ_nzmg.o .libs/PJ_ortho.o .libs/PJ_stere.o .libs/PJ_sterea.o .libs/PJ_aea.o .libs/PJ_bipc.o .libs/PJ_bonne.o .libs/PJ_eqdc.o .libs/PJ_isea.o .libs/PJ_imw_p.o .libs/PJ_krovak.o .libs/PJ_lcc.o .libs/PJ_poly.o .libs/PJ_rpoly.o .libs/PJ_sconics.o .libs/proj_rouss.o .libs/PJ_cass.o .libs/PJ_cc.o .libs/PJ_cea.o .libs/PJ_eqc.o .libs/PJ_gall.o .libs/PJ_labrd.o .libs/PJ_lsat.o .libs/PJ_misrsom.o .libs/PJ_merc.o .libs/PJ_mill.o .libs/PJ_ocea.o .libs/PJ_omerc.o .libs/PJ_somerc.o .libs/PJ_tcc.o .libs/PJ_tcea.o .libs/PJ_times.o .libs/PJ_tmerc.o .libs/PJ_airy.o .libs/PJ_aitoff.o .libs/PJ_august.o .libs/PJ_bacon.o .libs/PJ_chamb.o .libs/PJ_hammer.o .libs/PJ_lagrng.o .libs/PJ_larr.o .libs/PJ_lask.o .libs/PJ_nocol.o .libs/PJ_ob_tran.o .libs/PJ_oea.o .libs/PJ_tpeqd.o .libs/PJ_vandg.o .libs/PJ_vandg2.o .libs/PJ_vandg4.o .libs/PJ_wag7.o .libs/PJ_lcca.o .libs/PJ_geos.o .libs/proj_etmerc.o .libs/PJ_boggs.o .libs/PJ_collg.o .libs/PJ_comill.o .libs/PJ_crast.o .libs/PJ_denoy.o .libs/PJ_eck1.o .libs/PJ_eck2.o .libs/PJ_eck3.o .libs/PJ_eck4.o .libs/PJ_eck5.o .libs/PJ_fahey.o .libs/PJ_fouc_s.o .libs/PJ_gins8.o .libs/PJ_gstmerc.o .libs/PJ_gn_sinu.o .libs/PJ_goode.o .libs/PJ_igh.o .libs/PJ_hatano.o .libs/PJ_loxim.o .libs/PJ_mbt_fps.o .libs/PJ_mbtfpp.o .libs/PJ_mbtfpq.o .libs/PJ_moll.o .libs/PJ_nell.o .libs/PJ_nell_h.o .libs/PJ_patterson.o .libs/PJ_putp2.o .libs/PJ_putp3.o .libs/PJ_putp4p.o .libs/PJ_putp5.o .libs/PJ_putp6.o .libs/PJ_qsc.o .libs/PJ_robin.o .libs/PJ_sch.o .libs/PJ_sts.o .libs/PJ_urm5.o .libs/PJ_urmfps.o .libs/PJ_wag2.o .libs/PJ_wag3.o .libs/PJ_wink1.o .libs/PJ_wink2.o .libs/pj_latlong.o .libs/pj_geocent.o .libs/aasincos.o .libs/adjlon.o .libs/bch2bps.o .libs/bchgen.o .libs/biveval.o .libs/dmstor.o .libs/mk_cheby.o .libs/pj_auth.o .libs/pj_deriv.o .libs/pj_ell_set.o .libs/pj_ellps.o .libs/pj_errno.o .libs/pj_factors.o .libs/pj_fwd.o .libs/pj_init.o .libs/pj_inv.o .libs/pj_fwd3d.o .libs/pj_inv3d.o .libs/pj_list.o .libs/pj_malloc.o .libs/pj_mlfn.o .libs/pj_msfn.o .libs/proj_mdist.o .libs/pj_open_lib.o .libs/pj_param.o .libs/pj_phi2.o .libs/pj_pr_list.o .libs/pj_qsfn.o .libs/pj_generic_selftest.o .libs/pj_run_selftests.o .libs/pj_strerrno.o .libs/pj_tsfn.o .libs/pj_units.o .libs/pj_ctx.o .libs/pj_log.o .libs/pj_zpoly1.o .libs/rtodms.o .libs/vector1.o .libs/pj_release.o .libs/pj_gauss.o .libs/PJ_healpix.o .libs/PJ_natearth.o .libs/PJ_natearth2.o .libs/PJ_calcofi.o .libs/pj_fileapi.o .libs/pj_gc_reader.o .libs/pj_gridcatalog.o .libs/nad_cvt.o .libs/nad_init.o .libs/nad_intr.o .libs/emess.o .libs/pj_apply_gridshift.o .libs/pj_datums.o .libs/pj_datum_set.o .libs/pj_transform.o .libs/geocent.o .libs/pj_utils.o .libs/pj_gridinfo.o .libs/pj_gridlist.o .libs/jniproj.o .libs/pj_mutex.o .libs/pj_initcache.o .libs/pj_apply_vgridshift.o .libs/geodesic.o .libs/pj_strtod.o   -lpthread -lm  -O2 -g -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -mcet -Wl,-z -Wl,relro   -Wl,-soname -Wl,libproj.so.12 -o .libs/libproj.so.12.0.0

See https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/master/f/buildflags.md for information on RPM macros and environment variables provided by the build environment.

Comment 1 Rafael Fonseca 2018-04-18 15:35:27 UTC
The flags look correct in a scratch build: https://kojipkgs.fedoraproject.org//work/tasks/2863/26442863/build.log

So maybe it's just a matter of rebuilding the package?

Comment 2 Florian Weimer 2018-04-18 15:40:22 UTC
(In reply to Rafael Fonseca from comment #1)
> The flags look correct in a scratch build:
> https://kojipkgs.fedoraproject.org//work/tasks/2863/26442863/build.log
> 
> So maybe it's just a matter of rebuilding the package?

Huh, that's odd.  Not sure what has changed to make a difference.  But the build log looks okay.  Can you submit an update for Fedora 28?  Then I can put it through my tester.

Comment 3 Rafael Fonseca 2018-04-18 16:05:42 UTC
The previous scratch build was for rawhide. The flag disappear in a f28 scratch build: https://kojipkgs.fedoraproject.org//work/tasks/2980/26442980/build.log

Comment 4 Rafael Fonseca 2018-04-18 16:41:13 UTC
Could this be a fix to libtool that is only patched for rawhide and not f28?

Comment 5 Merlin Mathesius 2018-04-18 16:57:12 UTC
> Could this be a fix to libtool that is only patched for rawhide and not f28?

It is. See https://src.fedoraproject.org/rpms/libtool/c/2e616087c1dce036105331cb0ef67e57499011f3?branch=master, currently only in Rawhide.

Comment 6 Rafael Fonseca 2018-05-11 13:49:18 UTC
Confirmed with a scratch-build [1] that the hardened flags are now used.

Waiting now on the maintainer to generate a new build.


[1] https://kojipkgs.fedoraproject.org//work/tasks/4067/26894067/build.log

Comment 7 Devrim Gündüz 2018-05-11 14:58:38 UTC
Hi,

Sorry, I'm a bit lost in this bug: Do I need to just rebuild proj on f28?

Regards, Devrim

Comment 8 Rafael Fonseca 2018-05-11 15:09:35 UTC
Yes, that's it, just a rebuild.

Comment 9 Fedora Update System 2018-05-11 15:54:38 UTC
proj-4.9.3-6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-6a4441aeff

Comment 10 Devrim Gündüz 2018-05-11 15:55:22 UTC
(In reply to Rafael Fonseca from comment #8)
> Yes, that's it, just a rebuild.

Thanks! Pushed it.

Comment 11 Rafael Fonseca 2018-05-11 16:02:14 UTC
Florian, you can use your tester now to check.

Comment 12 Fedora Update System 2018-05-12 19:35:56 UTC
proj-4.9.3-6.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-6a4441aeff

Comment 13 Fedora Update System 2018-05-28 15:24:08 UTC
proj-4.9.3-6.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Florian Weimer 2018-07-23 11:42:13 UTC
/usr/lib64/libproj.so.12.0.0 in proj-4.9.3-6.fc29.x86_64 looks okay.  Thanks.