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

/usr/bin/ld: cannot find -ltidy #190

Closed
skynet opened this issue Apr 1, 2015 · 67 comments
Closed

/usr/bin/ld: cannot find -ltidy #190

skynet opened this issue Apr 1, 2015 · 67 comments
Assignees
Milestone

Comments

@skynet
Copy link
Member

skynet commented Apr 1, 2015

Installed tidy-html5:

git clone https://github.com/htacg/tidy-html5.git
cd tidy-html5
cd build/cmake
cmake ../.. -DBUILD_SHARED_LIB:BOOL=ON
make
make install

Building php-5.6.7 from source I get this:

/usr/bin/ld: cannot find -ltidy
collect2: error: ld returned 1 exit status
make: *** [libphp5.la] Error 1

Am I missing something here?

I used to do:

git clone https://github.com/ermshiperete/tidy-html5.git
cd tidy-html5
sh build/gnuauto/setup.sh
./configure
make
make install

which actually worked.

@geoffmcl
Copy link
Contributor

geoffmcl commented Apr 2, 2015

@skynet, well at this point we are generating a libtidy5.so.4.9.23, aka -ltidy5, so an install of this version will not clobber any existing tidy install, so comparisons can be made...

This will only be changed to 'libtidy.so...', aka -ltidy on the eventual release of tidy 5.0.0. In preparation for this name change I have just pushed a modified CMakeLists.txt using a macro for the name, like set(LIB_NAME tidy5). So do another pull...

Taking a quick look in php-5.6.7 configure I can see (a) it seems to support both the static and shared libtidy, and (b) for sure it is searching for 'tidy', as it should, NOT 'tidy5'. Not sure how you could change that to seeking 'tidy5'... but there would be a way...

But if you want to test compile with php as is, then just change the name in line 5 of CMakeLists.txt to set(LIB_NAME tidy), and recompile, install...

Hope this helps, and look forward to your report of success.

@geoffmcl geoffmcl added this to the 5.0.0 milestone Apr 2, 2015
@geoffmcl geoffmcl self-assigned this Apr 2, 2015
@geoffmcl geoffmcl mentioned this issue Apr 2, 2015
@anEffingChamp
Copy link

On my system I made a soft link from tidy to tidy5. That is not a repo
based solution, but it works.

@geoffmcl
Copy link
Contributor

geoffmcl commented Apr 2, 2015

@anEffingChamp thanks for that quick tip! Being mainly a 'windows' person I would never have thought of that ;=))

I took a look in my Ubuntu 14.04 and noted that the previous version of tidy installed is libtidy-0.99.so.0.0.0, and then there are 2 links -

  1. libtidy.so -> libtidy-0.99.so.0.0.0
  2. libtidy-0.99.so.0 -> libtidy-0.99.so.0.0.0

And my new version is libtidy5.so.4.9.23, also with two links

  1. libtidy5.so -> libtidy5.so.4.9.23
  2. libtidy5.so.4 -> libtidy5.so.4.9.23

So what, I delete the 2 current libtidy links, and then just do -

  1. sudo ln -s libtidy5.so.4.9.23 libtidy.so
  2. sudo ln -s libtidy5.so.4.9.23 libtidy.so.4

Is that it? Or have I got that in reverse? And maybe I do not need to do the deletes?

And I also have 2 static libraries there, libtidy.a and libtidy5.a. Should I do anything about them?

Sorry for all the questions on linux things...

@anEffingChamp
Copy link

Based on the thread it sounds like we may just be looking for the compiled binary under the wrong name. sudo ln -s tidy5 tidy should link the names such that invoking tidy will call the binary under its current name. If we are looking for ltidy then you do the same thing wherever ltidy should reside. Just remember to execute this command in your /etc, or wherever you keep your binaries.

@geoffmcl
Copy link
Contributor

geoffmcl commented Apr 2, 2015

@anEffingChamp, certainly in the @skynet case of building php from source, I think the automake tools are looking for the tidy library, not the console binary...

And interestingly, in another project, that uses cmake, added a FindTIDY.cmake module I wrote, then do find_package(TIDY), and it seems IF I leave the static libtidy.a installed, this is found first, and thus I end up linking with the static library. Not a particularly bad thing, but...

