You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4da8046..7a4ee75 100755
--- a/CMakeLists.txt+++ b/CMakeLists.txt@@ -4,7 +4,7 @@ project(openlibm
VERSION 0.8.0
LANGUAGES C ASM)
-add_library("${PROJECT_NAME}" STATIC)+add_library("${PROJECT_NAME}" SHARED)
It compiles fine, but there are errors when linking.
cmake build log
[100%] Linking C shared library libopenlibm.so
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_remainder.S.o: in function `remainder':
(.text+0x0): multiple definition of `remainder'; CMakeFiles/openlibm.dir/src/e_remainder.c.o:e_remainder.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_remainderf.S.o: in function `remainderf':
(.text+0x0): multiple definition of `remainderf'; CMakeFiles/openlibm.dir/src/e_remainderf.c.o:e_remainderf.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_remainderl.S.o: in function `remainderl':
(.text+0x0): multiple definition of `remainderl'; CMakeFiles/openlibm.dir/src/e_remainderl.c.o:e_remainderl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_sqrt.S.o: in function `sqrt':
(.text+0x0): multiple definition of `sqrt'; CMakeFiles/openlibm.dir/src/e_sqrt.c.o:e_sqrt.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_sqrtf.S.o: in function `sqrtf':
(.text+0x0): multiple definition of `sqrtf'; CMakeFiles/openlibm.dir/src/e_sqrtf.c.o:e_sqrtf.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_sqrtl.S.o: in function `sqrtl':
(.text+0x0): multiple definition of `sqrtl'; CMakeFiles/openlibm.dir/src/e_sqrtl.c.o:e_sqrtl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_llrint.S.o: in function `llrint':
(.text+0x0): multiple definition of `llrint'; CMakeFiles/openlibm.dir/src/s_llrint.c.o:s_llrint.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_llrintf.S.o: in function `llrintf':
(.text+0x0): multiple definition of `llrintf'; CMakeFiles/openlibm.dir/src/s_llrintf.c.o:s_llrintf.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_llrintl.S.o: in function `llrintl':
(.text+0x0): multiple definition of `llrintl'; CMakeFiles/openlibm.dir/src/s_llrintl.c.o:s_llrintl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_logbl.S.o: in function `logbl':
(.text+0x0): multiple definition of `logbl'; CMakeFiles/openlibm.dir/src/s_logbl.c.o:s_logbl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_lrint.S.o: in function `lrint':
(.text+0x0): multiple definition of `lrint'; CMakeFiles/openlibm.dir/src/s_lrint.c.o:s_lrint.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_lrintf.S.o: in function `lrintf':
(.text+0x0): multiple definition of `lrintf'; CMakeFiles/openlibm.dir/src/s_lrintf.c.o:s_lrintf.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_lrintl.S.o: in function `lrintl':
(.text+0x0): multiple definition of `lrintl'; CMakeFiles/openlibm.dir/src/s_lrintl.c.o:s_lrintl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_remquo.S.o: in function `remquo':
(.text+0x0): multiple definition of `remquo'; CMakeFiles/openlibm.dir/src/s_remquo.c.o:s_remquo.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_remquof.S.o: in function `remquof':
(.text+0x0): multiple definition of `remquof'; CMakeFiles/openlibm.dir/src/s_remquof.c.o:s_remquof.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_remquol.S.o: in function `remquol':
(.text+0x0): multiple definition of `remquol'; CMakeFiles/openlibm.dir/src/s_remquol.c.o:s_remquol.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_rintl.S.o: in function `rintl':
(.text+0x0): multiple definition of `rintl'; CMakeFiles/openlibm.dir/src/s_rintl.c.o:s_rintl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_scalbn.S.o: in function `scalbn':
(.text+0x0): multiple definition of `scalbn'; CMakeFiles/openlibm.dir/src/s_scalbn.c.o:s_scalbn.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_scalbn.S.o: in function `scalbn':
(.text+0x0): multiple definition of `ldexp'; CMakeFiles/openlibm.dir/src/s_scalbn.c.o:s_scalbn.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_scalbnf.S.o: in function `scalbnf':
(.text+0x0): multiple definition of `scalbnf'; CMakeFiles/openlibm.dir/src/s_scalbnf.c.o:s_scalbnf.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_scalbnf.S.o: in function `scalbnf':
(.text+0x0): multiple definition of `ldexpf'; CMakeFiles/openlibm.dir/src/s_scalbnf.c.o:s_scalbnf.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_scalbnl.S.o: in function `scalbnl':
(.text+0x0): multiple definition of `scalbnl'; CMakeFiles/openlibm.dir/src/s_scalbnl.c.o:s_scalbnl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/s_scalbnl.S.o: in function `scalbnl':
(.text+0x0): multiple definition of `ldexpl'; CMakeFiles/openlibm.dir/src/s_scalbnl.c.o:s_scalbnl.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_fmod.S.o: in function `fmod':
(.text+0x0): multiple definition of `fmod'; CMakeFiles/openlibm.dir/src/e_fmod.c.o:e_fmod.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_fmodf.S.o: in function `fmodf':
(.text+0x0): multiple definition of `fmodf'; CMakeFiles/openlibm.dir/src/e_fmodf.c.o:e_fmodf.c:(.text+0x0): first defined here
/usr/bin/ld: CMakeFiles/openlibm.dir/amd64/e_fmodl.S.o: in function `fmodl':
(.text+0x0): multiple definition of `fmodl'; CMakeFiles/openlibm.dir/src/e_fmodl.c.o:e_fmodl.c:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/openlibm.dir/build.make:4522: libopenlibm.so] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/openlibm.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
Maybe we don't need the generic C implementation in src/ when there is a native assembly implementation for the corresponding architecture.
The text was updated successfully, but these errors were encountered:
It compiles fine, but there are errors when linking.
cmake build log
Maybe we don't need the generic C implementation in
src/
when there is a native assembly implementation for the corresponding architecture.The text was updated successfully, but these errors were encountered: