have headers & libs, but cannot configure/make

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

have headers & libs, but cannot configure/make

Chris Roat
I am cross compiling and defining CC/CPP/CXX/etc, using static libraries.

First problem: I have the pcre headers & libs present, and use -I in CCFLAGS/CPPFLAGS and -L in LDFLAGS to point to them.  Configure still gives up the ghost.  (My workaround is to simply delete part of the PCRE section in 'configure' and hardcode the PCRE_LIBS.)

includes="-I${include_path}/pcre "
libs="-L${lib_path}/prce"
export CCFLAGS="--sysroot=$rt_top --m64 -mcld ${includes}"
export CPPFLAGS="--sysroot=$rt_top -m64 -mcld ${includes}"
export LDFLAGS="--sysroot=$rt_top -m64 -mcld -lstdc++ -fopenmp ${libs}"

...

checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking pcre/pcre.h usability... no
checking pcre/pcre.h presence... no
checking for pcre/pcre.h... no
checking whether pcre.h defines the macros we need... yes
checking for pcre-config... yes
checking for pcre_compile... no
configure: error: to build Octave, you must have the PCRE library and header files installed

Secondly, once I get configure to work by passing in all the include directories and libraries (using lots and lots of --with-xxx flags), I still seem need to the libraries all again in LDFLAGS.    For example, the octave-cli target is made without referencing any library I passed into configure's flags.

I feel like I missed some basic instruction, flag, or other step.  Thanks in advance for any tips.

./configure \
  --enable-option-checking \
  --disable-silent-rules \
  --disable-dl \
  --disable-shared \
  --enable-static \
  --disable-readline \
  --disable-docs \
  --disable-java \
  --without-qt \
  --without-fltk \
  --without-opengl \
  --without-OSMesa \
  --without-portaudio \
  --without-sndfile \
  --without-x \
  --with-blas=...(lots more of these)


C


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

Mike Miller-4
On Fri, Dec 23, 2016 at 15:49:42 -0800, Chris Roat wrote:
> I am cross compiling and defining CC/CPP/CXX/etc, using static libraries.
>
> First problem: I have the pcre headers & libs present, and use -I in
> CCFLAGS/CPPFLAGS and -L in LDFLAGS to point to them.  Configure still gives
> up the ghost.  (My workaround is to simply delete part of the PCRE section
> in 'configure' and hardcode the PCRE_LIBS.)

It would be interesting to see what the error here was. If you can
recreate this, can you paste the full compiler command line and error
message from config.log? It should be enough to search for "checking for
pcre_compile".

>
> includes="-I${include_path}/pcre "
> libs="-L${lib_path}/prce"
> export CCFLAGS="--sysroot=$rt_top --m64 -mcld ${includes}"

This should be "CFLAGS", not "CCFLAGS". And you might also want to set
CXXFLAGS and FFLAGS.

> export CPPFLAGS="--sysroot=$rt_top -m64 -mcld ${includes}"

The CPPFLAGS variable should contain preprocessor options, so typically
only -D and -I options. And these options are cumulative with the other
CFLAGS/CXXFLAGS/FFLAGS.

> export LDFLAGS="--sysroot=$rt_top -m64 -mcld -lstdc++ -fopenmp ${libs}"

The -fopenmp option should be given at both the compile and link stages.
And I'm not sure that you need to force -lstdc++, even with cross
compiling. The build system ensures that anything linked with a C++
object file will use g++ as the linker, which DTRT.

I would recommend something like this

  options="--sysroot=$rt_top -m64 -mcld -fopenmp"
  export CPPFLAGS="${includes}"
  export CFLAGS="${options}"
  export CXXFLAGS="${options}"
  export FFLAGS="${options}"
  export LDFLAGS="${options} ${libs}"

