Hello I am brand new to linux and i am trying to install FreeRDP. I keep getting this error:
/usr/bin/ld: /usr/local/ssl/lib/libcrypto.a(hmac.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/ssl/lib/libcrypto.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [winpr/libwinpr/utils/libwinpr-utils.so.1.1.0] Error 1
make[1]: *** [winpr/libwinpr/utils/CMakeFiles/winpr-utils.dir/all] Error 2
make: *** [all] Error 2
After I type the "make" command.
Sorry if this question has already been asked but i have thorougly searched stack overflow and havent found it. Thanks in advance:)
It wants you to add a parameter to ld: -fPIC
So if there is a line beignning with ld or gcc, just add it.
Mostly it is gcc and the parameter -shared already exists, so just add -fPIC behind it.
Related
I cant get working my blas library with cmake. I have arch-linxux, both blas and cmake are installed with pacman. Cant understand where is problem :-(. I made cmake to print out the output of macro CHECK_FORTRAN_FUNCTION_EXISTS, because it fails there. Maybe I dont have proper configuration of ld?
My simple testing CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project(Test C Fortran)
find_package(BLAS)
Error part from output:
-- Looking for Fortran sgemm
-- Change Dir: /home/jiri/test_lapack/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_486fc/fast"
/usr/bin/make -f CMakeFiles/cmTC_486fc.dir/build.make CMakeFiles/cmTC_486fc.dir/build
make[1]: Entering directory '/home/jiri/test_lapack/CMakeFiles/CMakeTmp'
Building Fortran object CMakeFiles/cmTC_486fc.dir/testFortranCompiler.f.o
/usr/bin/gfortran -c /home/jiri/test_lapack/CMakeFiles/CMakeTmp/testFortranCompiler.f -o CMakeFiles/cmTC_486fc.dir/testFortranCompiler.f.o
Linking Fortran executable cmTC_486fc
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_486fc.dir/link.txt --verbose=1
/usr/bin/gfortran CMakeFiles/cmTC_486fc.dir/testFortranCompiler.f.o -o cmTC_486fc /usr/local/lib64/libblas.a
/usr/bin/ld: /usr/local/lib64/libblas.a(sgemm.f.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib64/libblas.a(xerbla.f.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_486fc.dir/build.make:99: cmTC_486fc] Error 1
make[1]: Leaving directory '/home/jiri/test_lapack/CMakeFiles/CMakeTmp'
make: *** [Makefile:126: cmTC_486fc/fast] Error 2
-- Looking for Fortran sgemm - not found
I am trying to compile Apache 2.4.33 with OpenSSL 1.1.0h. But i keep getting this error message. I have been trying to go pass this issue for last 2 weeks. Can you please advice what i should be doing here ?
`
libapr-1.la -luuid -lrt -lcrypt -lpthread -lm -lssl -lcrypto -luuid -lrt -lcrypt -lthread
ab.c: In function `ssl_print_cert_info’:
ab.c:649 undefined reference to `X509_get_version’
ab.c:651 undefined reference to `X509_getm_notBefore’
ab.c:655 undefined reference to `X509_getm_notAfter’
ab.c:571 undefined reference to `SSL_in_init’
ab.c:571 undefined reference to `SSL_is_server
x509.h:97 undefined reference to `OPENSSL_sk_num’
x509.h:97 undefined reference to `OPENSSL_sk_value’
ab.c:1941 undefined reference to `SSL_in_init`
collect2: ld returned 1 exit status
make[2] *** [ab] Error 1
make[2]: Leaving directory ‘/apps/httpdx64/http-2.4.33/support’
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory ‘/apps/httpdx64/httpd-2.4.33/support’
make: *** [install-recursive] Error 1`
Version of OpenSSL may be too new. Download the source for apr and apr-util from the official website and extract to a folder such as /usr/src. Try compiling Apache with the following to verify if your version of openssl is good or even an issue:
./configure --with-apr=/usr/src/apr-1.6.3 --with-apr-util=/usr/src/apr-util-1.6.1
make
make install
I was trying to install global from source. I run
./configure --with-exuberant-ctags=/usr/bin/ctags
and it runs OK. However, when I run
make
it gives the error
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o gtags-cscope gtags-cscope.o alloc.o basename.o
build.o command.o display.o edit.o exec.o find.o help.o history.o input.o logdir.o mouse.o mygetenv.o mypop
en.o ../libparser/libgloparser.a ../libutil/libgloutil.a ../libdb/libglodb.a ../libglibc/libgloglibc.a -llt
dl -lncurses
libtool: link: gcc -g -O2 -o gtags-cscope gtags-cscope.o alloc.o basename.o build.o command.o display.o edi
t.o exec.o find.o help.o history.o input.o logdir.o mouse.o mygetenv.o mypopen.o ../libparser/libgloparser
.a ../libutil/libgloutil.a ../libdb/libglodb.a ../libglibc/libgloglibc.a -lltdl -lncurses
/usr/bin/ld: input.o: undefined reference to symbol 'erasechar'
/usr/lib/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:461: gtags-cscope] Error 1
make[2]: Leaving directory '/home/pspencil/tmp/global-6.5.7/gtags-cscope'
make[1]: *** [Makefile:517: all-recursive] Error 1
make[1]: Leaving directory '/home/pspencil/tmp/global-6.5.7'
make: *** [Makefile:424: all] Error 2
I have installed the package ncurses which apparently should provide the erase char symbol. I cannot find anything useful on Google.
Explicitly link the tinfo library.
NCurses uses tinfo, from what I have read ncurses should include the tinfo functionality in it's own library, maybe this has changed recently.
When I build qtwebkit, I got this problem.
/usr/bin/ld: /data/zhengjie/qt-everywhere-opensource-src-5.5.1/qtmultimedia/lib/libQt5Multimedia.a(qmediametadata.o): relocation R_X86_64_PC32 against `_ZN7QStringD1Ev' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make: *** [../../lib/libWebCore.so.1.0.0] Error 1
Can anyone help?
This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
Closed 11 years ago.
I am trying to build GMP for iOS and i got this configure from someone:
./configure CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2"
CPP="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -E"
LD="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ld"
CPPFLAGS="-arch armv6
-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk
-miphoneos-version-min=3.0 -DNO_ASM" --disable-shared --enable-static
--prefix=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk
/usr/local --host=none-apple-darwin9
It configures and i can run Make aswell. However, when i try to install it I get nothing but errors.
make install-recursive
Making install in tests
Making install in .
....
Making install in expr
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
Making install in tune
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
Making install in doc
make[3]: Nothing to be done for `install-exec-am'.
test -z "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/local/share/info" || .././install-sh -c -d "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/local/share/info"
mkdir: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk: Permission denied
make[3]: *** [install-info-am] Error 1
make[2]: *** [install-am] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install] Error 2
I really need gmp to work and I am not sure what im doing wrong. Please help me.
Make check:
bash-3.2$ make check
make check-recursive
Making check in tests
Making check in .
make libtests.la t-bswap t-constants t-count_zeros t-gmpmax t-hightomask t-modlinv t-popc t-parity t-sub
make[4]: `libtests.la' is up to date.
/bin/sh ../libtool --tag=CC --mode=link /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -std=gnu99 -O2 -pedantic -o t-bswap t-bswap.o libtests.la ../libgmp.la
libtool: link: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2
-std=gnu99 -O2 -pedantic -o t-bswap t-bswap.o ./.libs/libtests.a /Users/X/Downloads/gmp-5.0.2/.libs/libgmp.a ../.libs/libgmp.a
ld: warning: in t-bswap.o, file was built for armv6 which is not the architecture being linked (i386)
ld: warning: in ./.libs/libtests.a, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /Users/X/Downloads/gmp-5.0.2/.libs/libgmp.a, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in ../.libs/libgmp.a, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[4]: *** [t-bswap] Error 1
make[3]: *** [check-am] Error 2
make[2]: *** [check-recursive] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2