Only if I DELETED the installed static library, would it find the libtidy.so!

Still to try the change-in-the-link thingy... and thanks for the pointer that ln can also be used to run console tidy5 using just tidy... in my case such binaries are in either /usr/bin or /usr/local/bin, or in my own private $HOME/bin, all of which are in my PATH environment variable...

And remember if you want to check EXACTLY what is being used in the compile and link add the option -DCMAKE_VERBOSE_MAKEFILE=ON, and all is revealed ;=))

@geoffmcl
Copy link
Contributor

geoffmcl commented Apr 2, 2015

Reading around more on this shared versus static libraries, we could build, and thus install, BOTH at the same time, BUT for windows at least such libraries have to have different names, like tidy_static.lib, and tidy.lib/tidy.dll for shared pair (DLL).

Some other examples I have seem are just adding an 's' for static, tidys.lib. Others choose to change the archive name of the shared pair, like tidy_imp.lib/tidy.dll. And there are probably many other choices...

And although in unix they CAN have the same base name, since one would be libtidy.a, and the other libtidy.so, the above exploration, and reading, shows libtidy.a is likely to be found first, although I have read others think this is the opposite! So also using libtidy_static.a, or libtidys.lib seems a better, clearer choice.

Anyway, this is just a thought a little off topic... for discussion... ATM CMakeLists.txt builds only one or the other, and contains an option -DBUILD_SHARED_LIB:BOOL=[ON|OFF]. The present default is OFF.

@skynet
Copy link
Member Author

skynet commented May 17, 2015

Can we still make it easy and ubiquitous to install tidy-html5 with php? I can also see some old PECL package: https://pecl.php.net/package/tidy. How about a new https://pecl.php.net/package/tidy-html5

@skynet
Copy link
Member Author

skynet commented May 17, 2015

@geoffmcl

Changed the name in line 5 of CMakeLists.txt to set(LIB_NAME tidy) Recompiled, installed. When compiling php still getting an error:

/usr/bin/ld: /usr/local/lib/libtidy.a(alloc.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libtidy.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [libphp5.la] Error 1

@skynet
Copy link
Member Author

skynet commented May 17, 2015

I ended up configuring PHP without tidy-html5. I also wonder if anyone can actually compile php with it. We should make this possible again.

@geoffmcl
Copy link
Contributor

@skynet as mentioned earlier it seems if you have BOTH the static libtidy.a AND the shared libtidy.so INSTALLED then I found many tools tend to find the static version first...

And your errors indicate it found and tries to use /usr/local/lib/libtidy.a, the STATIC library. Maybe just deleting this, and it has a chance to find the installed SHARED libtidy.so...

Which PHP source are you using? If you point me to the source maybe I can download and try a compile... I agree we should be able to compile PHP with tidy5 support...

@skynet
Copy link
Member Author

skynet commented May 17, 2015

PHP version is 5.6.9 (http://php.net/downloads.php)
Per your instructions I recompiled tidy-html5 and now I have both libtidy.a and libtidy5.a. There's no libtidy.so in /usr/local/lib

@geoffmcl
Copy link
Contributor

@denji do not know anything about the accuracy of the cppcheck tool, but will try to find time to test...

But adding it to this thread is NOT the right places... Please perhaps delete it here and open a new issue... thanks...

@geoffmcl
Copy link
Contributor

@skynet 3.6.9????

I can find the current stable release source 5.2.6... that's major version 5, not 3!!!

So again from where? Is this an OLD source, or what? Are we talking about the same thing ;=))

@skynet
Copy link
Member Author

skynet commented May 17, 2015

5.6.9 :-)

@denji
Copy link
Contributor

denji commented May 17, 2015

@geoffmcl Better small percentage of false positive (free opensource): https://scan.coverity.com/
Actually the idea is not to change the name of the library and transparently replaced for distributions (libtidy5.X.so -> libtidy.so and remove old version libtidy) of course resolves API/ABI compatible.

@skynet
Copy link
Member Author

skynet commented May 17, 2015

Can we just make it standard and easy:

cd tidy-html5
./configure
make
make install

And then compiling php*:

