Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API/ABI changes review for Tesseract #793

Open
lvc opened this issue Mar 28, 2017 · 53 comments
Open

API/ABI changes review for Tesseract #793

lvc opened this issue Mar 28, 2017 · 53 comments
Labels

Comments

@lvc
Copy link

lvc commented Mar 28, 2017

The review of API/ABI changes for Tesseract since 3.00 version: https://abi-laboratory.pro/tracker/timeline/tesseract/

Hope it will be helpful for users and maintainers of the library.

Created with the help of open-source abi-tracker tool: https://github.com/lvc/abi-tracker

The tool checks all API symbols declared in header files (doesn't take docs into account), so there may be some false positives.

Thank you.

tesseract-1

tesseract-2

Environment

  • Linux x86_64
  • GCC 4.9
  • Tesseract 3.00 and higher
@zdenop
Copy link
Contributor

zdenop commented Mar 28, 2017

Why you put this on in the issue tracker?

@lvc
Copy link
Author

lvc commented Mar 28, 2017

To take attention of library developers on the results first.

Thank you.

@Shreeshrii
Copy link
Collaborator

@lvc Thanks! I have added info to the documentation wiki at

https://github.com/tesseract-ocr/tesseract/wiki/Documentation

@amitdo
Copy link
Collaborator

amitdo commented Mar 28, 2017

@lvc,
Thanks for the info.

3.01 and 3.03 are missing from the report.

The bottom line is that we break the ABI in almost every release.

@amitdo
Copy link
Collaborator

amitdo commented Mar 28, 2017

@lvc,
FYI, since 3.02 there is an "--enable-visibility" option for the configure script.

@zdenop
Copy link
Contributor

zdenop commented Mar 28, 2017

@lvc : Thanks, but there is place for this: tesseract developer forum.
@amitdo : Broken ABI is know issue ;-) Even API is not stable. See dev forum.

@zdenop zdenop closed this as completed Mar 28, 2017
@lvc
Copy link
Author

lvc commented Mar 29, 2017

@amitdo,

3.01 and 3.03 are missing from the report

Added 3.01 and 3.03 versions to the report: https://abi-laboratory.pro/tracker/timeline/tesseract/

Thank you.

tesseract-4

@Shreeshrii
Copy link
Collaborator

@lvc If possible, instead of current version, add 'master' and '3.05' branch. Thanks!

@lvc
Copy link
Author

lvc commented May 8, 2017

@Shreeshrii,

Done: https://abi-laboratory.pro/tracker/timeline/tesseract/

Please let me know when it should be switched to 3.06 or 4.0.

tesseract-5

@Shreeshrii
Copy link
Collaborator

Shreeshrii commented May 8, 2017 via email

@Shreeshrii
Copy link
Collaborator

@lvc Please update this for the master branch now, as 4.0.0-beta.1 has been released.

Thanks!

@lvc
Copy link
Author

lvc commented Mar 28, 2018

Done: https://abi-laboratory.pro/tracker/timeline/tesseract/

Thanks for notifying!

tesseract-6

@Shreeshrii
Copy link
Collaborator

@lvc Thank you for your prompt response.

Will tracker keep getting updated automatically as more commits are made to master branch?

@lvc
Copy link
Author

lvc commented Mar 29, 2018

@Shreeshrii Yes, it's updated every Mon, Wed and Fri.

@Shreeshrii
Copy link
Collaborator

Thanks, that's great.

@amitdo
Copy link
Collaborator

amitdo commented Oct 29, 2018

@lvc,
Please add 4.0.0.

@zdenop
Copy link
Contributor

zdenop commented Oct 30, 2018

I put the link to release notes for easier tracking
@lvc 👍 I have a few requests ;-)

  1. Is it possible to generate table of changes also in format that would be easy to integrate to github wiki (e.g. image)?
  2. Is it possible to include in analyze only released version (e.g. remove 4.0.0-beta.1 prerelease) + the latest master code?

@lvc
Copy link
Author

lvc commented Oct 31, 2018

@zdenop

I put the link to release notes for easier tracking
@lvc +1 I have a few requests ;-)

1. Is it possible to generate table of changes also in format that would be easy to integrate to github wiki (e.g. image)?

2. Is it possible to include in analyze only released version (e.g. remove 4.0.0-beta.1 prerelease) + the latest master code?
  1. I've added the print url option to hide site headers. Try:

     CutyCapt --url='https://abi-laboratory.pro/?view=timeline&l=tesseract&print=1' --out=tesseract.svg 
    
  2. Done:
    tesseract-7

Thank you!

@zdenop
Copy link
Contributor

