プログラムについて考えてみましょう。
#include <gc/gc.h>
int main() {
void* p = GC_MALLOC(15);
}
Ubuntu 10.04 LTSでは、これはコンパイルされます(gcc -lgc test.c
)。12.04 LTS未満:
/tmp/cc7GcTfU.o: In function `main':
main.c:(.text+0xe): undefined reference to `GC_malloc'
collect2: ld returned 1 exit status
10.04から12.04の間に、malloc置換でコンパイルされないようにライブラリを変更したようです。libgc1c2
または、それは私がパッケージのこの説明が言うことだと思います:
[...] However, it does not work as a drop-in malloc(3) replacement.
これを回避する簡単な方法はありますか?(たとえば、libgcを手動で再コンパイルするよりも簡単なことです...)