./configure --with-tidy=/usr/local
make
make install

*other php config options left out intentionally.

@geoffmcl
Copy link
Contributor

@skynet but it is a new standard ;=))

cd tidy-html5
cmake .
make
make install

Exactly like ./configure, cmake does configuration - checks for dependencies, etc, and then generates a Makefile... _AND_ cmake is cross-platform, so it works just as well in Wndows...

Out of time tonight, but be back tomorrow...

@skynet
Copy link
Member Author

skynet commented May 17, 2015

I don't have a problem with that, as long as it works. In order not to break all applications I had to go back to the old

git clone https://github.com/ermshiperete/tidy-html5.git
cd tidy-html5
sh build/gnuauto/setup.sh
./configure
make
make install

@ermshiperete was able to get it right :-)

@geoffmcl
Copy link
Contributor

@skynet, well so can I... and I had no trouble building php-5.6.9 ;=))

Used -

  1. $ cd php-5.6.9
  2. $ ./configure --with-tidy=/usr > bldlog-u.txt 2>&1
  3. $ make >> bldlog-u.txt 2>&1

The relevant sections from the build log...

checking for TIDY support... yes
checking for tidyOptGetDoc in -ltidy... yes

# and later in the compile

mode=compile cc  -Iext/tidy/ ... -c .../ext/tidy/tidy.c -o ext/tidy/tidy.lo 

# and finally in a link

mode=link cc -export-dynamic ... ext/tidy/tidy.lo ... -o .../php-cgi

# at the end

Build complete.
Don't forget to run 'make test'.

Note that I build tidy5 with $ cmake path/to/src -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIB:BOOL=ON

The first is to ensure it is installed in /usr, and NOT the cmake default /usr/local!

The second is to ensure -DNDEBUG is added to the compile to remove assert from the build.

Third is to build shared libraries...

BIG NOTE, this presently installs as tidy5, so I created soft links in /usr/lib to tidy so it can be found by other packages -

-rw-r--r-- 1 root root 826916 Apr 29 18:21 libtidy5.a
lrwxrwxrwx 1 root root     13 Apr 15 17:11 libtidy5.so -> libtidy5.so.4
lrwxrwxrwx 1 root root     18 Apr 15 17:11 libtidy5.so.4 -> libtidy5.so.4.9.25
-rw-r--r-- 1 root root 698692 Apr 15 16:50 libtidy5.so.4.9.25
lrwxrwxrwx 1 root root     13 Apr 15 17:22 libtidy.so -> libtidy5.so.4
lrwxrwxrwx 1 root root     18 Apr 15 17:22 libtidy.so.4 -> libtidy5.so.4.9.25

I do also have static libtidy5.a there, but no soft link to it so other packages do not find it...

If @ermshiperete does not want to support a windows build, or has kept the old very out of date MSVC stuff I supplied LONG ago, then that is fine too...

CMake allows us to be fully cross-platform with ONE build system... And it works fine also ;=))

I too will be happy when we get to the 5.0.0 release stage, and the name is reset to just tidy, removing the need for the soft links... but please bear with us on this...

@ermshiperete
Copy link
Contributor

