Jump to content

Spidermonkey-tip wont compile under arch linux


soumyadeep
 Share

Recommended Posts

when compiling spidermonkey-tip through the build.sh script I'm having the following configure errors:

└─> ./build.sh 
Building SpiderMonkey...

creating cache ./config.cache
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking build system type... x86_64-unknown-linux-gnu
checking for mawk... no
checking for gawk... gawk
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for c++... c++
checking whether the C++ compiler (c++ ) works... yes
checking whether the C++ compiler (c++ ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking for ranlib... ranlib
checking for as... /usr/bin/as
checking for ar... ar
checking for ld... ld
checking for strip... strip
checking for windres... no
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking how to run the C++ preprocessor... c++ -E
checking for sb-conf... no
checking for ve... no
checking for a BSD compatible install... /bin/install -c
checking whether ln -s works... yes
checking for perl5... no
checking for perl... /usr/bin/perl
checking for minimum required perl version >= 5.006... 5.012001
checking for full perl installation... yes
checking for python... /usr/bin/python
checking for doxygen... :
checking for whoami... /usr/bin/whoami
checking for autoconf... /usr/bin/autoconf
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for makedepend... no
checking for xargs... /usr/bin/xargs
checking for gmake... no
checking for make... /usr/share/perl5/vendor_perl/auto/share/dist/Cope/make
checking for X... libraries , headers
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether the compiler supports -Wno-invalid-offsetof... yes
checking whether the compiler supports -Wno-variadic-macros... yes
checking whether ld has archive extraction flags... yes
checking that static assertion macros used in autoconf tests work... yes
checking for 64-bit OS... yes
checking for ANSI C header files... yes
checking for working const... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for st_blksize in struct stat... yes
checking for siginfo_t... yes
checking for stdint.h... yes
checking for the size of void*... 8
checking for the alignment of void*... 8
checking for the size of double... 8
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for int64... no
checking for uint... yes
checking for uint_t... no
checking for uint16_t... no
checking for uname.domainname... yes
checking for uname.__domainname... no
checking for visibility(hidden) attribute... yes
checking for visibility(default) attribute... yes
checking for visibility pragma support... yes
checking For gcc visibility bug with class-level attributes (GCC bug 26905)... no
checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)... no
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for sys/byteorder.h... no
checking for compat.h... no
checking for getopt.h... yes
checking for sys/bitypes.h... yes
checking for memory.h... yes
checking for unistd.h... yes
checking for gnu/libc-version.h... yes
checking for nl_types.h... yes
checking for malloc.h... yes
checking for X11/XKBlib.h... yes
checking for sys/statvfs.h... yes
checking for sys/statfs.h... yes
checking for sys/vfs.h... yes
checking for sys/mount.h... yes
checking for mmintrin.h... yes
checking for new... yes
checking for sys/cdefs.h... yes
checking for gethostbyname_r in -lc_r... no
checking for atan in -lm... yes
checking for dlopen in -ldl... yes
checking for dlfcn.h... yes
checking for dladdr... yes
checking for socket in -lsocket... no
checking for pthread_create in -lpthreads... /usr/bin/ld: cannot find -lpthreads
collect2: ld returned 1 exit status
yes
checking whether gcc accepts -pthread... yes
checking whether mmap() sees write()s... no
checking whether gcc needs -traditional... no
checking for 8-bit clean memcmp... no
checking for fchmod... no
checking for flockfile... no
checking for getc_unlocked... no
checking for _getc_nolock... no
checking for getpagesize... no
checking for lchown... no
checking for localtime_r... no
checking for lstat64... no
checking for memmove... no
checking for random... no
checking for rint... no
checking for sbrk... no
checking for snprintf... no
checking for stat64... no
checking for statvfs... no
checking for statvfs64... no
checking for strerror... no
checking for strtok_r... no
checking for truncate64... no
checking for wcrtomb... no
checking for mbrtowc... no
checking for res_ninit()... no
checking for gnu_get_libc_version()... no
checking for iconv in -lc... no
checking for iconv in -liconv... no
checking for libiconv in -liconv... no
checking for iconv()... no
checking for an implementation of va_copy()... no
checking for an implementation of __va_copy()... no
checking whether va_lists can be copied by value... no
checking for C++ exceptions flag... -fno-exceptions
checking for gcc 3.0 ABI... yes
checking for C++ "explicit" keyword... yes
checking for C++ "typename" keyword... yes
checking for modern C++ template specialization syntax support... yes
checking whether partial template specialization works... yes
checking whether operators must be re-defined for templates derived from templates... no
checking whether we need to cast a derived template to pass as its base class... no
checking whether the compiler can resolve const ambiguities for templates... yes
checking whether the C++ "using" keyword can change access... yes
checking whether the C++ "using" keyword resolves ambiguity... yes
checking for "std::" namespace... yes
checking whether standard template operator!=() is ambiguous... unambiguous
checking for C++ reinterpret_cast... yes
checking for C++ dynamic_cast to void*... no
checking whether C++ requires implementation of unused virtual methods... yes
checking for trouble comparing to zero near std::operator!=()... no
checking for LC_MESSAGES... yes
checking for valid debug flags... yes
checking for __cxa_demangle... no
checking for unwind.h... yes
checking for _Unwind_Backtrace... no
checking for gcc -pipe support... dummy-hello.c: In function 'main':
dummy-hello.c:2:39: warning: incompatible implicit declaration of built-in function 'exit'
yes
checking whether compiler supports -Wno-long-long... yes
checking whether C compiler supports -fprofile-generate... yes
checking whether C++ compiler has -pedantic long long bug... no
checking for correct temporary object destruction order... no
configure: error: Your compiler does not follow the C++ specification for temporary object destruction order.

I have all the build dependencies installed, this happens while compiling both the 0ad-unix-build.tar.xz file and from svn. I'm using 64bit arch fully updated.

Link to comment
Share on other sites

configure:12691: c++ -o conftest  -fno-strict-aliasing -pthread -pipe  -lpthreads  conftest.C -ldl -lm  1>&5
/usr/bin/ld: cannot find -lpthreads
collect2: ld returned 1 exit status

That seems to be the eventual cause of the error. The first signs are where it says

configure:9449: checking for pthread_create in -lpthreads
gcc -o dummy dummy.c -fno-strict-aliasing -lpthreads -ldl -lm
configure:9577: checking whether gcc accepts -pthread
configure:9695: checking whether mmap() sees write()s
configure:9738: gcc -o conftest -fno-strict-aliasing -pthread -lpthreads conftest.c -ldl -lm 1>&5
/usr/bin/ld: cannot find -lpthreads
collect2: ld returned 1 exit status

whereas on my (Gentoo) machine it says

configure:9449: checking for pthread_create in -lpthreads
gcc -o dummy dummy.c -fno-strict-aliasing -lpthreads -ldl -lm
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lpthreads
collect2: ld returned 1 exit status
configure:9472: checking for pthread_create in -lpthread
gcc -o dummy dummy.c -fno-strict-aliasing -lpthread -ldl -lm
configure:9577: checking whether gcc accepts -pthread
configure:9695: checking whether mmap() sees write()s
configure:9738: gcc -o conftest -fno-strict-aliasing -pthread -lpthread conftest.c -ldl -lm 1>&5
configure:9763: checking whether gcc needs -traditional

So it looks like your system is accepting the "-lpthreads" command the first time in the dummy program, but not later when it tries to actually use it. Do you have a /usr/lib/libpthreads.so and/or /usr/lib/libpthread.so? What version of GCC do you have?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...