zdenop commented Oct 31, 2018

@lvc: thanks for prompt replay. Something like
https://abi-laboratory.pro/?view=timeline&l=tesseract&graph.svg?v=1.1 is not possible?
It would be much more easier to integrate online image to wiki (without need to render it locally) and it would allow automatic update of image after update of analyze.

Or is there another way how to integrate your tool to github project (somehing like lgtm or coverity - see Readme.md)?

@amitdo
Copy link
Collaborator

amitdo commented Oct 31, 2018

@lvc,
You removed the beta but didn't add the final 4.0.0.

See also above comment from @zdenop.

@zdenop
Copy link
Contributor

zdenop commented Oct 31, 2018

@amitdo : see #793 (comment) I expect it will be generated automatically today.

@lvc
Copy link
Author

lvc commented Oct 31, 2018

@lvc: thanks for prompt replay. Something like
https://abi-laboratory.pro/?view=timeline&l=tesseract&graph.svg?v=1.1 is not possible?
It would be much more easier to integrate online image to wiki (without need to render it locally) and it would allow automatic update of image after update of analyze.

Or is there another way how to integrate your tool to github project (somehing like lgtm or coverity - see Readme.md)?

Good idea!

I'll implement it ASAP as part of the abi-tracker project. Thank you!

@lvc
Copy link
Author

lvc commented Oct 31, 2018

@lvc,
You removed the beta but didn't add the final 4.0.0.

See also above comment from @zdenop.

Report is updated: https://abi-laboratory.pro/?view=timeline&l=tesseract

Got this image by CutyCapt:

tesseract

@Shreeshrii
Copy link
Collaborator

Shreeshrii commented Oct 31, 2018 via email

@zdenop
Copy link
Contributor

zdenop commented Oct 31, 2018

@lvc : table is stored in wiki repository so I need to update it manually; graph is linked directly to your page, but it seem github is caching it: https://camo.githubusercontent.com/ae5fd8a19e16ec27b191716fe3079ecd35ad07d3/68747470733a2f2f6162692d6c61626f7261746f72792e70726f2f747261636b65722f67726170682f7465737365726163742f67726170682e7376673f763d312e31

@Shreeshrii
Copy link
Collaborator

@lvc Please update the report for https://github.com/tesseract-ocr/tesseract/tree/4.1

4.1 is planned as a bug-fix release. Master is 5.0 alpha.

It will be good to check status of API compatibility for 4.1.

See related discussion at #2249 (comment)

@linuxhw
Copy link

linuxhw commented Apr 29, 2019

@Shreeshrii

It will be good to check status of API compatibility for 4.1.

Done.

See https://abi-laboratory.pro/?view=timeline&l=tesseract

@stweil
Copy link
Contributor

stweil commented Apr 29, 2019

@linuxhw, most important is currently the API compatibility from 4.0 to 4.1. Can this be checked, too?

@linuxhw
Copy link

linuxhw commented Apr 30, 2019

@linuxhw, most important is currently the API compatibility from 4.0 to 4.1. Can this be checked, too?

The report is currently for 4.0 vs git 4.1 branch (instead of master).

@Shreeshrii
Copy link
Collaborator

@linuxhw Thank you!

Current Status

Git(4.1) 2019-04-3021:43 4 changelog 99% 35 new 0

@zdenop
Copy link
Contributor

zdenop commented May 4, 2019

Yes, it's updated every Mon, Wed and Fri.
@linuxhw @lvc : Is this still valid?

@linuxhw
Copy link

linuxhw commented May 5, 2019

Yes, it's updated every Mon, Wed and Fri.
@linuxhw @lvc : Is this still valid?

Temporarily not. I'm working currently on restoring the service after the storage failure (since Apr 4). The report for Tesseract was updated manually 4 days ago.

Update it again?

@zdenop
Copy link
Contributor

zdenop commented May 5, 2019

Please update it on Monday - I want to test some commits today evening (European time ;-) )

@zdenop
Copy link
Contributor

zdenop commented May 5, 2019

Thanks. You start update now.

@linuxhw
Copy link

linuxhw commented May 6, 2019

Report is updated.

@zdenop
Copy link
Contributor

zdenop commented Jun 17, 2019

@linuxhw: can you please updare reportfor 4.1? Hopefully we created the last rc (3) for 4.1

@stweil
Copy link
Contributor

stweil commented Jun 17, 2019

@zdenop, please remember to update the VERSION file when tagging a release.

@lvc
Copy link
Author

lvc commented Jun 17, 2019

@linuxhw: can you please updare reportfor 4.1? Hopefully we created the last rc (3) for 4.1

Failed to build latest master due to error:

libtool: link: ( cd ".libs" && rm -f "libtesseract.la" && ln -s "../libtesseract.la" "libtesseract.la" )
/bin/sh ../../libtool  --tag=CXX   --mode=link g++  -g -Og -w -fpermissive -fPIC -std=c++14  -L/home/andrey/ABI_Tracker/installed/leptonica/1.74.1/lib -o tesseract tesseract-tesseractmain.o libtesseract.la -L/home/andrey/ABI_Tracker/installed/leptonica/1.74.1/lib -llept  -fopenmp  -larchive   -lrt -lpthread 
libtool: link: g++ -g -Og -w -fpermissive -fPIC -std=c++14 -o .libs/tesseract tesseract-tesseractmain.o -fopenmp  -L/home/andrey/ABI_Tracker/installed/leptonica/1.74.1/lib ./.libs/libtesseract.so -llept -larchive -lrt -lpthread -fopenmp -Wl,-rpath -Wl,/home/andrey/ABI_Tracker/installed/tesseract/current/lib
./.libs/libtesseract.so: undefined reference to `signal_exit(int)'

@zdenop
Copy link
Contributor

zdenop commented Jun 17, 2019

Can you provide details about environment you use and how did you build tesseract?

@lvc
Copy link
Author

lvc commented Jun 17, 2019

Can you provide details about environment you use and how did you build tesseract?

./configure --enable-shared --prefix="..." CFLAGS="-g -Og -w -fpermissive -fPIC" CXXFLAGS="-g -Og -w -fpermissive -fPIC" PKG_CONFIG_PATH=/.../leptonica/1.74.1/lib/pkgconfig LIBLEPT_HEADERSDIR=/.../leptonica/1.74.1/include/ LDFLAGS='-L/.../leptonica/1.74.1/lib' CFLAGS='-g -Og -I/.../leptonica/1.74.1/include'
make

Fedora 21, x86_64, GCC 4.9.2 20150212 (Red Hat 4.9.2-6).

The environment is not changed since the last successful build.

@stweil
Copy link
Contributor

stweil commented Jun 17, 2019

The linker error was introduced by commit 78ced35. I fixed it in commit 9a5f724.

@lvc
Copy link
Author

lvc commented Jun 17, 2019

The linker error was introduced by commit 78ced35. I fixed it in commit 9a5f724.

Report is updated: https://abi-laboratory.pro/index.php?view=timeline&l=tesseract (no changes since previous update of the report).

Tesseract-6

@zdenop
Copy link
Contributor

zdenop commented Dec 26, 2019

@lvc : 4.1.1 was just released... Can you please update https://abi-laboratory.pro/?view=timeline&l=tesseract and remove 4.1.1-rc2 from that comparison?

@linuxhw
Copy link

linuxhw commented Dec 27, 2019

@lvc : 4.1.1 was just released... Can you please update https://abi-laboratory.pro/?view=timeline&l=tesseract and remove 4.1.1-rc2 from that comparison?

Done. Thanks.

Tesseract-7

@zdenop
Copy link
Contributor

zdenop commented Dec 27, 2019

thanks!

@zdenop
Copy link
Contributor

zdenop commented Dec 27, 2019

Hm.. when I run it localy on my linux machine I had 100% backward compatibility...

@linuxhw
Copy link

linuxhw commented Dec 28, 2019

Hm.. when I run it localy on my linux machine I had 100% backward compatibility...

Please attach your ABI dumps here for both versions for debugging.

@zdenop
Copy link
Contributor

zdenop commented Dec 28, 2019

I can provide after 1st of January...

@zdenop
Copy link
Contributor

zdenop commented Jan 1, 2020

see lvc/abi-dumper#23

@Shreeshrii Shreeshrii reopened this Nov 13, 2021
@Shreeshrii
Copy link
Collaborator

@linuxhw please update the tracker for the latest version from main branch. Also a heads-up for upcoming 5.0.0 release.

@amitdo amitdo added the API label Jan 7, 2022
@Shreeshrii
Copy link
Collaborator

@lvc Tesseract 5.0 has been released. please update https://abi-laboratory.pro/?view=timeline&l=tesseract

Thanks!

@linuxhw
Copy link

linuxhw commented Jan 18, 2022

@lvc Tesseract 5.0 has been released. please update https://abi-laboratory.pro/?view=timeline&l=tesseract

Thanks!

Done

@linuxhw
Copy link

linuxhw commented Jan 18, 2022

@lvc Tesseract 5.0 has been released. please update https://abi-laboratory.pro/?view=timeline&l=tesseract

Thanks!

Tesseract-0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants