Opened 8 years ago

Closed 8 years ago

#7867 closed enhancement (fixed)

pciutils-3.5.0

Reported by: bdubbs@… Owned by: Douglas R. Reno
Priority: normal Milestone: 7.10
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

New minor version

Change History (6)

comment:1 by Douglas R. Reno, 8 years ago

Owner: changed from blfs-book@… to Douglas R. Reno
Status: newassigned

Almost there.

comment:2 by Douglas R. Reno, 8 years ago

Have a little bit of a major problem here:

gcc      -lz -lresolv -ludev -o .o
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../lib64/crt1.o: In function `_start':
/sources/glibc-2.23/glibc-2.23/csu/../sysdeps/x86_64/start.S:114: undefined reference to `main'
collect2: error: ld returned 1 exit status
<builtin>: recipe for target '.o' failed
make: *** [.o] Error 1

As a result, since my script didn't catch it and it tried to run make install:

gcc -O2 -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes   -c -o common.o common.c
gcc   lspci.o ls-vpd.o ls-caps.o ls-caps-vendor.o ls-ecaps.o ls-kernel.o ls-tree.o ls-map.o common.o lib/libpci.a  -lz -lresolv -ludev -lkmod -o lspci
lspci.o: In function `config_fetch':
lspci.c:(.text+0x3bf): undefined reference to `pci_read_block'
lspci.o: In function `scan_device':
lspci.c:(.text+0x45c): undefined reference to `pci_filter_match'
lspci.c:(.text+0x4f2): undefined reference to `pci_read_block'
lspci.c:(.text+0x510): undefined reference to `pci_setup_cache'
lspci.c:(.text+0x51d): undefined reference to `pci_fill_info'
lspci.o: In function `show_machine':
lspci.c:(.text+0xdac): undefined reference to `pci_fill_info'
lspci.c:(.text+0xe04): undefined reference to `pci_lookup_name'
lspci.c:(.text+0xe3d): undefined reference to `pci_lookup_name'
lspci.c:(.text+0xe76): undefined reference to `pci_lookup_name'
lspci.c:(.text+0xf5b): undefined reference to `pci_lookup_name'
lspci.c:(.text+0xf8d): undefined reference to `pci_lookup_name'
lspci.o:lspci.c:(.text+0xfbf): more undefined references to `pci_lookup_name' follow
lspci.o: In function `show_device':
lspci.c:(.text+0x1574): undefined reference to `pci_fill_info'
lspci.o: In function `main':
lspci.c:(.text.startup+0x13): undefined reference to `pci_alloc'
lspci.c:(.text.startup+0x2f): undefined reference to `pci_filter_init'
lspci.c:(.text.startup+0xa5): undefined reference to `pci_filter_parse_slot'
lspci.c:(.text.startup+0x131): undefined reference to `pci_set_name_list_path'
lspci.c:(.text.startup+0x14d): undefined reference to `pci_filter_parse_id'
lspci.c:(.text.startup+0x261): undefined reference to `pci_init'
lspci.c:(.text.startup+0x276): undefined reference to `pci_scan_bus'
lspci.c:(.text.startup+0x2f4): undefined reference to `pci_cleanup'
ls-vpd.o: In function `read_vpd.isra.0':
ls-vpd.c:(.text+0x9e): undefined reference to `pci_read_vpd'
ls-caps.o: In function `show_caps':
ls-caps.c:(.text+0x1152): undefined reference to `pci_lookup_name'
ls-kernel.o: In function `find_driver.isra.0':
ls-kernel.c:(.text+0x138): undefined reference to `pci_get_param'
ls-kernel.o: In function `next_module_filtered':
ls-kernel.c:(.text+0x296): undefined reference to `pci_fill_info'
ls-tree.o: In function `show_tree_dev':
ls-tree.c:(.text+0x293): undefined reference to `pci_lookup_name'
ls-map.o: In function `do_map_bus':
ls-map.c:(.text+0x20a): undefined reference to `pci_get_dev'
ls-map.c:(.text+0x217): undefined reference to `pci_read_word'
ls-map.c:(.text+0x282): undefined reference to `pci_free_dev'
ls-map.c:(.text+0x299): undefined reference to `pci_read_byte'
common.o: In function `parse_generic_option':
common.c:(.text+0x199): undefined reference to `pci_set_param'
common.c:(.text+0x1da): undefined reference to `pci_lookup_method'
common.c:(.text+0x201): undefined reference to `pci_set_param'
common.c:(.text+0x2ae): undefined reference to `pci_get_method_name'
common.c:(.text+0x2f3): undefined reference to `pci_walk_params'
collect2: error: ld returned 1 exit status
Makefile:99: recipe for target 'lspci' failed
make: *** [lspci] Error 1
2.6 Elasped Time - pciutils-3.5.0

How / why is glibc pulling files from the old source directory for it in /sources that doesn't exist? And better yet, why is this the only package that has triggered it?

This happens on both 3.4.1 and 3.5.0 for me on both trunk and systemd.

comment:3 by bdubbs@…, 8 years ago

What happens if you just do:

tar -xf pciutils-3.5.0.tar.xz 
cd pciutils-3.5.0

make PREFIX=/usr                \
         SHAREDIR=/usr/share/hwdata \
         SHARED=yes 

That works fine for me. The link line is:

gcc -shared -Wl,-soname,libpci.so.3 -Wl,--version-script=libpci.ver -o libpci.so.3.5.0 init.o access.o generic.o dump.o names.o filter.o names-hash.o names-parse.o names-net.o names-cache.o names-hwdb.o params.o caps.o sysfs.o proc.o i386-ports.o -lz -lresolv -ludev

And does not generate any errors.

comment:4 by Douglas R. Reno, 8 years ago

Interesting... is it against Bash's language to have a \ in a script? I removed all of those and ran the make command as one line, and it worked flawlessly...

comment:5 by Pierre Labastie, 8 years ago

I guess you checked, but the effect of a \ can be ruined by an invisible <space> after the \ and before the <carriage return>...

comment:6 by Douglas R. Reno, 8 years ago

Resolution: fixed
Status: assignedclosed

Fixed in both books at r17393.

Note: See TracTickets for help on using tickets.