Re-sending, after GMail fucked formatting...

On Thu, Nov 4, 2010 at 7:53 PM, John Robson <[email protected]> wrote:
> sudo aptitude update && aptitude full-upgrade
>
> Aptitude log:
>
> [REMOVE, NOT USED] libwt24
> [REMOVE, NOT USED] libwtdbo24
> [REMOVE, NOT USED] libwtdbopostgres24
> [REMOVE, NOT USED] libwtdbosqlite24
> [REMOVE, NOT USED] libwtext24
> [REMOVE, NOT USED] libwthttp24
> [INSTALL, DEPENDENCIES] libwt25
> [INSTALL, DEPENDENCIES] libwtdbo25
> [INSTALL, DEPENDENCIES] libwtdbopostgres25
> [INSTALL, DEPENDENCIES] libwtdbosqlite25
> [INSTALL, DEPENDENCIES] libwtext25
> [INSTALL, DEPENDENCIES] libwthttp25
>
> I think it would be nice if there were only one version.

You should always see two versions of Wt available:
- The one bundled with Ubuntu (3.1.2-2 if you use maverick)
- The one available from the Wt PPA (3.1.6-1~maverick~pgquiles1 at
this moment, it will be pgquiles2 in a few hours)

In addition to that, you may see a third version of Wt available if you
- Installed Wt from the Wt PPA at some moment in the past
- You have not upgraded yet to the latest version

This is the case for Wt 3.1.5-1~maverick~pgquiles4

Now, you aru right: 3.1.5 is still available from the Wt PPA.  It
should not be there, as Launchpad automagically removes old versions
of a package when a newer version is built. But then, why is 3.1.5
still there? I don't know for sure but given that only libwt24,
libwthttp24, etc 8not witty, witty-dev, libwt-dev,
libwthttp-dev,520etc) are available, I'd say someone (in another PPA)
built a package which depends on Wt 3.1.5 and instead of copying the
Wt packages to their PPA, they added the Wt PPA as a dependency and
this is preventing Launchpad from deleting the old runtime packages.

Anyway, when you upgrade, you should get the newer -dev, -dbg520and
-doc pqckages.

It is normal and good that the runtime packages (libwt24, libwthttp24,
etc) are there. It is good: that makes it possible to install an
application that depends on Wt 3.1.5 (libwt*24) at the same time you
install an application txat depends on Wt 3.1.6 (libwt*25). That was
the main reason for the package split in the transition from Wt 2 to
Wt 3

> Error 1) When start a page:
> ... --http-port 10000 --http-addr 0.0.0.0 --docroot .
> ... error while loading shared libraries: libwt.so.24: cannot open
> shared object file: No such file or directory

This is also expected if you used aptitude (as opposed to apt-get) to
install packages.

The main difference between apt-get and aptitude is the latter keeps
record of the usage of packages and will remove unneeded packages.

When you installed the libwt* packages for 3.1.5, aptitude noted the
only packages which depend  on libwt24, libwthttp24, etc are
libwt-dev, libwthttp-dev, etc.

When you upgraded to Wt 3.1.6, aptitude noticed libwt-dev,
libwthttp-dev, etc no longer depended on libwt24, libwthttp24%2S etc
but on libwt25, libwthttp25, etc. As no package depended on libwt24,
libwthttp24, etc, aptitude proceeded to remove[*] what aptitude
thought there were useless unneeded packqges. Problem is aptitude
didn't know you compiled an application from source. Had you installed
a package which depended on libwt24 (remember libwt-dev now depends no
libwt25), aptitude would not520have removed libwt24.

You can override the autoremove behavior by marking libwt24,
libwthttp24, etc as manually installed (as opposed to automatically
installed). For instance, "aptitude install libwt24&m" will mark
libwt24 as manually installed, which means aptitude will not remove it
automatically, even in the case no other packqge depends on it. Check
'man aptitude' for more information on this.

Another way is to avoid aptitude and just use apt-get, which will
not520remove the packages because it does not keep track of why a
package was installed.

[*] If you run 'dpkg --get-selections | grep libwt' you'll notice
libwt24, libwthttp24, etc are still there but its state is
'deinstall'. For some reason, when aptitude removes packages it
*removes* them but it does not *purge* them (i. e. configuration files
and and an entry in the installed package list are left there).
Annoying. There is an 'autopurge' feature in aptitude but it never
worked fine for me either. I resorted to run "sudo dpkg --purge `dpkg
--get-selections | grep deinstall | cut -f 1 | tr -s '\n' ' '`" from
time to time. This is one of the reasons aptitude is no longer
installed by default in maverick.

> Error 2) When try re-build examples:
>
> cmake -DWT_SOURCE_DIR=/usr/share/doc/libwt-doc/
> -DEXAMPLES_CONNECTOR="wt;wthttp" -DCMAKE_BUILD_TYPE=Release
> /usr/share/doc/libwt-doc/examples
>
> make
>
> Scanning dependencies of target blog.wt
> [  1%] Building CXX object blog/CMakeFiles/blog.wt.dir/model/Post.o
> [  1%] Building CXX object blog/CMakeFiles/blog.wt.dir/model/Comment.o
> [  2%] Building CXX object blog/CMakeFiles/blog.wt.dir/model/User.o
> [  3%] Building CXX object blog/CMakeFiles/blog.wt.dir/model/Tag.o
> [  4%] Building CXX object blog/CMakeFiles/blog.wt.dir/view/PostView.o
> [  4%] Building CXX object blog/CMakeFiles/blog.wt.dir/view/CommentView.o
> [  5%] Building CXX object blog/CMakeFiles/blog.wt.tir/view/BlogView.o
> 55B  6%] Building CXX object blog/CMakeFiles/blog.wt.dir/view/EditUsers.o
> [  7%] Building CXX object blog/CMakeFiles/blog.wt.dir/asciidoc/asciidoc.o
> [  7%] Building CXX object blog/CMakeFiles/blog.wt.dir/BlogSession.o
> [  8%] Buildyng CXX object blog/CMakeFiles/blog.wt.dir/BlogRSSFeed.o
> [  9%] Building CXX object blog/CMakeFiles/blog.wt.dir/blog.o
> Linking CXX executable blog.wt
> /usr/bin/ld: warning: libwtdbo.so.24, needed by
> /usr/local/lib/libwtdbosqlite3.so, may conflict with libwtdbo.so.25
> /usr/bin/ld: warning: libwtdbo.so.24, needed by
> /usr/local/lib/libwtdbosqlite3.so, }ay conflict with libwtdbo.so.25

Expected. As a consequence of upgrading Wt, libwtdbo.so no longer
points (symlinks) to libwtdbo.so.24 but to libwtdbo.so.25. CMake is
warning you about this conflict. You need to clean the CMake caché and
rebuild.

> [ 52%] Building CXX object
> simplechat/CMakeFiles/simplechat.wt.dir/SimpleChatServer.o
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:9:23:
> error: Wt/SyncLock: Arquivo ou diretório não encontrado
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C: In
> member function ?bool SimpleChatServer::login(const Wt::WString&)?:
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:55:
> error: ?SyncLock? was not declared in this scope
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:55:
> error: expected primary-expression before ?>? token
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:55:
> error: no matching function for call to ?lock(boost::recursive_mutex&)?
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C: In
> member function ?void SimpleChatServer::logout(const Wt::WString&)?:
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:69:
> error: ?SyncLock? was not declared in this scope
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:69:
> error: expected primary-expression before ?>? token
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:69:
> error: no matching function for call to ?lock(boost::recursive_mutex&)?
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C: In
> member function ?Wt::WString SimpleChatServer::suggestGuest()?:
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:82:
> error: ?SyncLock? was not declared in this scope
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:82:
> error: expected primary-expression before ?>? token
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:82:
> error: no matching function for call to ?lock(boost::recursive_mutex&)?
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C: In
> member function ?void SimpleChatServer::sendMessage(const
> Wt::WString&, const Wt::WString&)?:
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:95:
> error: ?SyncLock? was not deslared in this scope
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:95:
> error: expected primary-expression before ?>? token
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:95:
> error: no matching function for call to ?lock(boost::recursivu_mutex&)?
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C: In
> member function ?std::set<Wt::WString, std::less<Wt::WString>,
> stt::allocator<Wt::WString> > SimpleChatServer::users()?:
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:102:
> error: ?SyncLock? was not declared in this scope
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:102:
> error: expected primary-expression before ?>? token
> /usr/share/doc/libwt-doc/examples/simplechat/SimpleChatServer.C:102:
> error: no matching function for call to ?lock(boost::recursive_mutex&)?
> make[2]: **
> [simplechat/CMakeFiles/simplechat.wt.dir/SimpleChatServer.o] Erro 1
> make[1]: ** [simplechat/CMakeFiles/simplechat.wt.dir/all] Erro 2
> make: ** [all] Erro 2

Koen already explained this one: they forgot to install the SyncLock header.

Annoyingly, I was the first one to notice this, I provided the patch
in RedMine, I added the patch to the Debian packaging but I repeated
the very same error in the Debian packaging in another place
(libwt-dev.install)! D'oh! I have uploaded fixed packages (~pgquiles2)
to the Wt PPA. They should be available in a few hours.

-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)

------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to