когда я компилирую openvswitch-1.5.0, я столкнулся со следующей ошибкой компиляции:
gcc -Wstrict-prototypes -Wall -Wno-sign-compare -Wpointer-arith
-Wdeclaration-after-statement -Wformat-security -Wswitch-enum -Wunused-parameter -Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -Wno-override-init -g -O2 -export-dynamic ***-lpthread*** -o utilities/ovs-dpctl utilities/ovs-dpctl.o lib/libopenvswitch.a
/home/jyyoo/src/dpdk/build/lib/librte_eal.a
/home/jyyoo/src/dpdk/build/lib/libethdev.a
/home/jyyoo/src/dpdk/build/lib/librte_cmdline.a
/home/jyyoo/src/dpdk/build/lib/librte_hash.a
/home/jyyoo/src/dpdk/build/lib/librte_lpm.a
/home/jyyoo/src/dpdk/build/lib/librte_mbuf.a
/home/jyyoo/src/dpdk/build/lib/librte_ring.a
/home/jyyoo/src/dpdk/build/lib/librte_mempool.a
/home/jyyoo/src/dpdk/build/lib/librte_malloc.a -lrt -lm
/usr/bin/ld: /home/jyyoo/src/dpdk/build/lib/librte_eal.a(eal.o): undefined reference
to symbol '[email protected]@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from
command line
Если я попытаюсь увидеть символы libpthread, это выглядит нормально.
$ readelf -s /lib/x86_64-linux-gnu/libpthread.so.0 | grep pthread_create
199: 0000000000008220 2814 FUNC GLOBAL DEFAULT 13 [email protected]@GLIBC_2.2.5
173: 0000000000008220 2814 FUNC LOCAL DEFAULT 13 __pthread_create_2_1
462: 0000000000008220 2814 FUNC GLOBAL DEFAULT 13 [email protected]@GLIBC_2.2
не могли бы вы дать какие-либо подсказки или указатели?
757
10
10 ответов:
вы должны упомянуть библиотеку в командной строке после объектные файлы, скомпилированные:
gcc -Wstrict-prototypes -Wall -Wno-sign-compare -Wpointer-arith -Wdeclaration-after-statement -Wformat-security -Wswitch-enum -Wunused-parameter -Wstrict-aliasing -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -Wno-override-init -g -O2 -export-dynamic -o utilities/ovs-dpctl utilities/ovs-dpctl.o lib/libopenvswitch.a /home/jyyoo/src/dpdk/build/lib/librte_eal.a /home/jyyoo/src/dpdk/build/lib/libethdev.a /home/jyyoo/src/dpdk/build/lib/librte_cmdline.a /home/jyyoo/src/dpdk/build/lib/librte_hash.a /home/jyyoo/src/dpdk/build/lib/librte_lpm.a /home/jyyoo/src/dpdk/build/lib/librte_mbuf.a /home/jyyoo/src/dpdk/build/lib/librte_ring.a /home/jyyoo/src/dpdk/build/lib/librte_mempool.a /home/jyyoo/src/dpdk/build/lib/librte_malloc.a -lrt -lm -lpthreadпояснение: связывание зависит от порядка модулей. Символы сначала запрашиваются, а затем связываются из библиотеки, в которой они есть. Таким образом, вы должны указать модули, которые используют библиотеки в первую очередь, и библиотеки после них. Вот так:
gcc x.o y.o z.o -la -lb -lcкроме того, если есть циклическая зависимость, вы должны указать ту же библиотеку на командная строка несколько раз. Так что на всякий случай
libbнужен символlibcиlibcнужен символlibbкомандная строка должна быть:gcc x.o y.o z.o -la -lb -lc -lb
сообщение об ошибке зависит от дистрибутива / версии компилятора:
Ubuntu Дерзкий:
/usr/bin/ld: /mnt/root/ffmpeg-2.1.1//libavformat/libavformat.a(http.o): undefined reference to symbol 'inflateInit2_' /lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command lineUbuntu Raring: (более информативно)
/usr/bin/ld: note: 'uncompress' is defined in DSO /lib/x86_64-linux-gnu/libz.so.1 so try adding it to the linker command lineустранение: возможно, Вам не хватает библиотеки на этапах компиляции, на этапе компоновки. В моем случае я добавил ‘- lz’ для флагов makefile / GCC.
Справочная информация: DSO-это динамический общий объект или общая библиотека.
я нашел другой случай, и поэтому я думаю, что вы все ошибаетесь.
вот что у меня было:
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: eggtrayicon.o: undefined reference to symbol 'XFlush' /usr/lib64/libX11.so.6: error adding symbols: DSO missing from command lineпроблема в том, что командная строка не содержит
-lX11— хотя libX11.so следует добавить в качестве зависимости, потому что в аргументах также были библиотеки GTK и GNOME.Итак, единственное объяснение для меня заключается в том, что это сообщение могло быть предназначено помочь, но он не сделал это должным образом. Это было, вероятно, просто: библиотека, которая предоставляет символ, не была добавлена в командную строку.
обратите внимание на три важных правила, касающиеся связи в POSIX:
- динамические библиотеки имеют определенные зависимости, поэтому только библиотеки из верхней зависимости должны быть предоставлены в любом порядке (хотя и после статических библиотек)
- статические библиотеки только неопределенные символы — это до вас, чтобы знать их зависимости и поставить все из них в команду линия
- порядок статический библиотеки всегда: истец впервые,провайдер следующее. В противном случае вы получите неопределенное символьное сообщение, как и тогда, когда вы забыли добавить библиотеку в командную строку
- при указании библиотеки с помощью
-l<name>, вы никогда не знаете, будет ли он приниматьlib<name>.soилиlib<name>.a. Динамическая библиотека предпочтительна, если она найдена, а статические библиотеки могут быть применены только с помощью параметра компилятора-это все. И есть ли у вас какие-либо проблемы, как указано выше, это зависит от того, были ли у вас статические или динамические библиотеки- ну, иногда зависимости могут отсутствовать в динамических библиотеках: D
Я обнаружил, что у меня была та же ошибка. Я компилировал код как с lapack, так и с blas. Когда я переключил порядок, что две библиотеки были вызваны ошибка ушла.
«LAPACK_LIB = — llapack-lblas» работал где
«LAPACK_LIB = — lblas-llapack» выдал ошибку, описанную выше.
Я также столкнулся с той же проблемой. Я не знаю, почему, я просто добавить
-lpthreadопция для компилятора и все в порядке.старый:
$ g++ -rdynamic -m64 -fPIE -pie -o /tmp/node/out/Release/mksnapshot ...*.o *.a -ldl -lrtполучил следующее сообщение об ошибке. Если я добавлю
-lpthreadопция выше команды, то ОК./usr/bin/ld: /tmp/node/out/Release/obj.host/v8_libbase/deps/v8/src/base/platform/condition-variable.o: undefined reference to symbol '[email protected]@GLIBC_2.3.3' //lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status
Я обнаружил, что иногда библиотека, на которую жалуется компоновщик, не является причиной проблемы. Возможно, есть умный способ решить, где проблема, но это то, что я делаю:
- закомментируйте все связанные библиотеки в команде link.
- очистить все .o’s,. so и т. д. (Обычно достаточно очистить, но вы можете запустить рекурсивный find + rm или что-то подобное).
- раскомментируйте библиотеки в ссылке команда по одному за раз и перестроить порядок по мере необходимости.
@peter karasev: я столкнулся с той же проблемой с проектом gcc 4.8.2 cmake на CentOS7. Важен порядок библиотек в разделе «target_link_libraries». Я предполагаю, что cmake просто передает список компоновщику как есть, т. е. он не пытается выработать правильный порядок. Это разумно — когда вы думаете об этом cmake не может знать, что правильный порядок, пока связь не будет успешно завершенный.
пожалуйста, добавьте:
CFLAGS="-lrt"иLDFLAGS="-lrt"
то же самое произошло со мной, когда я устанавливал тест HPCC (включая HPL и несколько других тестов). Я добавил
-lmк флагам компилятора в моем скрипте сборки, а затем он успешно скомпилирован.
та же проблема случилась со мной, когда я использую
distccсделать мой проект c++ ;
Наконец я решил его сexport CXX="distcc g++".
при использовании
g++убедитесь, что вы не используете
0
2
Снова ошибка при сборке, только теперь другая?
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/../../../../lib64/libdl.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:411: recipe for target 'emerald' failed
make[2]: *** [emerald] Error 1
make[2]: Leaving directory '/var/tmp/portage/x11-wm/emerald-0.9.5/work/emerald-0.9.5/src'
Makefile:434: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/x11-wm/emerald-0.9.5/work/emerald-0.9.5'
Makefile:365: recipe for target 'all' failed
make: *** [all] Error 2
emake failed
* ERROR: x11-wm/emerald-0.9.5::x-portage failed (compile phase):
* emake failed
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 2953: Called default
* phase-functions.sh, line 770: Called default_src_compile
* phase-functions.sh, line 807: Called __eapi2_src_compile
* phase-helpers.sh, line 697: Called die
* The specific snippet of code:
* emake || die "emake failed"
*
* If you need support, post the output of `emerge --info '=x11-wm/emerald-0.9.5::x-portage'`,
* the complete build log and the output of `emerge -pqv '=x11-wm/emerald-0.9.5::x-portage'`.
* The complete build log is located at '/var/tmp/portage/x11-wm/emerald-0.9.5/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-wm/emerald-0.9.5/temp/environment'.
* Working directory: '/var/tmp/portage/x11-wm/emerald-0.9.5/work/emerald-0.9.5'
* S: '/var/tmp/portage/x11-wm/emerald-0.9.5/work/emerald-0.9.5'
>>> Failed to emerge x11-wm/emerald-0.9.5, Log file:
>>> '/var/tmp/portage/x11-wm/emerald-0.9.5/temp/build.log'
* Messages for package x11-wm/emerald-0.9.5:
* ERROR: x11-wm/emerald-0.9.5::x-portage failed (compile phase):
* emake failed
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 2953: Called default
* phase-functions.sh, line 770: Called default_src_compile
* phase-functions.sh, line 807: Called __eapi2_src_compile
* phase-helpers.sh, line 697: Called die
* The specific snippet of code:
* emake || die "emake failed"
*
* If you need support, post the output of `emerge --info '=x11-wm/emerald-0.9.5::x-portage'`,
* the complete build log and the output of `emerge -pqv '=x11-wm/emerald-0.9.5::x-portage'`.
* The complete build log is located at '/var/tmp/portage/x11-wm/emerald-0.9.5/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-wm/emerald-0.9.5/temp/environment'.
* Working directory: '/var/tmp/portage/x11-wm/emerald-0.9.5/work/emerald-0.9.5'
* S: '/var/tmp/portage/x11-wm/emerald-0.9.5/work/emerald-0.9.5'
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
scruloose opened this issue
Nov 11, 2019
· 13 comments
Comments
It’s entirely possible that this is some configuration error on my part; I don’t do a lot of installing from source. My desired outcome is to have a working install of projectM-pulseaudio in particular.
My system is Debian Bullseye, and the version of projectm in the Debian repos crashes as soon as it tries to load any visualization, as described in this Debian bug report. I have successfully built and installed the Sid version using apt -b source projectm-pulseaudio, but even in Sid it’s an old 2.1.0 version, and it seems the patch has not been incorporated there, as I still get the same behaviour (runs as long as the ‘ProjectM’ placeholder visualization is active, instantly crashes on switching to any other).
I have downloaded and extracted the 3.1.1 RC6 release, installed the dependencies listed in BUILDING.md, including the four packages listed for --enable-qt.
I did not do the autoreconf step, as this is a release tarball, not a git clone.
./configure --enable-qt seems to complete successfully, concluding with the following output:
Applications:
=====
libprojectM: yes
Threading: yes
SDL: no
Qt: yes
Pulseaudio: yes
Jack: yes
OpenGLES: no
Emscripten: no
llvm: no
Preset subdirs: no
make produces a bunch of output, concluding with this:
libprojectM_qt.a -ljack -lpthread ../libprojectM/.libs/libprojectM.a -lGL -ldl -pthread
/usr/bin/ld: ../projectM-qt/libprojectM_qt.a(qprojectm_mainwindow.o): undefined reference to symbol '_ZN5QIconC1Ev@@Qt_5'
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libQt5Gui.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:491: projectM-jack] Error 1
make[3]: Leaving directory '/home/chris/projectm/projectM-3.1.1-rc6/src/projectM-jack'
make[2]: *** [Makefile:457: all-recursive] Error 1
make[2]: Leaving directory '/home/chris/projectm/projectM-3.1.1-rc6/src'
make[1]: *** [Makefile:527: all-recursive] Error 1
make[1]: Leaving directory '/home/chris/projectm/projectM-3.1.1-rc6'
make: *** [Makefile:417: all] Error 2
Looking at various discussions on similar issues, including projectM Issue #263, it seems that the fix (or workaround?) is to explicitly add the library in question to «the command line», but I’m not familiar enough with the make process to know exactly what that means.
- Should I start over and this time add something like
LIBS="-lQt5Gui"to my./configureline?
(Similar to what’s described here and here.) - Should I edit the configured Makefile and append
-lQt5Guito theLIBS =line?
(Is-lQt5Guithe right syntax to refer to that library?) - Does one of the various scripts in the build directory have a command-line in it to which I should append the whole path
/usr/lib/x86_64-linux-gnu/libQt5Gui.so?
I already see /usr/lib/x86_64-linux-gnu/libQt5Gui.so listed in the Makefile on the QT_LIBS = line.
I have verified that /usr/lib/x86_64-linux-gnu/libQt5Gui.so exists. It’s a symlink to libQt5Gui.so.5.12.5
Update:
I wiped out the whole build directory, extracted fresh from the tarball, ran ./configure --enable-qt LIBS="-lQt5Gui", and then ran make. Now it fails with a different error!
/usr/bin/ld: ../projectM-qt/libprojectM_qt.a(qprojectmwidget_moc.o):(.data.rel.ro._ZTV15QProjectMWidget[_ZTV15QProjectMWidget]+0x228): undefined reference to `non-virtual thunk to QGLWidget::paintEngine() const'
/usr/bin/ld: ../projectM-qt/libprojectM_qt.a(qprojectmwidget_moc.o):(.data.rel.ro+0x0): undefined reference to `QGLWidget::staticMetaObject'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:491: projectM-jack] Error 1
make[3]: Leaving directory '/home/chris/projectm/projectM-3.1.1-rc6/src/projectM-jack'
make[2]: *** [Makefile:457: all-recursive] Error 1
make[2]: Leaving directory '/home/chris/projectm/projectM-3.1.1-rc6/src'
make[1]: *** [Makefile:527: all-recursive] Error 1
make[1]: Leaving directory '/home/chris/projectm/projectM-3.1.1-rc6'
make: *** [Makefile:417: all] Error 2
(There are a whole bunch of other «undefined reference» lines preceding this output, all of which refer to various QGLWidget::foo() items. (Function calls, I guess?)
I’m a little puzzled about the fact that it seems to encounter this error during processing of projectM-jack, given that I did not configure it with --enable-jack.
Am I missing some dependency that would provide all this QGLWidget stuff?
Thanks for the report, we’ve had quite a bit of issues with the Qt building process. However I believe the Qt Widget library is a reported issue on IRC — can you try reverting this line and see if it helps:
33ca67c
cc @coast77777777777
Thanks for the quick reply. I have another update!
Even though the latter error has different wording, the workaround seems to be essentially the same. From a clean start (again), I ran ./configure --enable-qt LIBS="-lQt5Gui -lQtOpenGL", ./configure --enable-qt LIBS="-lQt5Gui -lQt5OpenGL" and then ran make. That completed without error!
Now I’m trying to make a deb package using checkinstall make install. It throws hundreds of errors like this:
tar: ./usr/local/share/projectM/presets/foo.milk: Cannot stat: No such file or directory`
tar: Exiting with failure status due to previous errors
I suspect that’s a checkinstall issue rather than a projectM issue, but either way it doesn’t appear to be fatal. (And honestly, I should probably just tell checkinstall to ignore the presets dir, and copy them over manually.) My first checkinstall run eventually got through all the presets and then died with the error version number does not start with digit, which as far as I can tell is intended behaviour. I’m running it again with the version field changed from rc6 to 0rc6 now. Wish me luck!
Hm interesting, thanks for the feedback! What would be super useful would be if you can figure out how to get Travis CI (.travis.yml) to reproduce the errors you are experiencing so we can guard against introducing them in the future and confirm to us when this issue is fixed.
Opened a PR to restore QtWidgets #273
Curious what’s going on with checkinstall there. Maybe related to #272 ?
Well, I’m certainly willing in principle to help get Travis CI to reproduce the errors. I’ve never used Travis or any other CI framework before, though, so there may be a bit of a learning curve between here and there.
In the meantime, my checkinstall eventually produced a .deb file which installed without complaint, but then I got an immediate segfault when I launched the resulting projectm-pulseaudio executable.
When you suggested «reverting this line» up-thread, does that mean simply edit that file in my local working dir and add in the line the line starting qtHaveModule(widgets):?
And on a similar note, I have moved the presets_community directory out of my working dir; I’m hoping the compile scripts won’t care about its absence.
Right now, I’m at a different machine (also running Debian Bullseye) and facing a problem that looks similar, but is behaving differently. With or without the qtHaveModule(widgets) line, if I run ./configure --enable-qt it completes successfully, but then make still fails with a bunch of undefined reference to QGLWidget::foo errors. (No DSO missing from command line errors re: Qt5Gui this time.) If I try ./configure --enable-qt LIBS="-lQtOpenGL" (or LIBS="-lQt5Gui -lQtOpenGL"), the configure fails with the following output:
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/chris/projectM-source/projectM-3.1.1-rc6':
configure: error: C compiler cannot create executables
See `config.log' for more details
I’m quite baffled at that, because as long as I leave off the LIBS= part, the ./configure step completes successfully. Further, if I configure with just ./configure --enable-qt, then edit the Makefile and append -lQt5OpenGL (or -lQt5Gui -lQtOpenGL) to the LIBS = line and then run make, it still fails with undefined reference to QGLWidget::foo errors… which went away when those libs were added to the configuration, on my other machine.
The deeper I dig, the more confused I am.
Oh, oops. I solved the issue of the failed ./configure. I simply had the library name wrong—it’s Qt5OpenGL, not QtOpenGL. Thanks to this stackoverflow answer, I was able to figure that out from the info in the config.log.
On my work laptop, I now have a working install! Here’s what I did:
- Unpack this tarball to a working dir in my home directory
- Move presets/presets_community out of the working dir
- Edit
ax_have_qt.m4and add the lineqtHaveModule(widgets): QT += widgets - Run
./configure --enable-qt LIBS="-lQt5OpenGL" - Run
make - Run
sudo checkinstall make install - Manually create directories checkinstall chokes on as documented in this bug, re-run checkinstall, repeat a couple of times.
- Run
sudo dpkg -i projectm-3.1.1_0rc6-1_amd64.deb
Notably, I did still see a number of the tar: foo.milk ... No such file or directory errors during the checkinstall step, though with 42k fewer preset files it was far fewer of those errors and took a fraction of the time.
The result isn’t perfect (hit m for menu and watch it struggle for a good few seconds to rebuild the window with the menu pane; the text in the buttons in the settings dialog is misaligned; out of a quick sampling of ~20 random presets, one of them flickered violently in a way that did not look like it was by design). But for an «rc» release compiled by an amateur, I call it a success! The visualizations run fast and smooth in fullscreen, the keymappings work, and it’s successfully picking up the audio stream from pulseaudio. Most importantly, it runs without segfaulting, and it makes pretty visuals instead of crashing as soon as it tries to load a preset file. 
Very glad to hear it. What can we fix to make this easier for future users?
Updating the debian package would be super great. It’s very outdated.
Well, I’m not a developer, and I don’t have a whole lot of experience with installing things from source, so I don’t know that I can offer much in the way of informed suggestions, but I’ll do my best.
- Getting someone to update and maintain the Debian package would be awesome. The one in the official Debian repos (including the unstable repo) is literally non-functional. In my experience so far, even compiling a DIY local backport from Debian Sid’s source repos is a fraction of the difficulty of doing a checkinstall build from the upstream source tarball.
- Aside from that, the next most obvious big win would be to get the library dependencies stuff sorted out. For someone who’s not experienced with makefiles and the whole experience of building a complex project from source, that wall of «undefined reference» messages concluding with «Error 2» is pretty disheartening. I realize that this is easier said than done, of course.
- Obviously the
checkinstalldirectory-creation bug is not your problem, and I don’t know whether thetarerrors aboutno such file or directorystem from that, so that may also be not your bug.
I’m afraid I’m not going to do a regular «make install» on my daily-driver desktop system to find out how much of the problem came from checkinstall. I’ll see if I can figure out the Travis CI thing, and I just might be able to clone this system into a VM where I can experiment freely without worrying about breaking things.
But yeah, for a user of my technical skill level or below, building from source at all is a lot to ask, and if there was an apt repository (official Debian or not) to just install binaries of the latest stable projectM release, that would be far more accessible.
Oh, and I still don’t know what went wrong with the package I compiled on my home desktop system. The package I compiled on my work laptop installed and works fine on the home desktop, so I obviously messed something up during the compile. On the bright side, I do now have a working install on the machine that matters. ☺
That works for me but with :
./configure —enable-qt LIBS=»-lQt5Gui -lQt5OpenGL»
System is Debian Sid with Qt5 5.12.5+dfsg-2
Edit ax_have_qt.m4 and add the line qtHaveModule(widgets): QT += widgets
This is fixed in master.
Move presets/presets_community out of the working dir
This directory has been removed.
Okay, created a PR to hardcode and own the LIBS #293
The new CMake build scripts deal with those issues by using Qt’s configuration scripts for linking the libraries correctly on all platforms, so I’d consider this issue fixed. If there are still linker/compilation issues with the most recent master, please open a new report.
-
There is NO official Otland’s Discord server and NO official Otland’s server list. The Otland’s Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland’s Staff. Do not get scammed!
-
Thread starter
Resheris -
Start date
Mar 7, 2017
-
#1
/usr/bin/ld: connection.o: undefined reference to symbol ‘[email protected]@GLIBC_2.2.5’
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:462: recipe for target ‘theforgottenserver’ failed
make[1]: *** [theforgottenserver] Error 1
make[1]: Leaving directory ‘/root/ext2’
Makefile:404: recipe for target ‘all’ failed
make: *** [all] Error 2
Hello Everybody.
I trying to compiling OTS on the Debian 8 64 bit with cryingdamson 0.3.6 (8.60) V8.2 (TSF). I lost something like 2 days to get to this point where I am atm. Many of bugs in CPP files, I had to change many lines etc. today.. when I though everything is okey and my server will start I’ve got this error.. I dont fcking know what have to do now.. I’ll be glad if somebody will help me.
I want to make 8.6 NoobWarOTS on VPS. I can reinstall Linux or just change it, but I am not sure if this will fix my problem. I waiting for answer from You. I hope so I’ll fix it today.
I can also install:
CentOS 5/6/7 [32/64]
Debian 7/8 [32/64]
Ubuntu 14/12/16 [32/64]
but I hope so I wouldn’t do this..
Last edited: Mar 7, 2017
-
Don Daniello
- Mar 8, 2017
Try running this command:
Bash:
sed -i 's/ -lxml2$/ -lxml2 -lpthread/' Makefile
and then make again.
-
#2
Try running this command:
Bash:
sed -i 's/ -lxml2$/ -lxml2 -lpthread/' Makefile
and then make again.
-
#3
Greatfull! That works! Thank u very much!
-
#4
Try running this command:
Bash:
sed -i 's/ -lxml2$/ -lxml2 -lpthread/' Makefileand then make again.
Thank you! Could you explain what exaclty is this mistake?
-
#5
Thank you! Could you explain what exaclty is this mistake?
It adds -lpthread flag to the compiler flags.
-
#6
@Don Daniello
Code:
/usr/bin/ld: //usr/local/lib/liblua.a(loadlib.o): undefined reference to symbol '[email protected]@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:454: recipe for target 'theforgottenserver' failed
make[1]: *** [theforgottenserver] Error 1
make[1]: Leaving directory '/home/dcp/e'
Makefile:396: recipe for target 'all' failed
make: *** [all] Error 2
-
#8
/usr/bin/ld: /usr/local/lib/liblua.a(loadlib.o): undefined reference to symbol ‘[email protected]@GLIBC_2.2.5’
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/tfs.dir/build.make:2283: recipe for target ‘tfs’ failed
make[2]: *** [tfs] Error 1
CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/tfs.dir/all’ failed
make[1]: *** [CMakeFiles/tfs.dir/all] Error 2
Makefile:83: recipe for target ‘all’ failed
make: *** [all] Error 2
Help me?
Post automatically merged: Feb 5, 2020
@Don Daniello
Last edited: Feb 5, 2020
-
#9
apparently this
sed -i ‘s/ -lxml2$/ -lxml2 -lpthread/’ Makefile
isnt working for everyone, anyone knows another way to fix this?? im having the same issue
-
#10
/usr/bin/ld: connection.o: referência indefinida ao símbolo ‘[email protected]@GLIBC_2.2.5’
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: ** [theforgottenserver] Erro 1
make[1]: Saindo do diretório `/poketibia/src/src’
make: ** [all] Erro 2
This error for me… anyone can help me? ='( BASE poketibia 8.54