@skynet As you might have noticed, my repo hasn't been updated in a long time and is more or less in the state of this repo in 2012 with a few fixes applied (that I believe have been applied to this repo also in the meantime). I wouldn't recommend to use my fork nowadays if you want to benefit from the new features for HTML5.
I had created the fork because we needed a working version of tidy that works with HTML5, and the official repo wasn't maintained anymore for a while. Now that this official repo gets patches applied again I would recommend using it instead.
The only other difference (other than it's terribly outdated) of my fork is that it contains a debian branch that contains the necessary files for packaging for Debian/Ubuntu.

@geoffmcl
Copy link
Contributor

@ermshiperete have you tried make package?

This builds deb and rpm packages, and could do more, like a source tar.gz, etc... read cmake cpack capability...

In Windows if you have the necessary tools installed, it presently builds -

  1. tidy5-4.9.28-win(64|32).exe - A NSIS windows installer
  2. tidy5-4.9.28-win(64|32).msi - A windows MSI installer
  3. tidy5-4.9.28-win(64|32).zip - A simple zip, for manual install

Additionally 1 and 2 include an uninstall capability...

See http://www.htacg.org/binaries/ for a WIP on binary downloads... The links presently do NOT work properly, but will, eventually...

Maybe open a new issue on this if this package build for debian/ubuntu is insufficient or wrong...

@ermshiperete
Copy link
Contributor

@geoffmcl No I didn't try. But as I said, my repo hasn't been updated in a long time...

@skynet
Copy link
Member Author

skynet commented May 18, 2015

@geoffmcl Going to test right now.

So far, here I am:

 cmake ../.. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIB:BOOL=ON
............
make && make install
...........
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/lib/libtidy5.so.4.9.26
-- Installing: /usr/lib/libtidy5.so.4
-- Installing: /usr/lib/libtidy5.so
-- Installing: /usr/include/platform.h
-- Installing: /usr/include/tidy.h
-- Installing: /usr/include/tidyenum.h
-- Installing: /usr/include/buffio.h
-- Installing: /usr/bin/tidy5
-- Removed runtime path from "/usr/bin/tidy5"
-- Installing: /usr/share/man/man1/tidy5.1

Going to try to compile PHP now ...

@skynet
Copy link
Member Author

skynet commented May 18, 2015

And here it is, new error:

./configure --with-tidy=/usr
......
checking for TIDY support... yes
checking for tidyOptGetDoc in -ltidy... yes
......
make
......
Generating phar.php
/usr/local/src/php-5.6.9/sapi/cli/php: error while loading shared libraries: libtidy5.so.4: cannot open shared object file: No such file or directory
make: *** [ext/phar/phar.php] Error 127

@geoffmcl
Copy link
Contributor

@skynet WOW you are having a lot of TRYING fun ;=()

The end of my log shows -

...
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
directorytreeiterator.inc
invertedregexiterator.inc
clicommand.inc
pharcommand.inc
directorygraphiterator.inc
phar.inc

Build complete.
Don't forget to run 'make test'.

It looks like phar.php completed successfully for me... but no phar.phar because PEAR not installed... or something...

The error message is quite confusing in that you have checking for tidyOptGetDoc in -ltidy... yes, which should then be searching for libtidy.so or libtidy.a! Certainly NOT libtidy5, which is what the error states libtidy5.so.4...

But maybe when given -ltidy it does in fact search for libtidy*... do not know...

Anyway, please show me the complete list of tidy libraries installed -

  1. $ cd /usr/lib
  2. $ ls -l tidy
  3. $ cd /usr/local/lib
  4. $ ls -l tidy

There must be something screwed up here...

@denji denji mentioned this issue May 24, 2015
@skynet
Copy link
Member Author

skynet commented May 25, 2015

Ran exactly the same setup on another new server and got into the infamous

Generating phar.php
php-5.6.9/sapi/cli/php: error while loading shared libraries: libtidy5.so.4: cannot open shared object file: No such file or directory
make: *** [ext/phar/phar.php] Error 127

@denji
Copy link
Contributor

denji commented May 25, 2015

http://nixos.org/patchelf.html

/usr/lib/libtidy5.so.4.9.30

ldd php-5.6.9/sapi/cli/php
patchelf --set-rpath /opt/my-libs/lib:/foo/lib program

@skynet
Copy link
Member Author

skynet commented May 25, 2015

This worked for me:

# sudo sh -c "echo /usr/lib  >> /etc/ld.so.conf.d/local.conf"
# ldconfig

Are we talking about the same thing? I do not have the patchelf utility installed. Besides, we should be able to help others install tidy-html5 with php without too much hassle.

@denji
Copy link
Contributor

denji commented May 25, 2015

@skynet patchelf works differently it changes the path to the library inside the binary (for example as install_name_tool). ld.so.conf & ldconfig just adds priority preload library-path cache.

@skynet
Copy link
Member Author

skynet commented May 25, 2015

Since ldconfig worked, do you think it's correct to use it?

#ldconfig -p | grep tidy
        libtidy5.so.4 (libc6,x86-64) => /usr/lib/libtidy5.so.4
        libtidy5.so (libc6,x86-64) => /usr/lib/libtidy5.so

@denji
Copy link
Contributor

denji commented May 25, 2015

ldconfig should always be enough for correct operation.

@skynet
Copy link
Member Author

skynet commented May 25, 2015

I believe that, after adding a section on how to install php with tidy-html5, we can close this ticket. Thanks a lot @denji and @geoffmcl for your help!

@denji
Copy link
Contributor

denji commented May 25, 2015

-rpath=dir

Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link;

You can implement the ways inside the ELF file, then no need to ldconfig:

 gcc .. -Wl,-rpath=/usr/lib -ltidy5
 (Will search paths "rpath", if you do not find uses paths from cache file "/etc/ld.so.cache")/libtidy5.so
 $(rpath)=/usr/lib

@skynet
Copy link
Member Author

skynet commented May 25, 2015

Where's the ELF file?

@denji
Copy link
Contributor

denji commented May 25, 2015

@skynet All Unix executable files, php build preload flag LDFLAGS="-Wl,-rpath=/usr/lib"
At construction it will add to the inside of the finished file path /usr/lib and we don't have to rebuild cache /etc/ld.so.cache.

@skynet
Copy link
Member Author

skynet commented May 25, 2015

If fix cannot go in the tidy-html5 package we still need to include info for folks building php with tidy-html5. If possible, please submit a pull request.

@denji
Copy link
Contributor

denji commented May 25, 2015

You got the above error because the system only searches in /lib (he was trying to look for the file /lib/libtidy5.so.4), as in ELF no relative path inside php-5.6.9/sapi/cli/php userspace /usr/lib.

@skynet
Copy link
Member Author

skynet commented May 25, 2015

Okay thanks. That means - cannot fix from within tidy-html5 library. Maybe @geoffmcl can come up with an idea.

@denji
Copy link
Contributor

denji commented May 25, 2015

LDFLAGS="-Wl,-rpath=/usr/lib" should solve the problem in php (it injects at runtime gcc/cc inside a binary file path /usr/lib). tidy5 does require dependencies from /usr/lib, I think this problem only when building php and run on another machine.

@skynet
Copy link
Member Author

skynet commented May 25, 2015

Okay, but I would not bother with suggesting flags for PHP build. Again, if it can be included with the libary ok - if not, we just provide instructions. In certain circumstances it works without the flags. I built php earlier and I didn't have to run ldconfig.

@geoffmcl
Copy link
Contributor

geoffmcl commented Jun 4, 2015

@skynet @denji wow, tried to read and understand all the above, and think I succeeded ;=))

