collect2: Fehler: ld gab 1 Exit-Status zurück Makefile: 107: Rezept für Ziel 'binär' fehlgeschlagen make: *** [binary] Fehler 1

1300
Hasani

Ich versuche, ChatScript V7.55 unter Ubuntu 16.04 zu kompilieren, aber ich habe folgende Fehlermeldung erhalten:

collect2: error: ld returned 1 exit status Makefile:107: recipe for target ‘binary’ failed make: *** [binary] Error 1 

Was ist das und wie kann ich das beheben?

Dies ist das gesamte Ergebnis, nachdem Sie diesen Befehl ausprobiert haben: make server

************ LINUX VERSION ************ g++ constructCode.o duktape/duktape.c evserver.o csocket.o cs_ev.c dictionarySystem.o englishTagger.o factSystem.o json.o functionExecute.o english.o infer.o javascript.o jsmn.o markSystem.o mongodb.o os.o outputSystem.o patternSystem.o postgres.o privatesrc.o scriptCompile.o spellcheck.o secure.o systemVariables.o tagger.o testing.o textUtilities.o tokenSystem.o topicSystem.o userCache.o userSystem.o variableSystem.o mainSystem.o -L/usr/lib64 -lrt -lcurl --verbose -pthread -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -Ievserver -o ../BINARIES/ChatScript Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)  COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/cc1plus -quiet -v -I evserver -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D_REENTRANT -D LOCKUSERFILE=1 -D EVSERVER=1 -D EVSERVER_FORK=1 -D DISCARDPOSTGRES=1 -D DISCARDMONGO=1 -D DISCARDMYSQL=1 duktape/duktape.c -quiet -dumpbase duktape.c -mtune=generic -march=x86-64 -auxbase duktape -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccz9862e.s GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/5" ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: evserver /usr/include/c++/5 /usr/include/x86_64-linux-gnu/c++/5 /usr/include/c++/5/backward /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: c3fdb80f2154421ceaf9e22c85325a8d COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -v -I evserver --64 -o /tmp/ccm8SVai.o /tmp/ccz9862e.s GNU assembler version 2.26.1 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26.1 COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/cc1plus -quiet -v -I evserver -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D_REENTRANT -D LOCKUSERFILE=1 -D EVSERVER=1 -D EVSERVER_FORK=1 -D DISCARDPOSTGRES=1 -D DISCARDMONGO=1 -D DISCARDMYSQL=1 cs_ev.c -quiet -dumpbase cs_ev.c -mtune=generic -march=x86-64 -auxbase cs_ev -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccz9862e.s GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/5" ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: evserver /usr/include/c++/5 /usr/include/x86_64-linux-gnu/c++/5 /usr/include/c++/5/backward /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: c3fdb80f2154421ceaf9e22c85325a8d In file included from cs_ev.c:5:0: evserver/ev.c:1254:31: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’ EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */ ^ COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -v -I evserver --64 -o /tmp/ccRZyE1l.o /tmp/ccz9862e.s GNU assembler version 2.26.1 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26.1 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccIwnEUp.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o ../BINARIES/ChatScript /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/lib64 -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. constructCode.o /tmp/ccm8SVai.o evserver.o csocket.o /tmp/ccRZyE1l.o dictionarySystem.o englishTagger.o factSystem.o json.o functionExecute.o english.o infer.o javascript.o jsmn.o markSystem.o mongodb.o os.o outputSystem.o patternSystem.o postgres.o privatesrc.o scriptCompile.o spellcheck.o secure.o systemVariables.o tagger.o testing.o textUtilities.o tokenSystem.o topicSystem.o userCache.o userSystem.o variableSystem.o mainSystem.o -lrt -lcurl -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' evserver.o: In function `evsrv_do_chat(Client_t*)': evserver.cpp:(.text+0x161a): undefined reference to `LogChat(long, char*, char*, char*, int, char*, char*)' mainSystem.o: In function `InitSystem(int, char**, char*, char*, char*, USERFILESYSTEM*, void (*)(char*), void (*)(char*))': mainSystem.cpp:(.text+0x2687): undefined reference to `ReadTopicFiles(char*, unsigned int, int)' mainSystem.cpp:(.text+0x273d): undefined reference to `ReadTopicFiles(char*, unsigned int, int)' collect2: error: ld returned 1 exit status Makefile:107: recipe for target 'binary' failed make: *** [binary] Error 1 

Dies ist auch der make fileInhalt: https://github.com/bwilcox-1234/ChatScript/blob/master/SRC/Makefile

Ich lief ./autogen.shin ../SRC/evserver und das ist das Ergebnis:

libtoolize: putting auxiliary files in '.'. libtoolize: linking file './ltmain.sh' libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. configure.ac:6: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see: configure.ac:6: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation configure.ac:10: installing './compile' configure.ac:6: installing './missing' Makefile.am: installing './depcomp' 

Danach lief es ./configurein ../SRC/evserver und das ist das Ergebnis:

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... no checking for mawk... mawk 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 gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables...  checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 configure: WARNING: Libtool does not cope well with whitespace in `pwd` checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking sys/inotify.h usability... yes checking sys/inotify.h presence... yes checking for sys/inotify.h... yes checking sys/epoll.h usability... yes checking sys/epoll.h presence... yes checking for sys/epoll.h... yes checking sys/event.h usability... no checking sys/event.h presence... no checking for sys/event.h... no checking port.h usability... no checking port.h presence... no checking for port.h... no checking poll.h usability... yes checking poll.h presence... yes checking for poll.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/eventfd.h usability... yes checking sys/eventfd.h presence... yes checking for sys/eventfd.h... yes checking sys/signalfd.h usability... yes checking sys/signalfd.h presence... yes checking for sys/signalfd.h... yes checking for inotify_init... yes checking for epoll_ctl... yes checking for kqueue... no checking for port_create... no checking for poll... yes checking for select... yes checking for eventfd... yes checking for signalfd... yes checking for clock_gettime... yes checking for nanosleep... yes checking for library containing floor... -lm checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands 

Dies ist das make serverErgebnis nach ihnen:

************ LINUX VERSION ************ g++ constructCode.o duktape/duktape.c evserver.o csocket.o cs_ev.c dictionarySystem.o englishTagger.o factSystem.o json.o functionExecute.o english.o infer.o javascript.o jsmn.o markSystem.o mongodb.o os.o outputSystem.o patternSystem.o postgres.o privatesrc.o scriptCompile.o spellcheck.o secure.o systemVariables.o tagger.o testing.o textUtilities.o tokenSystem.o topicSystem.o userCache.o userSystem.o variableSystem.o mainSystem.o -L/usr/lib64 -lrt -lcurl --verbose -pthread -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -Ievserver -o ../BINARIES/ChatScript Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)  COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/cc1plus -quiet -v -I evserver -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D_REENTRANT -D LOCKUSERFILE=1 -D EVSERVER=1 -D EVSERVER_FORK=1 -D DISCARDPOSTGRES=1 -D DISCARDMONGO=1 -D DISCARDMYSQL=1 duktape/duktape.c -quiet -dumpbase duktape.c -mtune=generic -march=x86-64 -auxbase duktape -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccY9JQBg.s GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/5" ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: evserver /usr/include/c++/5 /usr/include/x86_64-linux-gnu/c++/5 /usr/include/c++/5/backward /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: c3fdb80f2154421ceaf9e22c85325a8d COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -v -I evserver --64 -o /tmp/ccBVYgwH.o /tmp/ccY9JQBg.s GNU assembler version 2.26.1 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26.1 COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/cc1plus -quiet -v -I evserver -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D_REENTRANT -D LOCKUSERFILE=1 -D EVSERVER=1 -D EVSERVER_FORK=1 -D DISCARDPOSTGRES=1 -D DISCARDMONGO=1 -D DISCARDMYSQL=1 cs_ev.c -quiet -dumpbase cs_ev.c -mtune=generic -march=x86-64 -auxbase cs_ev -version -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccY9JQBg.s GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/5" ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/5/../../../../x86_64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: evserver /usr/include/c++/5 /usr/include/x86_64-linux-gnu/c++/5 /usr/include/c++/5/backward /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/include End of search list. GNU C++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) version 5.4.0 20160609 (x86_64-linux-gnu) compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR version 3.1.4, MPC version 1.0.3 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: c3fdb80f2154421ceaf9e22c85325a8d In file included from cs_ev.c:5:0: evserver/ev.c:1254:31: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’ EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialis ^ COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -v -I evserver --64 -o /tmp/ccWFo098.o /tmp/ccY9JQBg.s GNU assembler version 2.26.1 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26.1 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-L/usr/lib64' '-v' '-pthread' '-D' 'LOCKUSERFILE=1' '-D' 'EVSERVER=1' '-D' 'EVSERVER_FORK=1' '-D' 'DISCARDPOSTGRES=1' '-D' 'DISCARDMONGO=1' '-D' 'DISCARDMYSQL=1' '-I' 'evserver' '-o' '../BINARIES/ChatScript' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9oL8PA.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o ../BINARIES/ChatScript /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbegin.o -L/usr/lib64 -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. constructCode.o /tmp/ccBVYgwH.o evserver.o csocket.o /tmp/ccWFo098.o dictionarySystem.o englishTagger.o factSystem.o json.o functionExecute.o english.o infer.o javascript.o jsmn.o markSystem.o mongodb.o os.o outputSystem.o patternSystem.o postgres.o privatesrc.o scriptCompile.o spellcheck.o secure.o systemVariables.o tagger.o testing.o textUtilities.o tokenSystem.o topicSystem.o userCache.o userSystem.o variableSystem.o mainSystem.o -lrt -lcurl -lstdc++ -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: error: ld returned 1 exit status Makefile:107: recipe for target 'binary' failed make: *** [binary] Error 1 
0
`ld` ist ein Programm, das gemeinsam genutzte Bibliotheken lädt. Sie vermissen wahrscheinlich einige. Haben Sie vor dem Ausführen von "make" das Skript "configure" ausgeführt? Ein ordnungsgemäß geschriebenes "configure" sollte fehlende Bibliotheksfehler abfangen. wvxvw vor 6 Jahren 0
Es gibt eine Datei mit dem Namen `configure` im` evserver`-Ordner, aber wenn ich versuche, sie mit `./configure 'auszuführen, wird sudo: ./configure: Befehl nicht gefunden` angezeigt Hasani vor 6 Jahren 0
Sie müssen nicht unbedingt Sudo sein, um Code zu erstellen, normalerweise, wenn der Build richtig geschrieben wurde. Sieht die configure-Datei wie ein Shell-Skript aus? Wenn ja, so wie Sie Ihre Quellen bezogen haben, gingen die Bits des Dateimodus verloren (z. B. haben Sie ein ZIP-Archiv heruntergeladen). Ist dies der Fall, führen Sie "chmod + x. / Configure" aus und führen Sie es aus. wvxvw vor 6 Jahren 0
@wvxvw: Dies ist der Inhalt der Konfigurationsdatei: https://github.com/bwilcox-1234/ChatScript/blob/master/SRC/evserver/configure Hasani vor 6 Jahren 0
Ja, es ist eine typische `configure'-Datei, die von Autotools generiert wird. Sie müssen Ausführungsbits für diese Datei festlegen und ausführen. Anschließend prüfen Sie die Ausgabe, um festzustellen, ob alle Abhängigkeiten vorhanden sind. wvxvw vor 6 Jahren 0
@wvxvw: leider bin ich ein Neuling in Linux und weiß nicht, was diese Bits sind und wie kann ich sie einstellen? Hasani vor 6 Jahren 0
Oh, es ist nur eine andere Art zu sagen: run `chmod + x. / Configure`. Die Bits, über die ich spreche, sind die Bits in dem Wert, der als "Maske" oder "Dateimodusmaske" bezeichnet wird, oft als Basis-8-Nummer geschrieben, zum Beispiel 0777 würde bedeuten - Eigentümer kann lesen / schreiben / ausführen, die Gruppe des Besitzers kann Lesen / Schreiben / Ausführen, jeder kann Lesen / Schreiben / Ausführen. Das Programm "chmod" (das eigentlich als "Änderungsmodus" bezeichnet werden sollte) ändert diesen Wert insbesondere mit "+ x", wenn die angegebene Datei für alle drei Entitäten ausführbar wäre. wvxvw vor 6 Jahren 0
@wvxvw: Ich habe es das erste Mal gesagt, als du gesagt hast, aber wenn ich versuche, `. / configure` auszuführen, heißt es:` bash: ./configure: / bin / sh ^ M: schlechter Interpreter: Keine solche Datei oder Verzeichnis ' Hasani vor 6 Jahren 0
Es ist seltsam und ich weiß nicht, warum ich diesen Fehler bekomme! Die Datei existiert, aber Linux sagt nicht, dass es sie gibt! Hasani vor 6 Jahren 0
"^ M" würde bedeuten, dass es einen Wagenrücklauf gibt, bei dem "bash" einen Zeilenumbruch erwartet. Haben Sie die Datei zufällig geöffnet und mit einem "intelligenten" Texteditor (z. B. Eclipse) gespeichert, der die Zeilenenden möglicherweise im "Windows-Stil" "korrigiert" hat? Der einfachste Weg wäre wahrscheinlich, die `configure`-Datei erneut herunterzuladen. Andernfalls könnten Sie versuchen, was diese Antwort nahe legt: https://stackoverflow.com/a/3891101/5691066 wvxvw vor 6 Jahren 0
Ich habe dos2unix verwendet und es heißt: `nfigure dos2unix: Binäres Symbol 0x07 in Zeile 11836 gefunden. Dos2unix: Überspringen der Binärdatei configure` Ich habe mir diese Zeile angesehen und Folgendes gefunden:` FS = "" `. In github scheint es nichts zwischen "" zu sein, aber wenn ich es kopiere, zeigt es einen seltsamen Charakter zwischen "". Hasani vor 6 Jahren 0
Nun, das ist eine Klingelfigur (einst verwendet, um Sound mit einem einfachen Soundgerät auf der Hauptplatine des Computers zu spielen ...) Dann verwenden Sie stattdessen `sed '. Wie in der folgenden Antwort aus der Frage, die ich oben verlinkt habe? Oder Sie können den Charakter vorübergehend löschen und später wieder einfügen. wvxvw vor 6 Jahren 0
@wvxvw: Ich habe es entfernt und habe `. / autogen.sh` und` / configure` ausprobiert, aber ich habe nach dem `make server` Befehl einen Fehler. Ich habe meine Frage mit den Ergebnissen bearbeitet. Hasani vor 6 Jahren 0
Sie dürfen `autogen.sh` nicht ausführen, es sei denn, Sie sind ein Entwickler, der an diesem Projekt arbeitet. Es sind Abhängigkeiten erforderlich, die Sie als Benutzer möglicherweise nicht wissen, wo Sie sie installieren können. Wenn Ihre Projektkopie bereits über das Skript "configure" verfügte, war es bereits für Benutzer und nicht für Entwickler vorbereitet. Was Ihren Fehler angeht - ich vermute, dass Sie vor dem Serverbau etwas anderes bauen sollen. Versuchen Sie zuerst "make clean", dann "make" und dann "make server". wvxvw vor 6 Jahren 0
Außerdem zeigt die Konfigurationsausgabe an, dass einige Header / Bibliotheken fehlen. Ich bin nicht sicher, ob diese für Sie wichtig sind, aber "port.h", "event.h" und "kqueue" fehlen. Vielleicht versuchen Sie, die Abhängigkeiten zu installieren? `apt-file -x search '. * / event.h $'` liefert eine Reihe von Ergebnissen, aber ich vermute, dass das, was die Entwickler vorhatten, vom `libevent-dev`-Paket stammt. `port.h` - könnte Linux-Header sein. Ich konnte keine Readme in ihrem GitHub-Repository finden. Sie müssten die Entwickler bitten, Sie dabei zu unterstützen. wvxvw vor 6 Jahren 0
Ist das Problem nicht mit dieser Zeile: `/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In Funktion` _start ': (.text + 0x20): undefinierter Verweis auf `main '` Hasani vor 6 Jahren 0
Nun, irgendwie, richtig, aber `_start` ist keine Funktion, die ein Programmierer schreiben würde. Es wird vom Assembler aus einer Vorlage generiert. Dies ist eine Funktion, die die Laufzeitumgebung aufruft, um die Ausführung des Programms zu starten. '_start' überträgt später die Kontrolle auf Ihre `Haupt'-Funktion. Der Linker kann jedoch kein Archiv finden, in dem Sie Ihren Code mit der Funktion "main" kompiliert haben müssen. Aus diesem Grund wird dieser Fehler ausgegeben. wvxvw vor 6 Jahren 0
Bei genauerer Betrachtung scheint es, als wäre dieses Rezept für die Erstellung einer gemeinsam genutzten Bibliothek gedacht, daher sollte es keine "main" - Funktion haben. Sie sollten die Entwickler des Projekts wirklich nach der Zusammenstellung fragen. Es scheint nicht gründlich getestet oder für den allgemeinen Gebrauch erklärt worden zu sein. wvxvw vor 6 Jahren 0

0 Antworten auf die Frage