<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>10146</bug_id>
          
          <creation_ts>2016-08-15 18:47:23 +0000</creation_ts>
          <short_desc>oe_soinstall fails with confusing error if shared library does not have elf tag &apos;SONAME&apos;</short_desc>
          <delta_ts>2016-09-14 15:57:28 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>core</component>
          <version>2.1</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Henry Bruce">henry.bruce</reporter>
          <assigned_to name="Henry Bruce">henry.bruce</assigned_to>
          <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>ross.burton</cc>
    
    <cc>sgw</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65201</commentid>
    <comment_count>0</comment_count>
    <who name="Henry Bruce">henry.bruce</who>
    <bug_when>2016-08-15 18:47:23 +0000</bug_when>
    <thetext>oe_soinstall is typically invoked as follows:
  oe_soinstall ${WORKDIR}/${MACHINE_ARCH}/libfoo.so.X.Y.Z ${D}${libdir} 
where X, Y and Z  are major, minor and patch versions.
It is assumed that libfoo.so.X.Y.Z contains SONAME elf tag libfoo.so.X so symbolic links can be set up automatically.
However if SONAME tag is missing symbolic link fails as target is the library directory (/usr/lib), not a library file inside it (usr/lib/libfoo.so.X.Y.Z).
See also bug 7136.

Observed behavior
------------------
User sees a confusing error message in do_install
ln: failed to create symbolic link ‘/usr/lib/libfoo.so.X.Y.Z’: File exists

Expected behavior
------------------
oe_soinstall should detect absence of SONAME and give bitbake error
e.g. libfoo.so.X.Y.Z musty contain elf tag SONAME with value &apos;libfoo.so.X&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65207</commentid>
    <comment_count>1</comment_count>
      <attachid>3357</attachid>
    <who name="Henry Bruce">henry.bruce</who>
    <bug_when>2016-08-15 21:51:38 +0000</bug_when>
    <thetext>Created attachment 3357
log.do_package for oe_soinstall bug report</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65208</commentid>
    <comment_count>2</comment_count>
    <who name="Henry Bruce">henry.bruce</who>
    <bug_when>2016-08-15 21:54:42 +0000</bug_when>
    <thetext>Error message incorrectly capture. See correction below. Full log in attachment 3357.

Observed behavior
------------------
User sees a confusing error message in do_package
libfoo-1.0-r0 do_package: Function failed: split_and_strip_files

Expected behavior
------------------
oe_soinstall should detect absence of SONAME and give bitbake error
e.g. libfoo.so.X.Y.Z musty contain elf tag SONAME with value &apos;libfoo.so.X&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65210</commentid>
    <comment_count>3</comment_count>
    <who name="Henry Bruce">henry.bruce</who>
    <bug_when>2016-08-15 23:16:46 +0000</bug_when>
    <thetext>Here is a proposed update so oe_soinstall. My updates are the if statements. Feedback on wording is welcome. 