> Secondly, once I get configure to work by passing in all the include
> directories and libraries (using lots and lots of --with-xxx flags), I
> still seem need to the libraries all again in LDFLAGS.    For example, the
> octave-cli target is made without referencing any library I passed into
> configure's flags.
>
> I feel like I missed some basic instruction, flag, or other step.  Thanks
> in advance for any tips.
>
> ./configure \
>   --enable-option-checking \
>   --disable-silent-rules \
>   --disable-dl \
>   --disable-shared \
>   --enable-static \
>   --disable-readline \
>   --disable-docs \
>   --disable-java \
>   --without-qt \
>   --without-fltk \
>   --without-opengl \
>   --without-OSMesa \
>   --without-portaudio \
>   --without-sndfile \
>   --without-x \
>   --with-blas=...(lots more of these)

Most users do not build Octave statically, so you may be testing a
configuration that hasn't been used in a while. But there is a configure
option, --enable-link-all-dependencies, which I think is intended for
this purpose. Try it and let us know if it helps.

Also, which version (or hg revision) are you trying to build?

--
mike

_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

Chris Roat


On Fri, Dec 23, 2016 at 4:22 PM, Mike Miller <[hidden email]> wrote:
On Fri, Dec 23, 2016 at 15:49:42 -0800, Chris Roat wrote:
> I am cross compiling and defining CC/CPP/CXX/etc, using static libraries.
>
> First problem: I have the pcre headers & libs present, and use -I in
> CCFLAGS/CPPFLAGS and -L in LDFLAGS to point to them.  Configure still gives
> up the ghost.  (My workaround is to simply delete part of the PCRE section
> in 'configure' and hardcode the PCRE_LIBS.)

It would be interesting to see what the error here was. If you can
recreate this, can you paste the full compiler command line and error
message from config.log? It should be enough to search for "checking for
pcre_compile".

Yes, that's right.  It's finding the pcre header (my use of a -I in CPPFLAGS or PCRE_CFLAGS to direct it to the right place), and then tries to link in pcre:

<elided>/gcc -std=gnu11 -o conftest --sysroot=<elided> -m64  -mcld -fopenmp  -fopenmp -I<elided>/pcre -I<elided>/SuiteSparse_config --sysroot=<elided> -m64  -mcld -fopenmp -lstdc++ conftest.c -lpcre -lm 

<elided>: error: cannot find -lpcre
/tmp/cc0c03Xl.o:conftest.c:function main: error: undefined reference to 'pcre_compile'
collect2: error: ld returned 1 exit status
configure:30566: $? = 1

The build system really pushes toward shared-lib linking, so I really felt I needed to hardcode values in configure and delete part of the PCRE stanza.


>
> includes="-I${include_path}/pcre "
> libs="-L${lib_path}/prce"
> export CCFLAGS="--sysroot=$rt_top --m64 -mcld ${includes}"

This should be "CFLAGS", not "CCFLAGS". And you might also want to set
CXXFLAGS and FFLAGS.

> export CPPFLAGS="--sysroot=$rt_top -m64 -mcld ${includes}"

The CPPFLAGS variable should contain preprocessor options, so typically
only -D and -I options. And these options are cumulative with the other
CFLAGS/CXXFLAGS/FFLAGS.

> export LDFLAGS="--sysroot=$rt_top -m64 -mcld -lstdc++ -fopenmp ${libs}"

The -fopenmp option should be given at both the compile and link stages.
And I'm not sure that you need to force -lstdc++, even with cross
compiling. The build system ensures that anything linked with a C++
object file will use g++ as the linker, which DTRT.

I would recommend something like this

  options="--sysroot=$rt_top -m64 -mcld -fopenmp"
  export CPPFLAGS="${includes}"
  export CFLAGS="${options}"
  export CXXFLAGS="${options}"
  export FFLAGS="${options}"
  export LDFLAGS="${options} ${libs}"


Thanks - this got me going down the right path. I did need -lstdc++ or even the initial check on the blas library dies due to operator new.  After enabling the all-dependencies linking (your solution below), I've ended up with something fairly small.  But I haven't solved all problems (see below).

