lundi 27 juin 2016

linux correct syntax to pass custom directory for libstdc++.so.6 via config


I have a custom compiled gcc 5.4.0 with the following folder structure /home/gccprefix/lib64/libstdc++.so.6.

So far compiling has been going well passing extra flags via configure such as CC=/home/gccprfix/bin/gcc CFLAGS=-fPIC CFLAGS=-Wfatal-errors CFLAGS=-I/home/gccprefix/header/tr1.

But now I have it a problem compiling cairo with /home/gccprefix/bin/ragel. To compile I have a bash script with the flags allocated as a variable, such as

MYFLAGS="CC=/home/gccprfix/bin/gcc CFLAGS=-fPIC CFLAGS=-Wfatal-errors CFLAGS=-I/home/gccprefix/header/tr1"
.../configure ${MYFLAGS}

Ragel was compiled with the /home/gccprefix/bin/gcc as above with no errors.

However during make for cairo, I get

ragel: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ragel) 

This is due to gcc finding the default /usr/lib64/libstdc++.so.6. So following several threads on SO I believe I need to extend the flags passed to configure.

What is the correct syntax

`CFLAGS=-Wl,-rpath,/home/gccprefix/lib64`

or do I drop the CFLAGS=

`-Wl,-rpath,/home/gccprefix/lib64` 

Using the first option with CFLAGS= the new libstdc++.so.6 is not passed and the same error occurs, using the send without a CFLAGS just gives an error

configure: error: unrecognized option: `--Wl,-rpath,/home/gccprefix/lib64'

So what prefix do I use?


Aucun commentaire:

Enregistrer un commentaire