Opened 9 years ago
Closed 9 years ago
#7867 closed enhancement (fixed)
pciutils-3.5.0
Reported by: | 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 , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 9 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 , 9 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 , 9 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 , 9 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 , 9 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in both books at r17393.
Almost there.