options="--sysroot=$rt_top -m64  -mcld -fopenmp"
export CPPFLAGS="-I${pcre_h} -I${suite_sparse}/SuiteSparse_config"
export CFLAGS="${options}"
export FFLAGS="${options}"
export LDFLAGS="<path>/libglpk.a <path>/libfreetype_xxx.a <path>/libpng.a -lstdc++"


> Secondly, once I get configure to work by passing in all the include
> directories and libraries (using lots and lots of --with-xxx flags), I
> still seem need to the libraries all again in LDFLAGS.    For example, the
> octave-cli target is made without referencing any library I passed into
> configure's flags.
>
> I feel like I missed some basic instruction, flag, or other step.  Thanks
> in advance for any tips.
>
> ./configure \
>   --enable-option-checking \
>   --disable-silent-rules \
>   --disable-dl \
>   --disable-shared \
>   --enable-static \
>   --disable-readline \
>   --disable-docs \
>   --disable-java \
>   --without-qt \
>   --without-fltk \
>   --without-opengl \
>   --without-OSMesa \
>   --without-portaudio \
>   --without-sndfile \
>   --without-x \
>   --with-blas=...(lots more of these)

Most users do not build Octave statically, so you may be testing a
configuration that hasn't been used in a while. But there is a configure
option, --enable-link-all-dependencies, which I think is intended for
this purpose. Try it and let us know if it helps.

Ah, I didn't understand what that flag did.  That helps.  Using that, I could then whittle things down a bit (beyond my hacks for pcre above).  I discovered I needed this change to configure to pick up the CXSPARSE flags I passed in via the --with-cxsparse flags:

43485,43486c43486,43487
<     CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
<     CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
---
>     CPPFLAGS="$CXSPARSE_CPPFLAGS $QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
>     CXXFLAGS="$CXSPARSE_CXXFLAGS $CXXPICFLAG $CXXFLAGS"