oe_soinstall() {
	# Purpose: Install shared library file and
	#          create the necessary links
	# Example: oe_soinstall libfoo.so.1.2.3 ${D}{libdir}
	libname=`basename $1`
	if [[ &quot;$libname&quot; == *.so ]]; then
		bbfatal &quot;oe_soinstall: Shared library must append version to filename (e.g. libfoo.so.1.2.3)&quot;
	fi
	install -m 755 $1 $2/$libname
	sonamelink=`${HOST_PREFIX}readelf -d $1 |grep &apos;Library soname:&apos; |sed -e &apos;s/.*\[\(.*\)\].*/\1/&apos;`
	if [ -z $sonamelink ]; then
		bbfatal &quot;oe_soinstall: $libname is missing ELF tag &apos;SONAME&apos;. Cannot continue.&quot;
	fi
	solink=`echo $libname | sed -e &apos;s/\.so\..*/.so/&apos;`
	ln -sf $libname $2/$sonamelink
	ln -sf $libname $2/$solink
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66143</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2016-09-14 15:57:28 +0000</bug_when>
    <thetext>Fixed in oe-core cd5d532bd2a3f409b9470591c8d6f6b21e5995dd.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3357</attachid>
            <date>2016-08-15 21:51:38 +0000</date>
            <delta_ts>2016-08-15 21:51:38 +0000</delta_ts>
            <desc>log.do_package for oe_soinstall bug report</desc>
            <filename>file_10146.txt</filename>
            <type>text/plain</type>
            <size>2242</size>
            <attacher name="Henry Bruce">henry.bruce</attacher>
            
              <data encoding="base64">bGluayByZWN1cnNpb24gdG9vIGRlZXAsIG5vdCBleHBhbmRpbmcgcGF0aCAnL3BhdGgvdG8vYnVp
bGQvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2xpYmZvby8xLjAtcjAvcGFja2FnZS91c3IvbGli
L2xpYmZvby5zby4wLjAuMScuDQpFUlJPUjogbGliZm9vLTEuMC1yMCBkb19wYWNrYWdlOiBFcnJv
ciBleGVjdXRpbmcgYSBweXRob24gZnVuY3Rpb24gaW4gZXhlY19weXRob25fZnVuYygpIGF1dG9n
ZW5lcmF0ZWQ6DQoNClRoZSBzdGFjayB0cmFjZSBvZiBweXRob24gY2FsbHMgdGhhdCByZXN1bHRl
ZCBpbiB0aGlzIGV4Y2VwdGlvbi9mYWlsdXJlIHdhczoNCkZpbGU6ICdleGVjX3B5dGhvbl9mdW5j
KCkgYXV0b2dlbmVyYXRlZCcsIGxpbmVubzogMiwgZnVuY3Rpb246IDxtb2R1bGU+DQogICAgIDAw
MDE6DQogKioqIDAwMDI6c3BsaXRfYW5kX3N0cmlwX2ZpbGVzKGQpDQogICAgIDAwMDM6DQpGaWxl
OiAnL3BhdGgvdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzJywgbGluZW5vOiA5
MjMsIGZ1bmN0aW9uOiBzcGxpdF9hbmRfc3RyaXBfZmlsZXMNCiAgICAgMDkxOTogICAgICAgICAg
ICAgICAgaWYgZGVidWdkaXIgYW5kIGRlYnVnZGlyIGluIG9zLnBhdGguZGlybmFtZShmaWxlW2xl
bihkdmFyKTpdKToNCiAgICAgMDkyMDogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlDQogICAg
IDA5MjE6DQogICAgIDA5MjI6ICAgICAgICAgICAgICAgIHRyeToNCiAqKiogMDkyMzogICAgICAg
ICAgICAgICAgICAgIGx0YXJnZXQgPSBjcGF0aC5yZWFscGF0aChmaWxlLCBkdmFyLCBGYWxzZSkN
CiAgICAgMDkyNDogICAgICAgICAgICAgICAgICAgIHMgPSBjcGF0aC5sc3RhdChsdGFyZ2V0KQ0K
ICAgICAwOTI1OiAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOg0KICAgICAwOTI2
OiAgICAgICAgICAgICAgICAgICAgKGVyciwgc3RyZXJyb3IpID0gZS5hcmdzDQogICAgIDA5Mjc6
ICAgICAgICAgICAgICAgICAgICBpZiBlcnIgIT0gZXJybm8uRU5PRU5UOg0KRmlsZTogJy9wYXRo
L3RvL3Bva3kvbWV0YS9saWIvb2UvY2FjaGVkcGF0aC5weScsIGxpbmVubzogMjI5LCBmdW5jdGlv
bjogcmVhbHBhdGgNCiAgICAgMDIyNTogICAgICAgICAgICAgICAgIyBiZSBwcmludGVkIGEgYmFj
a3RyYWNlIHdpdGggMTAwcyBvZiBPU0Vycm9yIGV4Y2VwdGlvbnMNCiAgICAgMDIyNjogICAgICAg
ICAgICAgICAgIyBlbHNlDQogICAgIDAyMjc6ICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3Io
ZXJybm8uRUxPT1AsDQogICAgIDAyMjg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRv
byBtdWNoIHJlY3Vyc2lvbnMgd2hpbGUgcmVzb2x2aW5nICclcyc7IGxvb3AgaW4gJyVzJyIgJQ0K
ICoqKiAwMjI5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLCBlLnN0cmVycm9y
KSkNCiAgICAgMDIzMDoNCiAgICAgMDIzMTogICAgICAgICAgICByYWlzZQ0KICAgICAwMjMyOg0K
ICAgICAwMjMzOiAgICAgICAgcmV0dXJuIGZpbGUNCkV4Y2VwdGlvbjogT1NFcnJvcjogW0Vycm5v
IDQwXSB0b28gbXVjaCByZWN1cnNpb25zIHdoaWxlIHJlc29sdmluZyAnL3BhdGgvdG8vYnVpbGQv
dG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2xpYmZvby8xLjAtcjAvcGFja2FnZS91c3IvbGliL2xp
YmZvby5zby4wLjAuMSc7IGxvb3AgaW4gJy9wYXRoL3RvL2J1aWxkL3RtcC93b3JrL2k1ODYtcG9r
eS1saW51eC9saWJmb28vMS4wLXIwL3BhY2thZ2UvdXNyL2xpYi9saWJmb28uc28uMC4wLjEnDQoN
CkVSUk9SOiBsaWJmb28tMS4wLXIwIGRvX3BhY2thZ2U6IEZ1bmN0aW9uIGZhaWxlZDogc3BsaXRf
YW5kX3N0cmlwX2ZpbGVzDQpFUlJPUjogTG9nZmlsZSBvZiBmYWlsdXJlIHN0b3JlZCBpbjogL3Bh
dGgvdG8vYnVpbGQvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2xpYmZvby8xLjAtcjAvdGVtcC9s
b2cuZG9fcGFja2FnZS4zMDY0MQ0KRVJST1I6IFRhc2sgL3BhdGgvdG8vYnVpbGQvd29ya3NwYWNl
L3JlY2lwZXMvbGliZm9vL2xpYmZvby5iYjpkb19wYWNrYWdlICgvcGF0aC90by9idWlsZC93b3Jr
c3BhY2UvcmVjaXBlcy9saWJmb28vbGliZm9vLmJiOmRvX3BhY2thZ2UpIGZhaWxlZCB3aXRoIGV4
aXQgY29kZSAnMScNCk5PVEU6IFRhc2tzIFN1bW1hcnk6IEF0dGVtcHRlZCAzNjUgdGFza3Mgb2Yg
d2hpY2ggMzYxIGRpZG4ndCBuZWVkIHRvIGJlIHJlcnVuIGFuZCAxIGZhaWxlZC4NCg0KU3VtbWFy
eTogMSB0YXNrIGZhaWxlZDoNCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>