Bug 231524

Summary: multimedia/smpeg: fails to link on i386 with lld as /usr/bin/ld
Product: Ports & Packages Reporter: Ed Maste <emaste>
Component: Individual Port(s)Assignee: Jose Alonso Cardenas Marquez <acm>
Status: Closed FIXED    
Severity: Affects Only Me CC: acm, ndowens04
Priority: --- Flags: bugzilla: maintainer-feedback? (acm)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 214864    
Attachments:
Description Flags
Fix LLD on i386
none
Fix LLD on i386
none
LLD Fix; reorder variables; regen patches ndowens04: maintainer-approval? (acm)

Description Ed Maste freebsd_committer 2018-09-20 18:38:21 UTC
From http://package18.nyi.freebsd.org/data/headi386PR214864-default/2018-09-18_21h13m11s/logs/errors/x265-2.8_1.log

/usr/bin/ld: error: can't create dynamic relocation R_386_32 against symbol: x265_pw_1 in readonly segment; recompile object files with -fPIC
>>> defined in common/CMakeFiles/common.dir/x86/const-a.asm.o
>>> referenced by common/x86/pixel-a.asm
>>>               common/CMakeFiles/common.dir/x86/pixel-a.asm.o:(.text+0x66B)

/usr/bin/ld: error: can't create dynamic relocation R_386_32 against symbol: x265_pw_1 in readonly segment; recompile object files with -fPIC
>>> defined in common/CMakeFiles/common.dir/x86/const-a.asm.o
>>> referenced by common/x86/pixel-a.asm
>>>               common/CMakeFiles/common.dir/x86/pixel-a.asm.o:(.text+0x58BF)

...

adding LDFLAGS_i386=-Wl,-znotext appears to be insufficient (port does not honour LDFLAGS?)
Comment 1 Nathan 2018-09-21 05:23:59 UTC
Created attachment 197292 [details]
Fix LLD on i386

  multimedia/smpeg: Fix LLD for i386
 
  Log:
  - Remove included libtool
    Caused LLD issues
  - While here regenerate patches
 
  Submitted by:   Nathan <ndowens@yahoo.com>
  PR:             231524
Comment 2 Nathan 2018-09-21 05:26:53 UTC
(In reply to Nathan from comment #1)
Tested inside poudriere i386 jail with and without patch ; Patch fixed linker issue for me
Comment 3 Nathan 2018-09-21 16:20:50 UTC
Created attachment 197311 [details]
Fix LLD on i386
Comment 4 Ed Maste freebsd_committer 2018-09-26 15:15:19 UTC
FYI:

nuc% git apply -p0 < ~/smpeg
<stdin>:87: trailing whitespace.
 
<stdin>:101: trailing whitespace.
 
<stdin>:104: trailing whitespace.
 
warning: 3 lines add whitespace errors.

build-testing now.
Comment 5 Ed Maste freebsd_committer 2018-09-26 15:24:47 UTC
Patch works for me.
Comment 6 Nathan 2018-10-04 03:42:24 UTC
Created attachment 197767 [details]
LLD Fix; reorder variables; regen patches

 multimedia/smpeg:
 
 * Fix LLD for i386
 * Correct order variables, while here
 * Regenerate patches with makepatch
 
 PR:             231524
 Submitted by:   Nathan <ndowens@yahoo.com>
Comment 7 Nathan 2018-10-16 23:10:19 UTC
Can this be committed?
Comment 8 commit-hook freebsd_committer 2018-11-20 18:03:17 UTC
A commit references this bug:

Author: acm
Date: Tue Nov 20 18:03:14 UTC 2018
New revision: 485454
URL: https://svnweb.freebsd.org/changeset/ports/485454

Log:
  - Fix LLD for i386
  - Correct order variables, while here
  - Regenerate patches with makepatch
  - Bump PORTREVISION

  PR:		231524
  Submitted by:	Nathan <ndowens  _at_  yahoo.com>

Changes:
  head/multimedia/smpeg/Makefile
  head/multimedia/smpeg/files/patch-MPEGaudio.h
  head/multimedia/smpeg/files/patch-configure
  head/multimedia/smpeg/files/patch-gtv.c
  head/multimedia/smpeg/files/patch-smpeg.m4
  head/multimedia/smpeg/files/patch-video__video.h