Just a note on libtidy5s.a versus libtidy5.a - It seems this is a good change. Most people in unix and MAC seem to prefer shared libraries, and now they have to specifically search for the static library if they really want that.

Thus I do not think the php config should be changed to use the static library, unless that is what they really want...

In Windows on the other hand, dealing with the location of a DLL can be a real pain, so for other projects that use tidy library, I have created a FindTidy.cmake find module, that first looks for tidy5s.lib, and reverts to tidy5.lib if not found. Really good for windows, where, in any case, the static and shared libraries have to have different names... while in unix it will still search for libtidy5 shared library as normal...

I will get around to adding this cmake module to the tidy repo in due course, and include it in the install...

And if you want to try it, it is included in the tidy-test mentioned ealier - https://github.com/geoffmcl/tidy-test

It seems to find and use the install tidy shared library in unix without any additional flags, or running ldconfig...

I have also updated the README.md... advise if there is more to do...

On the question of the version output you correctly quoted the current thinking -

Get release date (version) for current library @deprecated tidyReleaseDate() is deprecated in favor of semantic versioning and should be replaced with tidyLibraryVersion().

And that was why tidyReleaseDate() had deliberately been set to return unix epoch date, to make it clear they were using a deprecated service!

But your patch has now adjusted that to 2015/01/22??? Alternatively a patch could have been submitted to PHP to use tidyLibraryVersion() instead. What is the idea here? You want BOTH to continue, or what? What should the date be? When should it be changed? etc...

But that is a little off the topic of usr/bin/ld: cannot find -ltidy. Has this been fixed, cleared up, or what? Can this issue be closed, or is there something more to be done in the tidy5 source?

@mreiden
Copy link

