New Port Request: Primesieve from https://github.com/kimwalisch/primesieve

Ken Cunningham ken.cunningham.webuse at gmail.com
Sun Dec 17 07:47:51 UTC 2023


I think you have done something like this at some point:

sudo port select gcc mp-gcc13

and so things are finding your gcc13 installation when you probably don't really want them to.

You want things to find clang instead, so do this:

sudo port select gcc none

Ken


On 2023-12-16, at 8:10 PM, Kenneth Wolcott wrote:

> Hi Ken C;
> 
>  I was able to install the Perl Primesieve module finally.  Now
> working on the Raku Primesieve module install process.
> 
> Thanks,
> Ken W.
> 
> On Sat, Dec 16, 2023 at 8:03 PM Kenneth Wolcott
> <kennethwolcott at gmail.com> wrote:
>> 
>> Hi Ken C;
>> 
>>  I thought I had precisely followed the build instructions
>> previously.  I must have built from the wrong directory and as a
>> result the linkage error(s) occurred.. Seems to work fine with your
>> instructions.
>> 
>>  I feel really stupid :-(
>> 
>>  Thanks...
>> 
>> Ken W.
>> 
>> port installed | grep cmake
>>  cmake @3.23.5_0
>>  cmake @3.24.3_0
>>  cmake @3.24.4_0 (active)
>>  cmake-bootstrap @3.9.6_0 (active)
>>  tree-sitter-cmake @0.1.0_0 (active)
>> 
>> git clone --depth=1 https://github.com/kimwalisch/primesieve
>> Cloning into 'primesieve'...
>> remote: Enumerating objects: 148, done.
>> remote: Counting objects: 100% (148/148), done.
>> remote: Compressing objects: 100% (139/139), done.
>> remote: Total 148 (delta 16), reused 96 (delta 7), pack-reused 0
>> Receiving objects: 100% (148/148), 165.77 KiB | 998.00 KiB/s, done.
>> Resolving deltas: 100% (16/16), done.
>> BS: cd primesieve
>> primesieve: mkdir build
>> primesieve: cd !$
>> cd build
>> build: cmake ..
>> -- The CXX compiler identification is GNU 13.1.0
>> -- Checking whether CXX compiler has -isysroot
>> -- Checking whether CXX compiler has -isysroot - yes
>> -- Checking whether CXX compiler supports OSX deployment target flag
>> -- Checking whether CXX compiler supports OSX deployment target flag - yes
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Check for working CXX compiler: /opt/gcc-13.1.0-aarch64/bin/c++ - skipped
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- Performing Test atomic64
>> -- Performing Test atomic64 - Success
>> -- Performing Test ftree_vectorize
>> -- Performing Test ftree_vectorize - Success
>> -- Performing Test fvect_cost_model
>> -- Performing Test fvect_cost_model - Success
>> -- Performing Test multiarch_popcnt_bmi
>> -- Performing Test multiarch_popcnt_bmi - Failed
>> -- Performing Test multiarch_avx512
>> -- Performing Test multiarch_avx512 - Failed
>> -- Configuring done
>> -- Generating done
>> -- Build files have been written to:
>> /Users/kwolcott/Downloads/BS/primesieve/build
>> build: make
>> [  2%] Building CXX object CMakeFiles/libprimesieve.dir/src/api-c.cpp.o
>> [  4%] Building CXX object CMakeFiles/libprimesieve.dir/src/api.cpp.o
>> [  6%] Building CXX object
>> CMakeFiles/libprimesieve.dir/src/CountPrintPrimes.cpp.o
>> [  8%] Building CXX object CMakeFiles/libprimesieve.dir/src/CpuInfo.cpp.o
>> [ 10%] Building CXX object CMakeFiles/libprimesieve.dir/src/Erat.cpp.o
>> [ 12%] Building CXX object CMakeFiles/libprimesieve.dir/src/EratSmall.cpp.o
>> [ 14%] Building CXX object CMakeFiles/libprimesieve.dir/src/EratMedium.cpp.o
>> [ 17%] Building CXX object CMakeFiles/libprimesieve.dir/src/EratBig.cpp.o
>> [ 19%] Building CXX object CMakeFiles/libprimesieve.dir/src/iterator-c.cpp.o
>> [ 21%] Building CXX object CMakeFiles/libprimesieve.dir/src/iterator.cpp.o
>> [ 23%] Building CXX object CMakeFiles/libprimesieve.dir/src/IteratorHelper.cpp.o
>> [ 25%] Building CXX object CMakeFiles/libprimesieve.dir/src/LookupTables.cpp.o
>> [ 27%] Building CXX object CMakeFiles/libprimesieve.dir/src/MemoryPool.cpp.o
>> [ 29%] Building CXX object CMakeFiles/libprimesieve.dir/src/PrimeGenerator.cpp.o
>> [ 31%] Building CXX object CMakeFiles/libprimesieve.dir/src/nthPrime.cpp.o
>> [ 34%] Building CXX object CMakeFiles/libprimesieve.dir/src/ParallelSieve.cpp.o
>> [ 36%] Building CXX object CMakeFiles/libprimesieve.dir/src/popcount.cpp.o
>> [ 38%] Building CXX object CMakeFiles/libprimesieve.dir/src/PreSieve.cpp.o
>> [ 40%] Building CXX object CMakeFiles/libprimesieve.dir/src/PrimeSieve.cpp.o
>> [ 42%] Building CXX object CMakeFiles/libprimesieve.dir/src/SievingPrimes.cpp.o
>> [ 44%] Linking CXX shared library libprimesieve.dylib
>> -macosx_version_min has been renamed to -macos_version_min
>> ld: warning: ignoring duplicate libraries: '-lgcc'
>> [ 44%] Built target libprimesieve
>> [ 46%] Building CXX object CMakeFiles/libprimesieve-static.dir/src/api-c.cpp.o
>> [ 48%] Building CXX object CMakeFiles/libprimesieve-static.dir/src/api.cpp.o
>> [ 51%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/CountPrintPrimes.cpp.o
>> [ 53%] Building CXX object CMakeFiles/libprimesieve-static.dir/src/CpuInfo.cpp.o
>> [ 55%] Building CXX object CMakeFiles/libprimesieve-static.dir/src/Erat.cpp.o
>> [ 57%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/EratSmall.cpp.o
>> [ 59%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/EratMedium.cpp.o
>> [ 61%] Building CXX object CMakeFiles/libprimesieve-static.dir/src/EratBig.cpp.o
>> [ 63%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/iterator-c.cpp.o
>> [ 65%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/iterator.cpp.o
>> [ 68%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/IteratorHelper.cpp.o
>> [ 70%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/LookupTables.cpp.o
>> [ 72%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/MemoryPool.cpp.o
>> [ 74%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/PrimeGenerator.cpp.o
>> [ 76%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/nthPrime.cpp.o
>> [ 78%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/ParallelSieve.cpp.o
>> [ 80%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/popcount.cpp.o
>> [ 82%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/PreSieve.cpp.o
>> [ 85%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/PrimeSieve.cpp.o
>> [ 87%] Building CXX object
>> CMakeFiles/libprimesieve-static.dir/src/SievingPrimes.cpp.o
>> [ 89%] Linking CXX static library libprimesieve.a
>> [ 89%] Built target libprimesieve-static
>> [ 91%] Building CXX object CMakeFiles/primesieve.dir/src/app/cmdoptions.cpp.o
>> [ 93%] Building CXX object CMakeFiles/primesieve.dir/src/app/help.cpp.o
>> [ 95%] Building CXX object CMakeFiles/primesieve.dir/src/app/main.cpp.o
>> [ 97%] Building CXX object CMakeFiles/primesieve.dir/src/app/test.cpp.o
>> [100%] Linking CXX executable primesieve
>> -macosx_version_min has been renamed to -macos_version_min
>> ld: warning: ignoring duplicate libraries: '-lgcc'
>> [100%] Built target primesieve
>> 
>> On Sat, Dec 16, 2023 at 7:55 PM Kenneth Wolcott
>> <kennethwolcott at gmail.com> wrote:
>>> 
>>> Hi Ken C.;
>>> 
>>>  Thanks, but I could not get it to compile on my machine (M1, Sonoma
>>> 14.2). I think I got a link error, don't recall right now.  Another
>>> time I got an assert failure at the link stage.
>>> 
>>> Ken W.
>>> 
>>> On Sat, Dec 16, 2023 at 7:37 PM Ken Cunningham
>>> <ken.cunningham.webuse at gmail.com> wrote:
>>>> 
>>>> Someone can make a port for this, but here you are for a quickie, to show you how this is done:
>>>> 
>>>> 
>>>> % sudo port install cmake
>>>> 
>>>> 
>>>> % git clone --depth=1 https://github.com/kimwalisch/primesieve
>>>> % cd primesieve
>>>> % mkdir build
>>>> % cd build
>>>> % cmake ..
>>>> % make
>>>> 
>>>> % ./primesieve 100 --count --print
>>>> 2
>>>> 3
>>>> 5
>>>> 7
>>>> 11
>>>> 13
>>>> 17
>>>> 19
>>>> 23
>>>> 29
>>>> 31
>>>> 37
>>>> 41
>>>> 43
>>>> 47
>>>> 53
>>>> 59
>>>> 61
>>>> 67
>>>> 71
>>>> 73
>>>> 79
>>>> 83
>>>> 89
>>>> 97
>>>> 25
>>>> 



More information about the macports-users mailing list