ProcessOne SiteCustomer Helpdesk and FeedbackFollow us on Twitter
 
   
 
R13B and “failed to find dependencies: no_pub_file”
Posted: 26 November 2009 11:08 PM   [ Ignore ]
Newbie
Rank
Total Posts:  2
Joined  2009-11-26

I am unable to get cean to work on my system. I’ll describe the system later, but let me show the symptoms first.

(1) When I do cean:available() the resultant list shows lines of HTML.

Eshell V5.7.2  (abort with ^G)
1cean:available().
["        <li class=\"last\"><a >Contribute</a></li>",
 
"        <li><a >Home</a></li>",
 
"        <li><a >About</a></li>",
 
"        <li><a >Documentation</a></li>",
 
"        <li><a >Downloads</a></li>",
... 
etc 

Checking with tcpdump, I see that it is actually sending

GET /R13B/devel/linux-x86.vsnlst HTTP/1.1 

and getting a 404 error page back.

(2) cean:search actually seems to work.

2cean:search(ldap).
[{"erldir","erldir is an open source DNS and LDAP server"},
 
{"eldap","This is the Erlang LDAP library"}] 

(3) cean:install fails with “failed to find dependencies: no_pub_file”.

3cean:install(eldap).
eldap was not installedfailed to find dependenciesno_pub_file
error
4

A tcpdump shows it sending

GET /R13B/meta/eldap.pub HTTP/1.1
Host
cean.process-one.net 

and again getting a 404.

Now, if I point a browser at http://cean.process-one.net/R13B/ I get a 404, but if I point it at http://cean.process-one.net/R12B/ I get a directory listing. So I’m guessing the problem may be as simple as cean not supporting R13B yet - in which case, are there plans to do so? However if that is the problem, then at least the error handling of the cean client could be made a whole lot better.

Regards,

Brian.

Platform details: (X)ubuntu Karmic with its default erlang R13B01. Unfortunately, ubuntu doesn’t have erlang-cean or erlang-ibrowse packages. So I untarred cean-1.4 and ibrowse-1.4.1 into ~/erl_lib and set ERL_LIBS to /home/brian/erl_lib. I had to compile ibrowse using

cd src
mkdir 
../ebin
make 

ibrowse has a separate c_src directory which I ignored, as there’s no makefile except a build script for darwin.

I also created a file /usr/lib/erlang/VERSION containing:

CEAN Erlang/OTP R13B-1 erts-5.7.2 linux-x86 devel 

and added a couple of lines to /usr/bin/erl:

export ARCHDIR=linux-x86
export CEAN_SERVER
="http://cean.process-one.net" 
Profile
 
 
Posted: 01 December 2009 05:22 PM   [ Ignore ]   [ # 1 ]
Newbie
Rank
Total Posts:  25
Joined  2007-03-20

Greetings,

Tank you for a very clear error description.

Since you had to create the VERSION file yourself, and CEAN only supports R12B, I wonder if you could perhaps change the value R13B to R12B in VERSION? That would allow cean:available() to function normally.

Now for the problem with error handling in the available/0 command. This is not as simple as it could be. The web page returned from http://cean.process-one.net/R13B/devel/darwin-powerpc.vsnlst (used by available/0) is not a real 404 page. The status is 200 in the HTTP header. Perhaps if the webserver could return error codes for missing pages (Christophe)? Then it would be simpler to have better error handling.


bengt

Profile
 
 
Posted: 01 December 2009 06:40 PM   [ Ignore ]   [ # 2 ]
Newbie
Rank
Total Posts:  2
Joined  2009-11-26

Yes, cean:available() works if I change VERSION to R12B. A package appears to install, but it doesn’t run:

Eshell V5.7.2  (abort with ^G)
1cean:install(eldap).
eldap
ok
2
eldap:module_info().
** 
exception errorundefined function eldap:module_info/0
3
l(eldap).           
{error,nofile}
4

I see that /usr/lib/erlang/lib/eldap-1.4/ebin/ is empty, but there is source in the src/ directory. I didn’t think I had to compile it myself? Or is this a consequence of wrong info in VERSION?

4cean:version().
"CEAN Erlang/OTP R12B-1 erts-5.7.2 linux-x86 devel" 

Also, according to the documentation at http://cean.process-one.net/doc/ I should be able to use installed/1 with an atom to check whether a package is installed. installed/0 is OK, but installed/1 appears not to be present:

5cean:installed().
["appmon","asn1","common_test","compiler","cosEvent",
 
"cosEventDomain","cosFileTransfer","cosNotification",
 
"cosProperty","cosTime","cosTransactions","crypto",
 
"debugger","dialyzer","docbuilder","edoc","eldap",
 
"erl_interface","erts","et","eunit","gs","hipe","ic",
 
"inets","inviso","kernel","megaco",
 
[...]|...]
6
cean:installed(eldap).
** 
exception errorundefined function cean:installed/

Regards,

Brian.

Profile
 
 
Posted: 01 December 2009 10:20 PM   [ Ignore ]   [ # 3 ]
Newbie
Rank
Total Posts:  25
Joined  2007-03-20

Greetings,

First, the empty ebin/ under eldap is probably a mistake within the package. There should be beam files present in a CEAN package (and they should be available after the installation, without you loading them). Your VERSION file is not the culprit.
Unfortunately I can not install asn1, which seems needed to build eldap, so I am unable to help you with the exact commands for building eldap.

Secondly, the installed/1 command has been replaced with is_installed/1. If you do cean:help() you should see a up-to-date list of commands.


bengt

Profile