Bug 1548675 - proj: Partial injection of Fedora build flags
Summary: proj: Partial injection of Fedora build flags
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: proj
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Devrim Gündüz
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: Fedora28BuildFlags
TreeView+ depends on / blocked
 
Reported: 2018-02-24 10:49 UTC by Florian Weimer
Modified: 2018-07-23 11:42 UTC (History)
5 users (show)

Fixed In Version: proj-4.9.3-6.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-05-28 15:24:08 UTC
Type: Bug


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.