DanBloomberg / leptonica

Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. The official github repository for Leptonica is: danbloomberg/leptonica. See leptonica.org for more documentation.
Other
1.79k stars 391 forks source link

Support MacOS 10.12 and earlier #631

Closed lukaso closed 2 years ago

lukaso commented 2 years ago

fmemopen is only supported from 10.13 onwards (https://news.ycombinator.com/item?id=25968777). For earlier versions of MacOS this needs to be excluded.

DanBloomberg commented 2 years ago

Hi Lukas,

The MacOS build failed. Can you please investigate?

Dan

lukaso commented 2 years ago

Hi Lukas,

The MacOS build failed. Can you please investigate?

Dan

Hi @DanBloomberg, I don't think this has anything to do with my PR but seems to have to do with the sw github action?

/Users/runner/work/leptonica/leptonica/sw setup
dyld: Symbol not found: __ZTINSt3__[11](https://github.com/DanBloomberg/leptonica/runs/7490262701?check_suite_focus=true#step:3:12)4basic_ofstreamIcNS_11char_traitsIcEEEE
(node:1192) UnhandledPromiseRejectionWarning: Error: The process '/Users/runner/work/leptonica/leptonica/sw' failed with exit code null
  Referenced from: /Users/runner/work/leptonica/leptonica/sw (which was built for Mac OS X 12.0)
    at ExecState._setResult (/Users/runner/work/_actions/egorpugin/sw-action/master/dist/main/index.js:2219:25)
  Expected in: /usr/lib/libc++.1.dylib
    at ExecState.CheckComplete (/Users/runner/work/_actions/egorpugin/sw-action/master/dist/main/index.js:2202:18)
 in /Users/runner/work/leptonica/leptonica/sw
dyld: Symbol not found: __ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE
  Referenced from: /Users/runner/work/leptonica/leptonica/sw (which was built for Mac OS X [12](https://github.com/DanBloomberg/leptonica/runs/7490262701?check_suite_focus=true#step:3:13).0)
  Expected in: /usr/lib/libc++.1.dylib
 in /Users/runner/work/leptonica/leptonica/sw
    at ChildProcess.<anonymous> (/Users/runner/work/_actions/egorpugin/sw-action/master/dist/main/index.js:2096:27)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1022:16)
    at Socket.<anonymous> (internal/child_process.js:444:11)
    at Socket.emit (events.js:314:20)
    at Pipe.<anonymous> (net.js:675:12)
(node:1192) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:1192) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:1192) UnhandledPromiseRejectionWarning: Error: The process '/Users/runner/work/leptonica/leptonica/sw' failed with exit code null
    at ExecState._setResult (/Users/runner/work/_actions/egorpugin/sw-action/master/dist/main/index.js:2219:25)
    at ExecState.CheckComplete (/Users/runner/work/_actions/egorpugin/sw-action/master/dist/main/index.js:2202:18)
    at ChildProcess.<anonymous> (/Users/runner/work/_actions/egorpugin/sw-action/master/dist/main/index.js:2096:27)
    at ChildProcess.emit (events.js:3[14](https://github.com/DanBloomberg/leptonica/runs/7490262701?check_suite_focus=true#step:3:15):20)
    at maybeClose (internal/child_process.js:1022:[16](https://github.com/DanBloomberg/leptonica/runs/7490262701?check_suite_focus=true#step:3:17))
    at Socket.<anonymous> (internal/child_process.js:444:11)
    at Socket.emit (events.js:314:20)
    at Pipe.<anonymous> (net.js:675:12)
(node:1[19](https://github.com/DanBloomberg/leptonica/runs/7490262701?check_suite_focus=true#step:3:20)2) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
DanBloomberg commented 2 years ago

@lukaso Thank you for providing this fix for older mac installations.

lukaso commented 2 years ago

You’re welcome!

amitdo commented 2 years ago

FYI

https://en.wikipedia.org/wiki/MacOS_Sierra

Support status Unsupported as of September, 2019. iTunes is no longer being updated, but is able to download driver updates to sync to newer devices.