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

2023-12-20 Thread Kenneth Wolcott
Hi Ken C;

  Thank you for the hint.  I have gcc13 for Ada installed and I think
that the gcc got picked up (it has C as well, not pure Ada, so that
Ada can link up with C).

  Sometimes I think it would be great to have three (or more!)
different Macs so that I can customize things without conflicts.  I
guess Docker is the only way to meaningfully do that (I don't have
enough money or space to have that many Mac machines!)

Thanks,
Ken W


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

2023-12-16 Thread Ken Cunningham
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
>  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
>> 

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

2023-12-16 Thread Kenneth Wolcott
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
 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
> 

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

2023-12-16 Thread Kenneth Wolcott
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

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

2023-12-16 Thread Kenneth Wolcott
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
 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
>


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

2023-12-16 Thread Ken Cunningham
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



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

2023-12-15 Thread Kenneth Wolcott
Hi;

  This exists on homebrew, but doesn't on MacPorts.

  I don't use homebrew, I use MacPorts exclusively.

  I can't get this to compile (I've tried so many different ways to
hit this, I don't know what to list here for my failures).

  I can't get the Perl and Raku modules based on this package to work
without this.

  Could someone be so awesome as to create this port?

  Perhaps part of my problem is that I'm have an M1 chip and there's a
linking problem??

  I have tried using the Perl5 that comes with MacPorts for some
numeric things and it wants Perl 5.36 or newer, and some of the
MacPorts ports that I have require Perl 5.34, so I can't get the Perl
modules to install into 5.36.  So I tried to build my own Perl 5.38
and install modules there, which mostly works...

  Oh, I'm quite frustrated; hard to tell, no?

Thanks,
Ken Wolcott

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