Bug 1833734 - Incorrect include directories specified in ipopt-devel
Summary: Incorrect include directories specified in ipopt-devel
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: coin-or-Ipopt
Version: 32
Hardware: x86_64
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: Paulo Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-05-10 04:15 UTC by Rolfe Power
Modified: 2020-05-24 03:27 UTC (History)
2 users (show)

Fixed In Version: coin-or-Ipopt-3.13.0-4.fc32
Doc Type: ---
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-24 03:27:36 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Proposed Patch to IPOPT source (301 bytes, patch)
2020-05-14 04:47 UTC, Rolfe Power
no flags Details | Diff

Description Rolfe Power 2020-05-10 04:15:56 UTC
Description of problem:

Installation of the Ipopt-devel package adds a pkg-config file specifying incorrect include directores, i.e.

$ pkg-config --cflags ipopt
-I/usr/include/coin-or 

However, the headers are installed into /usr/include/coin/ and no /usr/include/coin-or even exists.




Version-Release number of selected component (if applicable):
I am using version 3.13.0-1.fc32




How reproducible:
Every time

Steps to Reproduce:
1. Install the coin-or-Ipopt-devel package
2. Run `pkg-config --cflags ipopt` and observe output is not a directory on the machine
3. Attempt to compile any IPOPT program

Actual results:
Program will fail to compile as the headers are in /usr/include/coin/ not /usr/include/coin-or/

Expected results:
Successful compilation

Additional info:
Extracting the rpm package locally yields the file tree:

usr
├── include
│   └── coin
│       ├── many.hpp
│       ├── many.h
│       ├── headers.h
│       ├── ...
└── lib64
    ├── libipoptamplinterface.so -> libipoptamplinterface.so.3.13.0
    ├── libipopt.so -> libipopt.so.3.13.0
    ├── libsipopt.so -> libsipopt.so.3.13.0
    └── pkgconfig
        ├── ipoptamplinterface.pc
        └── ipopt.pc

And looking into the `ipopt.pc` file, we see

prefix=/usr
exec_prefix=/usr
libdir=/usr/lib64
includedir=/usr/include/coin-or

Name: IPOPT
Description: Interior Point Optimizer
URL: https://github.com/coin-or/Ipopt
Version: 3.13.0
Libs: -L${libdir} -lipopt
Libs.private: -ldmumps -lopenblas -lm  -ldl
Cflags: -I${includedir}
Requires:
Requires.private: 

Which clearly points to incorrect directory.

Comment 1 Rolfe Power 2020-05-14 04:47:15 UTC
Created attachment 1688286 [details]
Proposed Patch to IPOPT source

Looking at it more, it appears that the IPOPT.pc is defined in the upstream source. Attached is an example patch that could fix this (I think).

Comment 2 Fedora Update System 2020-05-15 03:23:07 UTC
FEDORA-2020-00fdec9e3d has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-00fdec9e3d

Comment 3 Fedora Update System 2020-05-16 05:06:46 UTC
FEDORA-2020-00fdec9e3d has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-00fdec9e3d`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-00fdec9e3d

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 4 Fedora Update System 2020-05-24 03:27:36 UTC
FEDORA-2020-00fdec9e3d has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.