[MacPorts] #37207: bad include paths?
#37207: bad include paths? -----------------------+-------------------------------- Reporter: jshanab@… | Owner: macports-tickets@… Type: request | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: | Port: -----------------------+-------------------------------- I am a senior developer working for years in c/c++ on Linux and Windows; But I am a bit new to OSX. I started using macports to get libraries like boost and curl. I do not know if this is a OSX convention, Macports choice or the responsibility of the individual maintainer but the include paths are collapsed and that causes problems in their use. For example on most linux and windows pacakages the include path is .../boost_1_49/include/boost. This allows you to put the path up to the boost_1_49 in the project and still follow a good practice of specifying an include subdir directory. ie #include <curl/curl.h> or #include <boost/thread/thread.h>. This allows you to change the version of boost at the project level. By collapsing the path to /usr/local/boost and dumping all the headers directly at that level, all the C source code must change between OS's or the project must include /usr/local/include for the boost project. The side effect is now you also change the meaning of all other includes! For example #include <curl/curl.h> Is now sensitive to system path or include order. Is this a Mac,Macports, or maintainer convention? is there a work around? -- Ticket URL: <https://trac.macports.org/ticket/37207> MacPorts <http://www.macports.org/> Ports system for Mac OS
#37207: bad include paths? ------------------------+-------------------------------- Reporter: jshanab@… | Owner: macports-tickets@… Type: request | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: | Keywords: Port: | ------------------------+-------------------------------- Comment (by jshanab@…): I found my workaround. Switch to homebrew, it honors the paths correctly. This choice is the single biggest decision and needs to be communicated before people end up downloading a lot of ports. -- Ticket URL: <https://trac.macports.org/ticket/37207#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#37207: bad include paths? ------------------------+-------------------------------- Reporter: jshanab@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: invalid | Keywords: Port: boost | ------------------------+-------------------------------- Changes (by cal@…): * status: new => closed * type: request => defect * resolution: => invalid * port: => boost Comment: MacPorts does not install into `/usr/local` (unless you manually configured it to do so, and it'll give you a hard time if you try it) and especially not into `/usr/local/boost`. I assume whatever you are describing are not files installed by MacPorts and will thus close the ticket as invalid. MacPorts sticks to the filesystem hierarchy standard and installs headers in `$prefix/include`, e.g. the boost headers would be in `$prefix/include/boost` (1). It is indeed not possible to use boost from MacPorts but ignore other include files in `$prefix/include`. (1) See http://packages.macports.org/boost/boost-1.52.0_1+no_single+no_static+python... to get a list of files installed by the boost port in MacPorts. -- Ticket URL: <https://trac.macports.org/ticket/37207#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts