Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 740794 - net-misc/ices-2.0.2-r1 fails to link with lld: ld.lld: error: undefined symbol: ogg_page_granulepos
Summary: net-misc/ices-2.0.2-r1 fails to link with lld: ld.lld: error: undefined symbo...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: LD-is-lld, systemwide-lld
  Show dependency tree
 
Reported: 2020-09-07 06:47 UTC by Agostino Sarubbo
Modified: 2022-10-06 20:45 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,35.03 KB, text/plain)
2020-09-07 06:47 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2020-09-07 06:47:54 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: net-misc/ices-2.0.2 fails to compile.
Discovered on: amd64 (internal ref: tinderbox)

NOTE:
This machine uses a clang/LLVM toolchain.
If you think that this issue is strictly related to clang/LLVM please block bug 408963. If you think that this issue is strictly related to the LLD linker, please block bug 731004.
This machine uses also GLIBC-2.32. If you think that this issue is strictly related to GLIBC please block bug 736174.
Comment 1 Agostino Sarubbo gentoo-dev 2020-09-07 06:47:56 UTC
Created attachment 658884 [details]
build.log

build log and emerge --info
Comment 2 Miroslav Šulc gentoo-dev 2020-09-07 07:03:10 UTC
this is the error:

x86_64-pc-linux-gnu-clang -I/usr/include/libxml2 -pthread -Wall -Wno-pointer-sign -march=native -O2 -pipe -frecord-gcc-switches -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -fuse-ld=lld -o ices input.o cfgparse.o stream.o ices.o signals.o im_playlist.o reencode.o encode.o playlist_basic.o im_stdinpcm.o stream_shared.o metadata.o playlist_script.o audio.o resample.o im_oss.o im_alsa.o  log/.libs/libicelog.a timing/.libs/libicetiming.a thread/.libs/libicethread.a avl/.libs/libiceavl.a -lasound -lvorbisenc -lvorbis -lshout -lxml2 -lz -licui18n -licuuc -licudata -lm -ldl
ld.lld: error: undefined symbol: ogg_page_granulepos
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)
>>> referenced by encode.c
>>>               encode.o:(encode_dataout)
>>> referenced by encode.c
>>>               encode.o:(encode_dataout)

ld.lld: error: undefined symbol: ogg_page_bos
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)

ld.lld: error: undefined symbol: ogg_stream_clear
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_clear)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)
>>> referenced by encode.c
>>>               encode.o:(encode_clear)

ld.lld: error: undefined symbol: ogg_page_serialno
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)

ld.lld: error: undefined symbol: ogg_stream_init
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)
>>> referenced by encode.c
>>>               encode.o:(encode_initialise)

ld.lld: error: undefined symbol: ogg_stream_pagein
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)

ld.lld: error: undefined symbol: ogg_stream_packetout
>>> referenced by input.c
>>>               input.o:(input_calculate_ogg_sleep)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)
>>> referenced by reencode.c
>>>               reencode.o:(reencode_page)

ld.lld: error: undefined symbol: ogg_sync_init
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_open_module)
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)

ld.lld: error: undefined symbol: ogg_sync_clear
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)
>>> referenced by im_playlist.c
>>>               im_playlist.o:(event_handler)

ld.lld: error: undefined symbol: ogg_sync_pageout
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)

ld.lld: error: undefined symbol: ogg_sync_buffer
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)

ld.lld: error: undefined symbol: ogg_sync_wrote
>>> referenced by im_playlist.c
>>>               im_playlist.o:(playlist_read)

ld.lld: error: undefined symbol: ogg_stream_packetin
>>> referenced by encode.c
>>>               encode.o:(encode_initialise)
>>> referenced by encode.c
>>>               encode.o:(encode_initialise)
>>> referenced by encode.c
>>>               encode.o:(encode_initialise)
>>> referenced by encode.c
>>>               encode.o:(encode_dataout)
>>> referenced by encode.c
>>>               encode.o:(encode_finish)

ld.lld: error: undefined symbol: ogg_stream_flush
>>> referenced by encode.c
>>>               encode.o:(encode_dataout)
>>> referenced by encode.c
>>>               encode.o:(encode_dataout)

ld.lld: error: undefined symbol: ogg_stream_pageout
>>> referenced by encode.c
>>>               encode.o:(encode_dataout)
>>> referenced by encode.c
>>>               encode.o:(encode_flush)
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [Makefile:319: ices] Error 1
make[3]: Leaving directory '/var/tmp/portage/net-misc/ices-2.0.2/work/ices-2.0.2/src'
make[2]: *** [Makefile:385: all-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/net-misc/ices-2.0.2/work/ices-2.0.2/src'
make[1]: *** [Makefile:295: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/net-misc/ices-2.0.2/work/ices-2.0.2'
make: *** [Makefile:224: all] Error 2
Comment 3 Agostino Sarubbo gentoo-dev 2022-01-17 08:31:06 UTC
tinderbox has reproduced this issue with version 2.0.2-r1 - Updating summary.
Comment 4 Larry the Git Cow gentoo-dev 2022-10-06 20:45:05 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c09e4b7cfb3c84a29dd2c66beb30fb5128078088

commit c09e4b7cfb3c84a29dd2c66beb30fb5128078088
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2022-10-06 19:52:48 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2022-10-06 20:44:44 +0000

    net-misc/ices: fix build with clang/lld and upcoming clang-16
    
    One configure test was broken with (any) clang/lld on multilib profiles
    due to passing -L/usr/lib which led to underlinking wrt #740794.
    
    For 16 it's the usual missing header, handled by adjusting the autoconf
    test (revbumped in previous commit at same time for other compilers).
    
    Closes: https://bugs.gentoo.org/740794
    Closes: https://bugs.gentoo.org/870973
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 net-misc/ices/files/ices-2.0.2-gettimeofday.patch | 15 +++++++++++++++
 net-misc/ices/files/ices-2.0.2-libogg-test.patch  | 17 +++++++++++++++++
 net-misc/ices/ices-2.0.2-r2.ebuild                | 13 +++++++++++++
 3 files changed, 45 insertions(+)