LPD-EPFL / ASCYLIB

ASCYLIB (with OPTIK) is a concurrent-search data-structure library with over 40 implementantions of linked lists, hash tables, skip lists, binary search trees, queues, and stacks.
http://lpd.epfl.ch/site/ascylib
GNU General Public License v2.0
176 stars 42 forks source link

../../include/measurements.h:335:10: fatal error: 'malloc.h' file not found #14

Open chenchienhao opened 8 years ago

chenchienhao commented 8 years ago

Hi, I tried to type "make all" in ASCYLIB folder principal, and I got this error:

/Applications/Xcode.app/Contents/Developer/usr/bin/make "STM=LOCKFREE" src/linkedlist-harris src/linkedlist-harris_opt src/linkedlist-michael src/hashtable-harris src/skiplist-fraser src/skiplist-herlihy_lf src/bst-ellen src/bst-howley src/bst-aravind src/priorityqueue-alistarh src/priorityqueue-lotanshavit_lf src/priorityqueue-alistarh-herlihyBased src/queue-ms_lf src/stack-treiber
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src/linkedlist-harris 
cat: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq: No such file or directory
(standard_in) 1: parse error
make[2]: nproc: Command not found
********************************** Using as a default number of cores:  on 1 socket
********************************** Using as a default frequency      :  GHz
********************************** If incorrect, create a manual entry in common/Makefile.common
make[2]: nproc: Command not found
cc -O3 -D_GNU_SOURCE -DLOCKFREE -DDEFAULT -DCORE_NUM= -DFREQ_GHZ= -m64 -Wall -fno-strict-aliasing -I../../src/atomic_ops -I../../include -I../../external/include -DGC=2 -DINITIALIZE_FROM_ONE=1 -c -o ../../build/measurements.o ../../src/measurements.c
In file included from ../../src/measurements.c:29:
../../include/measurements.h:335:10: fatal error: 'malloc.h' file not found
#include <malloc.h>
         ^
1 error generated.
make[2]: *** [measurements.o] Error 1
make[1]: *** [src/linkedlist-harris] Error 2
make: *** [lockfree] Error 2

After I copied my usr/include/malloc/malloc.h file and put on ASCYLIB/include folder, now terminal showing:

/Applications/Xcode.app/Contents/Developer/usr/bin/make "STM=LOCKFREE" src/linkedlist-harris src/linkedlist-harris_opt src/linkedlist-michael src/hashtable-harris src/skiplist-fraser src/skiplist-herlihy_lf src/bst-ellen src/bst-howley src/bst-aravind src/priorityqueue-alistarh src/priorityqueue-lotanshavit_lf src/priorityqueue-alistarh-herlihyBased src/queue-ms_lf src/stack-treiber
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C src/linkedlist-harris 
cat: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq: No such file or directory
(standard_in) 1: parse error
make[2]: nproc: Command not found
********************************** Using as a default number of cores:  on 1 socket
********************************** Using as a default frequency      :  GHz
********************************** If incorrect, create a manual entry in common/Makefile.common
make[2]: nproc: Command not found
cc -O3 -D_GNU_SOURCE -DLOCKFREE -DDEFAULT -DCORE_NUM= -DFREQ_GHZ= -m64 -Wall -fno-strict-aliasing -I../../src/atomic_ops -I../../include -I../../external/include -DGC=2 -DINITIALIZE_FROM_ONE=1 -c -o ../../build/measurements.o ../../src/measurements.c
make[2]: nproc: Command not found
cc -O3 -D_GNU_SOURCE -DLOCKFREE -DDEFAULT -DCORE_NUM= -DFREQ_GHZ= -m64 -Wall -fno-strict-aliasing -I../../src/atomic_ops -I../../include -I../../external/include -DGC=2 -DINITIALIZE_FROM_ONE=1 -c -o ../../build/ssalloc.o ../../src/ssalloc.c
../../src/ssalloc.c:117:17: warning: implicit declaration of function 'memalign'
      is invalid in C99 [-Wimplicit-function-declaration]
  ret = (void*) memalign(alignement, size);
                ^
../../src/ssalloc.c:117:9: warning: cast to 'void *' from smaller integer type
      'int' [-Wint-to-void-pointer-cast]
  ret = (void*) memalign(alignement, size);
        ^
2 warnings generated.
make[2]: nproc: Command not found
cc -O3 -D_GNU_SOURCE -DLOCKFREE -DDEFAULT -DCORE_NUM= -DFREQ_GHZ= -m64 -Wall -fno-strict-aliasing -I../../src/atomic_ops -I../../include -I../../external/include -DGC=2 -DINITIALIZE_FROM_ONE=1 -c -o ../../build/linkedlist.o linkedlist.c
In file included from linkedlist.c:24:
In file included from ./linkedlist.h:36:
../../include/atomic_ops_if.h:169:37: error: invalid use of a cast in a inline
      asm context requiring an l-value: remove the cast or build with
      -fheinous-gnu-extensions
        :"=r" ((unsigned long long) x)
               ~~~~~~~~~~~~~~~~~~~~~^
../../include/atomic_ops_if.h:180:27: error: invalid use of a cast in a inline
      asm context requiring an l-value: remove the cast or build with
      -fheinous-gnu-extensions
        :"=r" ((uint64_t) x)
               ~~~~~~~~~~~^
../../include/atomic_ops_if.h:190:27: error: invalid use of a cast in a inline
      asm context requiring an l-value: remove the cast or build with
      -fheinous-gnu-extensions
        :"=r" ((uint32_t) x)
               ~~~~~~~~~~~^
../../include/atomic_ops_if.h:200:27: error: invalid use of a cast in a inline
      asm context requiring an l-value: remove the cast or build with
      -fheinous-gnu-extensions
        :"=r" ((uint16_t) x)
               ~~~~~~~~~~~^
../../include/atomic_ops_if.h:210:26: error: invalid use of a cast in a inline
      asm context requiring an l-value: remove the cast or build with
      -fheinous-gnu-extensions
        :"=r" ((uint8_t) x)
               ~~~~~~~~~~^
In file included from linkedlist.c:24:
In file included from ./linkedlist.h:39:
In file included from ../../include/utils.h:43:
../../include/random.h:56:28: warning: implicit declaration of function
      'memalign' is invalid in C99 [-Wimplicit-function-declaration]
  seeds = (unsigned long*) memalign(64, 64);
                           ^
../../include/random.h:56:11: warning: cast to 'unsigned long *' from smaller
      integer type 'int' [-Wint-to-pointer-cast]
  seeds = (unsigned long*) memalign(64, 64);
          ^
In file included from linkedlist.c:24:
In file included from ./linkedlist.h:39:
../../include/utils.h:664:38: error: expected expression
    return thread_id/CORES_PER_SOCKET;
                                     ^
../../include/utils.h:696:2: error: use of undeclared identifier 'cpu_set_t'
        cpu_set_t mask;
        ^
../../include/utils.h:697:2: warning: implicit declaration of function
      'CPU_ZERO' is invalid in C99 [-Wimplicit-function-declaration]
        CPU_ZERO(&mask);
        ^
../../include/utils.h:697:12: error: use of undeclared identifier 'mask'; did
      you mean 'umask'?
        CPU_ZERO(&mask);
                  ^~~~
                  umask
/usr/include/sys/stat.h:359:8: note: 'umask' declared here
mode_t  umask(mode_t);
        ^
In file included from linkedlist.c:24:
In file included from ./linkedlist.h:39:
../../include/utils.h:698:2: warning: implicit declaration of function 'CPU_SET'
      is invalid in C99 [-Wimplicit-function-declaration]
        CPU_SET(cpu_use, &mask);
        ^
../../include/utils.h:698:20: error: use of undeclared identifier 'mask'; did
      you mean 'umask'?
        CPU_SET(cpu_use, &mask);
                          ^~~~
                          umask
/usr/include/sys/stat.h:359:8: note: 'umask' declared here
mode_t  umask(mode_t);
        ^
In file included from linkedlist.c:24:
In file included from ./linkedlist.h:39:
../../include/utils.h:703:6: warning: implicit declaration of function
      'pthread_setaffinity_np' is invalid in C99
      [-Wimplicit-function-declaration]
        if (pthread_setaffinity_np(thread, sizeof(cpu_set_t), &mask) != 0) 
            ^
../../include/utils.h:703:44: error: use of undeclared identifier 'cpu_set_t'
        if (pthread_setaffinity_np(thread, sizeof(cpu_set_t), &mask) != 0) 
                                                  ^
5 warnings and 10 errors generated.
make[2]: *** [linkedlist.o] Error 1
make[1]: *** [src/linkedlist-harris] Error 2
make: *** [lockfree] Error 2

Thanks. Sincerely.

trigonak commented 8 years ago

Hi,

Are you trying to compile ASCYLIB on OS X? We have not tested ASCYLIB on OS X.

What compiler do you use?

To start fixing the problems, you can first set the number of cores and the frequency of your processor in common/Makefile.common file, lines 192-193.

chenchienhao commented 8 years ago

Hi, thanks for responding.

Yes, I use OS X and there is my information of compiler:

$ gcc --version

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) Target: x86_64-apple-darwin14.1.0 Thread model: posix

I will try to set the number of cores and the frequency of processor.

Sincerely.

Chen, Chien-Hao.

2016-05-17 11:12 GMT-04:00 Vasileios Trigonakis notifications@github.com:

Hi,

Are you trying to compile ASCYLIB on OS X? We have not tested ASCYLIB on OS X.

What compiler do you use?

However, to start fixing the problems, you can first set the number of cores and the frequency of your processor in common/Makefile.common file, lines 192-193.

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/LPD-EPFL/ASCYLIB/issues/14#issuecomment-219749377

barracuda156 commented 2 years ago

Adding cflag -fheinous-gnu-extensions should solve the problem.