PTAL - phosphor-host-ipmid build warnings/errors

Patrick Venture venture at google.com
Tue Dec 11 08:05:44 AEDT 2018


On Mon, Dec 10, 2018 at 12:50 PM Patrick Venture <venture at google.com> wrote:
>
> On Mon, Dec 10, 2018 at 12:24 PM Vernon Mauery
> <vernon.mauery at linux.intel.com> wrote:
> >
> > On 10-Dec-2018 11:24 AM, Patrick Venture wrote:
> > >I've noticed recently a lot of build warnings since v2.4 on phosphor-host-ipmid:
> > >
> > >DEBUG: Executing python function externalsrc_compile_prefunc
> > >NOTE: phosphor-ipmi-host: compiling from external source tree
> > >/usr/local/google/git/workspaces/rebasing_daemons/gbmc-host-ipmid
> >
> > I have a patch that removes some of these "notes". They aren't warnings
> > because phosphor-host-ipmid builds with -Werror, which would cause it to
> > fail if there were actually warnings. But the note messages are
> > annoying. Digging into it, it looks like they spawn from an ABI
> > difference between gcc 6 and gcc 7+. This is to notify people that are
> > building new binaries to run on systems that have libraries built with
> > an old gcc that they may not work as expected. Since all of our binaries
> > are built with the same compiler, these notes can safely be ignored. For
> > now, some of them can be removed with -Wno-psabi .
>
> Thanks. I'm seeing an error at some point, with a couple extra patches
> and I think I pointed my finger at the wrong line!

When I enable:
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-host-ipmid/+/16486

It now fails to install, due to:

WARNING: phosphor-ipmi-host-1.0+git999-r1 do_install: install_file:
/usr/local/google/git/workspaces/building_24_rebase/build/tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/image//usr/lib/ipmid-providers/libipmi20.so.?
<--- my debug to see what's missing
ERROR: phosphor-ipmi-host-1.0+git999-r1 do_install: Error executing a
python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:symlink_create_postinstall(d)
     0003:
File: '/usr/local/google/git/workspaces/building_24_rebase/meta-phosphor/classes/obmc-phosphor-ipmiprovider-symlink.bbclass',
lineno: 38, function: symlink_create_postinstall
     0034:        os.symlink(source, os.path.join(install_dir, file))
     0035:
     0036:    for libname in listvar_to_list(d, 'HOSTIPMI_PROVIDER_LIBRARY'):
     0037:        install_dir = d.getVar('HOSTIPMI_LIBDIR', True)
 *** 0038:        install_symlink(d, libname, install_dir)
     0039:
     0040:    for libname in listvar_to_list(d, 'NETIPMI_PROVIDER_LIBRARY'):
     0041:        install_dir = d.getVar('NETIPMI_LIBDIR', True)
     0042:        install_symlink(d, libname, install_dir)
File: '/usr/local/google/git/workspaces/building_24_rebase/meta-phosphor/classes/obmc-phosphor-ipmiprovider-symlink.bbclass',
lineno: 30, function: install_symlink
     0026:
     0027:        filelist = glob.glob(install_file);
     0028:
     0029:        # get the library name
 *** 0030:        path, file = os.path.split(filelist[0])
     0031:        source = "../ipmid-providers/" + file
     0032:
     0033:        # create the symlink
     0034:        os.symlink(source, os.path.join(install_dir, file))
Exception: IndexError: list index out of range

ERROR: phosphor-ipmi-host-1.0+git999-r1 do_install: Function failed:
symlink_create_postinstall
ERROR: Logfile of failure stored in:
/usr/local/google/git/workspaces/building_24_rebase/build/tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/temp/log.do_install.53590
ERROR: Task (/usr/local/google/git/workspaces/building_24_rebase/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb:do_install)
failed with exit code '1'
NOTE: Tasks Summary: Attempted 4982 tasks of which 4974 didn't need to
be rerun and 1 failed.

I added the no-warning you suggested, I see the warnings now only on linking.

And it appears to be building the libipmi20 library:

find ./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/
-iname "libipmi20*so*"
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/libipmi20_la-sensorhandler.lo
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20_la-sensor-gen.o
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20.so
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20.so.0.0.0
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20_la-sensorhandler.o
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20.so.0
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20_la-ipmisensor.o
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20_la-inventory-sensor-gen.o
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/.libs/libipmi20_la-sensordatahandler.o
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/libipmi20_la-ipmisensor.lo
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/libipmi20_la-inventory-sensor-gen.lo
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/libipmi20_la-sensordatahandler.lo
./tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/phosphor-ipmi-host-1.0+git999/libipmi20_la-sensor-gen.lo

:/usr/local/google/git/workspaces/building_24_rebase/build$ ll
tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/image/usr/lib/
total 10248
drwxr-xr-x 4 venture primarygroup     4096 Dec 10 12:57 ./
drwxr-xr-x 5 venture primarygroup     4096 Dec 10 12:57 ../
drwxr-xr-x 2 venture primarygroup     4096 Dec 10 12:57 host-ipmid/
drwxr-xr-x 2 venture primarygroup     4096 Dec 10 12:57 ipmid-providers/
lrwxrwxrwx 1 venture primarygroup       21 Dec 10 12:57
libuserlayer.so -> libuserlayer.so.0.0.0*
lrwxrwxrwx 1 venture primarygroup       21 Dec 10 12:57
libuserlayer.so.0 -> libuserlayer.so.0.0.0*
-rwxr-xr-x 1 venture primarygroup 10474976 Dec 10 12:57 libuserlayer.so.0.0.0*

:/usr/local/google/git/workspaces/building_24_rebase/build$ ll
tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/image/usr/lib/ipmid-providers/
total 120
drwxr-xr-x 2 venture primarygroup   4096 Dec 10 12:57 ./
drwxr-xr-x 4 venture primarygroup   4096 Dec 10 12:57 ../
lrwxrwxrwx 1 venture primarygroup     23 Dec 10 12:57
libsysintfcmds.so -> libsysintfcmds.so.0.0.0*
lrwxrwxrwx 1 venture primarygroup     23 Dec 10 12:57
libsysintfcmds.so.0 -> libsysintfcmds.so.0.0.0*
-rwxr-xr-x 1 venture primarygroup 111512 Dec 10 12:57 libsysintfcmds.so.0.0.0*

So it's definitely not there now.  Without the relink ordering patch,
it ends up there:

ll tmp/work/armv6-openbmc-linux-gnueabi/phosphor-ipmi-host/1.0+git999-r1/image/usr/lib/ipmid-providers/;
total 5220
drwxr-xr-x 2 venture primarygroup    4096 Dec 10 13:05 ./
drwxr-xr-x 5 venture primarygroup    4096 Dec 10 13:05 ../
lrwxrwxrwx 1 venture primarygroup      18 Dec 10 13:05 libipmi20.so ->
libipmi20.so.0.0.0*
lrwxrwxrwx 1 venture primarygroup      18 Dec 10 13:05 libipmi20.so.0
-> libipmi20.so.0.0.0*
-rwxr-xr-x 1 venture primarygroup 5218452 Dec 10 13:05 libipmi20.so.0.0.0*
lrwxrwxrwx 1 venture primarygroup      23 Dec 10 13:05
libsysintfcmds.so -> libsysintfcmds.so.0.0.0*
lrwxrwxrwx 1 venture primarygroup      23 Dec 10 13:05
libsysintfcmds.so.0 -> libsysintfcmds.so.0.0.0*
-rwxr-xr-x 1 venture primarygroup  111512 Dec 10 13:05 libsysintfcmds.so.0.0.0*


More information about the openbmc mailing list