Search code examples
c++macospoco-librariesbuildconfiguration

Apps cannot detect C++ poco even though I have installed it


I want to be able to make and run this particular library on my computer. Currently going through the INSTALL file. I am currently at the point:

After extracting the Poco (Complete Edition) source archive, the configure
script should be called with the following parameters:

    ./configure --omit=Crypto,Net,NetSSL_OpenSSL,Data/ODBC,Data/MySQL \
                --no-tests --no-samples

This line avoids building the parts of Poco which are dependent on third-party
libraries, and are not required for openBliSSART.

You can also specify a prefix where Poco should be installed, but in most cases
you should leave the default /usr/local.

I can't seem to run the options, so I simply ran ./configure, this seemed to have worked till the point where I encountered:

checking for fftw_plan_dft_r2c_1d in -lfftw3... yes
checking for Poco (Enterprise)... no
configure: error: Need Poco Enterprise v1.3.6+!

But the fact is, that I have installed Poco already on the system through a brew install poco and downloaded the library from their source website and compiled it ground up. looking back at INSTALL:

Depending on where you have installed Poco, you may have to set the
LD_LIBRARY_PATH environment variable to contain the Poco "lib" directory, 
or run the ldconfig tool. The following lines work with Ubuntu and openSUSE
($ indicates the shell prompt):

$ sudo sh -c 'echo <prefix>/lib > /etc/ld.so.conf.d/poco.conf'
$ sudo ldconfig

where <prefix> is the Poco install prefix (by default /usr/local).

Now when I do a simple sudo find / -name poco, I get:

/usr/local/var/homebrew/linked/poco
/usr/local/opt/poco
/usr/local/Cellar/poco
find: /private/var/db/ConfigurationProfiles/Store: Operation not permitted
find: /private/var/folders/pq/xchc5hxj02d754txf8nml5f00000gn/0/SafariFamily: Operation not permitted
find: /private/var/folders/pq/xchc5hxj02d754txf8nml5f00000gn/0/com.apple.LaunchServices.dv: Operation not permitted
find: /private/var/folders/pq/xchc5hxj02d754txf8nml5f00000gn/0/com.apple.nsurlsessiond: Operation not permitted
find: /private/var/folders/pq/xchc5hxj02d754txf8nml5f00000gn/0/com.apple.routined: Operation not permitted
find: /private/var/folders/zz/zyxvpxvq6csfxvn_n00000y800007k/0/com.apple.nsurlsessiond: Operation not permitted
find: /private/var/folders/zz/zyxvpxvq6csfxvn_n00000s4000069/0/com.apple.nsurlsessiond: Operation not permitted
find: /private/var/folders/zz/zyxvpxvq6csfxvn_n00000s4000069/0/com.apple.routined: Operation not permitted
/Users/sharanduggirala/Library/Logs/Homebrew/poco
/Users/sharanduggirala/Documents/of_v0.9.8_osx_release/libs/poco
/Users/sharanduggirala/Documents/of_v0.9.8_osx_release/scripts/apothecary/formulas/poco
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory

Also, it looks like while building poco, I did a ./configure --static. Would this have affected my compilation? How do I link this library?

I have already used the command ./configure --with-poco-prefix=/usr/local/opt/poco which doesn't really change anything.


Notes relating to S.M.'s Answer

I tried this, but got the error:

 brew install poco --with-static                                                                                                                                                                                      ⏎
==> Downloading https://pocoproject.org/releases/poco-1.9.0/poco-1.9.0-all.tar.gz
######################################################################## 100.0%
Error: SHA256 mismatch
Expected: 028de410fc78d5f9b1ff400e93ec3d59b9e55a0cbbf0d8fec04636882b72ea45
Actual: 0387bf0f9d313e2311742e1ad0b64e07f2f3e76039eed20e3b9aa9951b88e187
Archive: /Users/sharanduggirala/Library/Caches/Homebrew/poco-1.9.0.tar.gz
To retry an incomplete download, remove the file above. 

I also tried:

./configure --static                                                                                                                                                                                                 ⏎
configure: error: unrecognized option: `--static'
Try `./configure --help' for more information

Solution

  • Do not install poco from sources. Use brew install poco. If you want the same like ./configure --static use brew install poco --with-static.