And I found I just needed to add two libraries on the final link step of the octave-cli.  See my LDFLAGS above.
- glpk (this didn't get used, even though I had --with-glpk="/<path>/libglpk.a"
- freetype (it needed to be after fontconfig, which I suppose means I can add it to FONTCONFIG_LIBS)

 

Also, which version (or hg revision) are you trying to build?

Sorry - I'm using version 4.2.0.
 

--
mike


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

Mike Miller-4
On Tue, Jan 03, 2017 at 17:42:46 -0800, Chris Roat wrote:
> <elided>/gcc -std=gnu11 -o conftest --sysroot=<elided> -m64  -mcld -fopenmp
>  -fopenmp -I<elided>/pcre -I<elided>/SuiteSparse_config --sysroot=<elided>
> -m64  -mcld -fopenmp -lstdc++ conftest.c -lpcre -lm
>
> <elided>: error: cannot find -lpcre
> /tmp/cc0c03Xl.o:conftest.c:function main: error: undefined reference to
> 'pcre_compile'
> collect2: error: ld returned 1 exit status
> configure:30566: $? = 1

Ok, so it's only missing the appropriate -L option here. Octave's
configure currently does not have a PCRE_LDFLAGS variable, and it
probably should.

> The build system really pushes toward shared-lib linking, so I really felt
> I needed to hardcode values in configure and delete part of the PCRE stanza.

Yes, it is inclined towards shared libraries, and towards certain
libraries being part of the base system, such as BLAS, PCRE, and
readline. But we are open to improvements.

> I
> discovered I needed this change to configure to pick up the CXSPARSE flags
> I passed in via the --with-cxsparse flags:
>
> 43485,43486c43486,43487
> <     CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
> <     CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
> ---
> >     CPPFLAGS="$CXSPARSE_CPPFLAGS $QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
> >     CXXFLAGS="$CXSPARSE_CXXFLAGS $CXXPICFLAG $CXXFLAGS"

This looks like a legit bug in our configure script (although there is
no CXSPARSE_CXXFLAGS variable).

> And I found I just needed to add two libraries on the final link step of
> the octave-cli.  See my LDFLAGS above.
> - glpk (this didn't get used, even though I had
> --with-glpk="/<path>/libglpk.a"
> - freetype (it needed to be after fontconfig, which I suppose means I can
> add it to FONTCONFIG_LIBS)

And it normally is added, FONTCONFIG_LIBS="-lfontconfig -lfreetype" in a
typical (shared library) build. Maybe a bug that it is not appended in
your case.

In summary, I think we can work through all of these problems if you are
willing to help. Are you interested in helping to improve Octave's
configure so that you can build statically without any of these
workarounds?

I have a particular interest in the build system, so I am motivated to
help, but I would need someone such as yourself who has all the static
library dependencies ready to test against, and is willing to iterate
and build from Octave's hg repository.

Otherwise, I can work on improving PCRE and the CXSPARSE_CPPFLAGS you
have shown, but I have no way to test your use case thoroughly.

--
mike

_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Re: have headers & libs, but cannot configure/make

John W. Eaton
Administrator
On 01/05/2017 02:37 PM, Mike Miller wrote:

> On Tue, Jan 03, 2017 at 17:42:46 -0800, Chris Roat wrote:
>> <elided>/gcc -std=gnu11 -o conftest --sysroot=<elided> -m64  -mcld -fopenmp
>>  -fopenmp -I<elided>/pcre -I<elided>/SuiteSparse_config --sysroot=<elided>
>> -m64  -mcld -fopenmp -lstdc++ conftest.c -lpcre -lm
>>
>> <elided>: error: cannot find -lpcre
>> /tmp/cc0c03Xl.o:conftest.c:function main: error: undefined reference to
>> 'pcre_compile'
>> collect2: error: ld returned 1 exit status
>> configure:30566: $? = 1
>
> Ok, so it's only missing the appropriate -L option here. Octave's
> configure currently does not have a PCRE_LDFLAGS variable, and it
> probably should.

I added that when I made this change:

   http://hg.savannah.gnu.org/hgweb/octave/rev/8e9dd0d6e337

Does it work now for linking your pcre library?

jwe


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Re: have headers & libs, but cannot configure/make

John W. Eaton
Administrator
In reply to this post by Chris Roat
On 01/03/2017 08:42 PM, Chris Roat wrote:

> The build system really pushes toward shared-lib linking,

Yes, because dynamically loaded modules (.oct and .mex files) don't work
very well without them.

What kind of system are you building Octave for that either doesn't have
shared libraries, or for which you don't want to use them?

jwe


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: Re: have headers & libs, but cannot configure/make

Mike Miller-4
In reply to this post by John W. Eaton
On Fri, Jan 06, 2017 at 09:55:44 -0500, John W. Eaton wrote:

> On 01/05/2017 02:37 PM, Mike Miller wrote:
> > On Tue, Jan 03, 2017 at 17:42:46 -0800, Chris Roat wrote:
> > > <elided>/gcc -std=gnu11 -o conftest --sysroot=<elided> -m64  -mcld -fopenmp
> > >  -fopenmp -I<elided>/pcre -I<elided>/SuiteSparse_config --sysroot=<elided>
> > > -m64  -mcld -fopenmp -lstdc++ conftest.c -lpcre -lm
> > >
> > > <elided>: error: cannot find -lpcre
> > > /tmp/cc0c03Xl.o:conftest.c:function main: error: undefined reference to
> > > 'pcre_compile'
> > > collect2: error: ld returned 1 exit status
> > > configure:30566: $? = 1
> >
> > Ok, so it's only missing the appropriate -L option here. Octave's
> > configure currently does not have a PCRE_LDFLAGS variable, and it
> > probably should.
>
> I added that when I made this change:
>
>   http://hg.savannah.gnu.org/hgweb/octave/rev/8e9dd0d6e337
>
> Does it work now for linking your pcre library?

I don't think it will, because it doesn't take PCRE_CPPFLAGS into
account when testing for the presence of pcre.h.

Why not use OCTAVE_CHECK_LIB for consistency?

--
mike

_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

John W. Eaton
Administrator
On 01/06/2017 10:18 AM, Mike Miller wrote:
> On Fri, Jan 06, 2017 at 09:55:44 -0500, John W. Eaton wrote:
>> On 01/05/2017 02:37 PM, Mike Miller wrote:

>> Does it work now for linking your pcre library?
>
> I don't think it will, because it doesn't take PCRE_CPPFLAGS into
> account when testing for the presence of pcre.h.

Oh.  Oops.

> Why not use OCTAVE_CHECK_LIB for consistency?

We could do that, but I thought we were aiming to use pkg-config.

There are a few other cases where we use PKG_CHECK_MODULE to get
FOO_CFLAGS and FOO_LIBS, then we set FOO_CPPFLAGS=$FOO_CFLAGS.  Ugh.

I would prefer setting -I options (only) in CPPFLAGS, -L options (only)
in LDFLAGS, and the -llibfoo in FOO_LIBS.  So yeah, maybe we should be
using OCTAVE_CHECK_LIB, possibly modified to use pkg-config if
pkg-config has info for the library we are looking for?

jwe


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

Mike Miller-4
On Fri, Jan 06, 2017 at 10:41:06 -0500, John W. Eaton wrote:

> On 01/06/2017 10:18 AM, Mike Miller wrote:
> > On Fri, Jan 06, 2017 at 09:55:44 -0500, John W. Eaton wrote:
> > > On 01/05/2017 02:37 PM, Mike Miller wrote:
>
> > > Does it work now for linking your pcre library?
> >
> > I don't think it will, because it doesn't take PCRE_CPPFLAGS into
> > account when testing for the presence of pcre.h.
>
> Oh.  Oops.
>
> > Why not use OCTAVE_CHECK_LIB for consistency?
>
> We could do that, but I thought we were aiming to use pkg-config.
>
> There are a few other cases where we use PKG_CHECK_MODULE to get FOO_CFLAGS
> and FOO_LIBS, then we set FOO_CPPFLAGS=$FOO_CFLAGS.  Ugh.
>
> I would prefer setting -I options (only) in CPPFLAGS, -L options (only) in
> LDFLAGS, and the -llibfoo in FOO_LIBS.  So yeah, maybe we should be using
> OCTAVE_CHECK_LIB, possibly modified to use pkg-config if pkg-config has info
> for the library we are looking for?

OCTAVE_CHECK_LIB already uses pkg-config (since July 2016) and already
takes care of all of what you mention. I even added an argument to allow
the name of the library (what Octave calls the library) to differ from
the name of the .pc file (see e.g. portaudio).

--
mike

_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

John W. Eaton
Administrator
On 01/06/2017 10:45 AM, Mike Miller wrote:

> OCTAVE_CHECK_LIB already uses pkg-config (since July 2016) and already
> takes care of all of what you mention. I even added an argument to allow
> the name of the library (what Octave calls the library) to differ from
> the name of the .pc file (see e.g. portaudio).

Ah, OK.  Sorry for not paying attention.

jwe




_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

John W. Eaton
Administrator
In reply to this post by Mike Miller-4
On 01/06/2017 10:45 AM, Mike Miller wrote:

> OCTAVE_CHECK_LIB already uses pkg-config (since July 2016) and already
> takes care of all of what you mention. I even added an argument to allow
> the name of the library (what Octave calls the library) to differ from
> the name of the .pc file (see e.g. portaudio).

How about the attached change?

I think it will work, but OCTAVE_CHECK_LIB doesn't do exactly the right
thing for required libraries yet.  It will display

   --with-pcre-includedir=DIR
                           look for PCRE include files in DIR
   --with-pcre-libdir=DIR  look for PCRE libraries in DIR
   --without-pcre          don't use PCRE library

in the output of configure --help, but --without-pcre isn't allowed.
For required libraries, we could use "--with-LIB=<lib> use LIB library
<lib>" instead.

If pcre is disabled or missing, you'll get the following messages:

   configure: WARNING: --without-pcre specified.  Functions or features
that depend on PCRE will be disabled.
   configure: error: to build Octave, you must have the PCRE library and
header files installed

For required libraries, we should probably make the warning an error and
not have to check that outside of the macro.

If you agree, I can fix this.

jwe


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave

diffs.txt (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

Mike Miller-4
On Fri, Jan 06, 2017 at 11:09:05 -0500, John W. Eaton wrote:
> How about the attached change?

Yes that's what I was thinking.

> I think it will work, but OCTAVE_CHECK_LIB doesn't do exactly the right
> thing for required libraries yet.  It will display
>
>   --with-pcre-includedir=DIR
>                           look for PCRE include files in DIR
>   --with-pcre-libdir=DIR  look for PCRE libraries in DIR
>   --without-pcre          don't use PCRE library
>
> in the output of configure --help, but --without-pcre isn't allowed. For
> required libraries, we could use "--with-LIB=<lib> use LIB library <lib>"
> instead.
>
> If pcre is disabled or missing, you'll get the following messages:
>
>   configure: WARNING: --without-pcre specified.  Functions or features that
> depend on PCRE will be disabled.
>   configure: error: to build Octave, you must have the PCRE library and
> header files installed
>
> For required libraries, we should probably make the warning an error and not
> have to check that outside of the macro.
>
> If you agree, I can fix this.

Ah right, forgot about required vs optional dependencies.

So an extra argument to mark the library as required, which will impact
both the usage AS_HELP_STRINGs and the error/warning if the library is
disabled or not found or fails to pass the test? Seems good to me.

--
mike

_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

John W. Eaton
Administrator
On 01/06/2017 11:19 AM, Mike Miller wrote:

> Ah right, forgot about required vs optional dependencies.
>
> So an extra argument to mark the library as required, which will impact
> both the usage AS_HELP_STRINGs and the error/warning if the library is
> disabled or not found or fails to pass the test? Seems good to me.

Yes, I checked in a couple of changes.  Now the configure script has

   OCTAVE_CHECK_LIB(pcre, PCRE,
     [], [pcre.h pcre/pcre.h], [pcre_compile], [], [], [],
     [libpcre], [REQUIRED])

the help text is

   --with-pcre-includedir=DIR
                           look for PCRE include files in DIR
   --with-pcre-libdir=DIR  look for PCRE libraries in DIR
   --with-pcre=<lib>       use PCRE library <lib>

and configure fails with an error message if the PCRE library is not
found or if you try to use --without-pcre.

I hope this is fixed now.

jwe


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|

Re: have headers & libs, but cannot configure/make

Mike Miller-4
On Fri, Jan 06, 2017 at 11:56:31 -0500, John W. Eaton wrote:

> Yes, I checked in a couple of changes.  Now the configure script has
>
>   OCTAVE_CHECK_LIB(pcre, PCRE,
>     [], [pcre.h pcre/pcre.h], [pcre_compile], [], [], [],
>     [libpcre], [REQUIRED])
>
> the help text is
>
>   --with-pcre-includedir=DIR
>                           look for PCRE include files in DIR
>   --with-pcre-libdir=DIR  look for PCRE libraries in DIR
>   --with-pcre=<lib>       use PCRE library <lib>
>
> and configure fails with an error message if the PCRE library is not found
> or if you try to use --without-pcre.
>
> I hope this is fixed now.

Wfm, thanks. Of course I don't have a chrooted PCRE to test against, but
at least looks symmetric now with all of the other libraries that did
work for the OP.

--
mike

_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave