[Litepac-devel] [patch] fixed linking
thecrux at gmail.com
thecrux at gmail.com
Sat May 19 23:42:04 MSK 2012
Привет.
При сборке на ALTLinux Sisyphus обнаружил ошибку:
....
cc vmachined.o vmconf.o task.o sched.o -Wall -g -gstabs -O0
-D_ISOC99_SOURCE -D_GNU_SOURCE -D_XOPEN_SOURCE=500 -I ../include -I
../lib -rdynamic -I../libhal -L ../lib -L../libvmrt -L../libhal -o
vmachined -llib -ldl -lm -lrt -lvmrt -lhal -llib
../libvmrt/libvmrt.a(vm.o): In function `vm_foper':
vm.c:464: undefined reference to `fmodf'
../libvmrt/libvmrt.a(vmlibcall.o): In function `vm_libcall_load':
vmlibcall.c:74: undefined reference to `dlopen'
vmlibcall.c:76: undefined reference to `dlerror'
vmlibcall.c:84: undefined reference to `dlerror'
vmlibcall.c:85: undefined reference to `dlsym'
vmlibcall.c:87: undefined reference to `dlerror'
../libvmrt/libvmrt.a(vmlibcall.o): In function `vm_libcall_unload':
vmlibcall.c:112: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[1]: *** [vmachined] Ошибка 1
make[1]: Leaving directory `/home/crux/devel/litepac/vmachined'
В ALTLinux линкер по-умолчанию запускается с флагом --as-needed
и, по всей видимости, не найдя символов из libdl на том месте, где
указана -ldl, и не стал её линковать. Т.о. требуется изменить
порядок библиотек, чтобы тот объектник, которому нужен libdl стоял
раньше в списке.
Прикинул такой патчик:
Index: libvmrt/Makefile
===================================================================
--- libvmrt/Makefile (revision 4)
+++ libvmrt/Makefile (working copy)
@@ -2,7 +2,7 @@
LDFLAGS += -L ../libvmrt
-LDLIBS_VM = -lm -ldl -lvmrt
+LDLIBS_VM = -lvmrt -lm -ldl
LDLIBS_VM += $(LDLIBS)
CFLAGS += -rdynamic
Index: vmachined/Makefile
===================================================================
--- vmachined/Makefile (revision 4)
+++ vmachined/Makefile (working copy)
@@ -2,7 +2,7 @@
VMACHINED_OBJS = vmachined.o vmconf.o task.o sched.o
-LDLIBS += -ldl -lm -lrt -lvmrt -lhal -llib
+LDLIBS += -lrt -lvmrt -lhal -llib -ldl -lm
LDFLAGS += -L../libvmrt -L../libhal
CFLAGS += -rdynamic -I../libhal
--
Vladimir Lettiev aka crux ✉ theCrux at gmail.com
More information about the Litepac-devel
mailing list