Ah, you are using the system python that was built with gcc, but you want
to build sage with clang/clang++.

In python, setting CC will override the compiler used for building
extension modules, but
it will not override the linker used for building an extension module.

What happens here is a file is compiled with `-fopenmp` with clang (meaning
it needs to be linked with libomp from LLVM),
but linked with `-fopenmp` with gcc (meaning it links to libgomp from GNU).

To fix this, you'll have to set env variable LDSHARED="clang -pthread
-shared"

Isuru Fernando

On Tue, Aug 17, 2021 at 1:52 PM Kazuyoshi Furutaka <
furutaka.kazuyo...@gmail.com> wrote:

>
>
> 2021年8月17日(火) 17:05 Isuru Fernando <isu...@gmail.com>:
>
>> Did you rebuild python? You might have to do "make distclean".
>>
>> Isuru
>>
>>
> I believe I didn't.
>
> excerpt from the config.log...
>
>>
>>    4360 ## -------------------------------------------------------- ##
>>    4361 ## Checking whether SageMath should install SPKG python3... ##
>>    4362 ## -------------------------------------------------------- ##
>>    4363 configure:33651: checking whether any of bzip2 xz libffi is
>> installed as or will be installed as SPKG
>>    4364 configure:33660: result: no
>>    4365 configure:33664: checking for python3 >= 3.7.0, < 3.10.0 with
>> modules sqlite3, ctypes, math, hashlib, crypt, socket, zlib, distutils.core
>>    4366 configure:34331: result:
>>    4367 configure:34355: checking ... whether /usr/bin/python3 is good
>>    4368 CC=clang CXX=clang++ -std=gnu++11 conftest_venv/bin/python3
>> conftest.py --verbose build --build-base=conftest.dir
>>    4369 running build
>>    4370 running build_ext
>>    4371 building 'config_check_distutils' extension
>>    4372 creating conftest.dir
>>    4373 creating conftest.dir/temp.linux-x86_64-3.9
>>    4374 clang -Wno-unused-result -Wsign-compare
>> -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g
>> -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOU
>>    4374 RCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64
>> -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
>> -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O
>>    4374 2 -fexceptions -g -grecord-gcc-switches -pipe -Wall
>> -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
>> -fstack-protector-strong -m64 -mtune=generic -fasyn
>>    4374 chronous-unwind-tables -fstack-clash-protection -fcf-protection
>> -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe
>> -Wall -Werror=format-security -Wp,-D_
>>    4374 FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
>> -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables
>> -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC
>>    4374  -fwrapv -Dlinux -I/usr/include -fPIC
>> -I/home/furutaka/work/sage/sage-9.4.rc2-git-clang2/conftest_venv/include
>> -I/usr/include/python3.9 -c conftest.c -o conftest.dir/temp.linux-
>>    4374 x86_64-3.9/conftest.o
>>    4375 creating conftest.dir/lib.linux-x86_64-3.9
>>    4376 gcc -pthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -g
>> -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -g -Dlinux -I/usr/include
>> conftest.dir/temp.linux-x86_64-3.9/conftest.o -
>>    4376 L/usr/lib64 -o conftest.dir/lib.linux-x86_64-3.9/
>> config_check_distutils.cpython-39-x86_64-linux-gnu.so
>>    4377 CC=clang CXX=clang++ -std=gnu++11 conftest_venv/bin/python3
>> conftest.py --verbose build --build-base=conftest.dir
>>    4378 running build
>>    4379 running build_ext
>>    4380 building 'config_check_distutils_cxx' extension
>>    4381 creating conftest.dir
>>    4382 creating conftest.dir/temp.linux-x86_64-3.9
>>    4383 clang -Wno-unused-result -Wsign-compare
>> -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g
>> -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOU
>>    4383 RCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64
>> -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
>> -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O
>>    4383 2 -fexceptions -g -grecord-gcc-switches -pipe -Wall
>> -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
>> -fstack-protector-strong -m64 -mtune=generic -fasyn
>>    4383 chronous-unwind-tables -fstack-clash-protection -fcf-protection
>> -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe
>> -Wall -Werror=format-security -Wp,-D_
>>    4383 FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS
>> -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables
>> -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC
>>    4383  -fwrapv -Dlinux -I/usr/include -fPIC
>> -I/home/furutaka/work/sage/sage-9.4.rc2-git-clang2/conftest_venv/include
>> -I/usr/include/python3.9 -c conftest.cpp -o conftest.dir/temp.linu
>>    4383 x-x86_64-3.9/conftest.o -std=c++11
>>    4384 creating conftest.dir/lib.linux-x86_64-3.9
>>    4385 clang++ -pthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
>> -g -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -g -Dlinux -I/usr/include
>> conftest.dir/temp.linux-x86_64-3.9/conftest   4385 .o -L/usr/lib64 -o
>> conftest.dir/lib.linux-x86_64-3.9/
>> config_check_distutils_cxx.cpython-39-x86_64-linux-gnu.so
>>    4386 configure:34909: result: yes
>>    4387 configure:34911: checking for python3 >= 3.7.0, < 3.10.0 with
>> modules sqlite3, ctypes, math, hashlib, crypt, socket, zlib, distutils.core
>>    4388 configure:34977: result: /usr/bin/python3
>>    4389 configure:34994: will use system package and not install SPKG
>> python3
>
>
> What I did was:
>
>    1. `git checkout -b <a_tagged_version>`
>    2. rsync to a separate directory for building,
>    3. `make configure`
>    4. `CC=clang CXX=clang++ ./configure`
>    5. `./config.status recheck && ./config.status`
>    6. `script -c make make.log`
>
>
> By the way I forgot to mention but it's on a linux running fedora-34
> (x86_64).
>
> Kazuyoshi
> --
> Kazuyoshi Furutaka
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-devel/CANjERveCGS%2Bcqv9yBpDXsAatUw7qBUt3WU4JSqbUEvG2_d%2Bt-A%40mail.gmail.com
> <https://groups.google.com/d/msgid/sage-devel/CANjERveCGS%2Bcqv9yBpDXsAatUw7qBUt3WU4JSqbUEvG2_d%2Bt-A%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CA%2B01voMt4--cAM%2BUKSQaVz2GGPMb3w%3D_tfnY-pfdJ4AiNZmzQA%40mail.gmail.com.

Reply via email to