>Undefined symbols for architecture x86_64: > "_lame_init_old", referenced from: > -exported_symbol[s_list] command line option >ld: symbol(s) not found for architecture x86_64
by
Anonymous Coward
on 2017年10月18日 7時57分
(#3297354)
$ tar xzpf lame-3.100.tar.gz
$ ./configure && make -j8 checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for style of include used by make... GNU checking for gcc... gcc checking whether the C compiler works... yes
snip
Making all in vc_solution make[2]: Entering directory '/home/hogehoge/lame-3.100/vc_solution' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/hogehoge/lame-3.100/vc_solution' make[2]: Entering directory '/home/hogehoge/lame-3.100' make[2]: Leaving directory '/home/hogehoge/lame-3.100' make[1]: Leaving directory '/home/hogehoge/lame-3.100'
$ ./frontend/lame --version LAME 64bits version 3.100 (http://lame.sf.net)
Copyright (c) 1999-2011 by The LAME Project Copyright (c) 1999,2000,2001 by Mark Taylor Copyright (c) 1998 by Michael Cheng Copyright (c) 1995,1996,1997 by Michael Hipp: mpglib
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Error (スコア:0)
>Undefined symbols for architecture x86_64:
> "_lame_init_old", referenced from:
> -exported_symbol[s_list] command line option
>ld: symbol(s) not found for architecture x86_64
>bash-3.2$ find . -iname "*.o" |xargs nm -o |grep "_lame_init_old"
>bash-3.2$
ビルドできへん!
Re:Error (スコア:0)
LAMEがそんな不完全なものを配布してるのかと、SFから落としてきてやってみたら何の問題もなくビルド完了した。
gcc 7.2.0、binutils 2.29.1という不具合上等な環境でさえ普通にビルドできるので、ビルドに失敗するのは明らかにおま環。
Re: (スコア:0)
エラーメッセージに原因が書いてある。共有ライブラリとしてビルドした時に公開する識別子のリストから廃止した関数を消し忘れている。特定の環境の問題ではあるが、明らかに不完全なものを配布している。