mreiden commented Jun 9, 2015

Here is a patch for php to use tidyLibraryVersion instead of tidyReleaseDate. Not sure how to make this work with both old and new tidy libraries in php. Reporting the unix epoch or the hard-coded 2015/01/22 is confusing and less than ideal.

--- ext/tidy/tidy.c-tidy5   2015-05-13 19:02:08.000000000 -0500
+++ ext/tidy/tidy.c 2015-06-08 23:10:03.456421751 -0500
@@ -1102,7 +1102,7 @@
 {
    php_info_print_table_start();
    php_info_print_table_header(2, "Tidy support", "enabled");
-   php_info_print_table_row(2, "libTidy Release", (char *)tidyReleaseDate());
+   php_info_print_table_row(2, "libTidy5 Version", (char *)tidyLibraryVersion());
    php_info_print_table_row(2, "Extension Version", PHP_TIDY_MODULE_VERSION " ($Id: e066a98a414c7f79f89f697c19c4336c61bc617b $)");
    php_info_print_table_end();

@@ -1357,7 +1357,7 @@
        return;
    }

-   RETURN_STRING((char *)tidyReleaseDate(), 1);
+   RETURN_STRING((char *)tidyLibraryVersion(), 1);
 }
 /* }}} */

@denji
Copy link
Contributor

denji commented Jun 9, 2015

@mreiden This breaks backward compatibility need switcher non-tidyLibraryVersion.

geoffmcl added a commit that referenced this issue Jun 9, 2015
There was an idea to mark this function deprecated, such that if used the
developer would see a warning. But this was never implemented in a cross
platform way.

So for now revert to circa Jan 2015 when Jim added a build date to the
version.txt file. And now both LIBTIDY_VERSION and RELEASE_DATE macros are
established in CMakeLists.txt, and picked up in version.h.

The idea is the date will now march forward with the version number, side
by side in version.txt. Although have left tidy.c only emitting the
version on the --version command.

After this function has been marked deprecated for several release periods,
only then should consideration be given to potentially removing it.
@geoffmcl
Copy link
Contributor

geoffmcl commented Jun 9, 2015

This should be cross referenced to issue #148

While the idea was to mark the tidyReleaseDate() deprecate so developers using it would get a WARNING, this has not yet been done.

So for now have reverted to what Jim added back in Jan 2015, and that is to have BOTH version and a date in the version.txt file. Then these two things can march forward together. That is each version increment will be accompanied by a date increment.

Now the CMakeLists.txt emits both a LIBTIDY_VERSION and a RELEASE_DATE macro. And as @mreiden reminded me directly, both these macros are picked up in version.h.

If and when we get around to clearly marking tidyReleaseDate() as a deprecaed function, and after sufficient time and release cycles, consideration could again be given to removing it in favor of using the tidyLibraryVersion() function.

And for now our tidy.c will continue to only show the tidyLibraryVersion() on a -v or --version command.

@geoffmcl
Copy link
Contributor

No comments for a few weeks, so closing this for now...

Feel free to re-open, or post a new issue.

@skynet
Copy link
Member Author

skynet commented Jun 22, 2015

Thank you @geoffmcl - I can now install new tidy-html5 with PHP, my problem is solved. We need to add some clear documentation though.

@geoffmcl
Copy link
Contributor

@skynet glad the php link is sorted ;=))

Not sure what the clear documentation you think we need is though?

Saw things like --rpath=/usr/lib, but my reading of RPATH is that this is ONLY required if you have installed the library in an unusual path. /usr/lib would always be part of the search... Or do I not understand something here, or some other requirement...

Surely most of this will disappear once we release 5.0.0 and drop the 5 suffix. I have scheduled this for next week unless anything else gets in the way...

@skynet
Copy link
Member Author

skynet commented Jun 24, 2015

Clear doc for others installing PHP with tidy-html5. While you gave me plenty details on this thread, I believe that README on this repo won't get anyone closer to success. Should probably extract relevant info from this thread and include with the docs, specifically for PHP with tidy-html5 installation.

And, yes, can wait for 5.0.0, and repeat the process. And then document it according to our own experience. Thanks, again, @geoffmcl !

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

No branches or pull requests

6 participants