Bug 114511

Summary: New port: lang/ocs
Product: Ports & Packages Reporter: Björn König <bkoenigi>
Component: Individual Port(s)Assignee: Thierry Thomas <thierry>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
ports-lang-ocs.tbz
none
ports-lang-ocs.shar
none
ports-lang-ocs.shar
none
ocs::config.log.bz2
none
ports-lang-ocs.shar none

Description Björn König 2007-07-12 00:50:01 UTC
pkg-descr:
	The OPAL compilation system (OCS) is a set of development tools for
	creating software using the algebraic programming language OPAL. The
	package includes a native compiler and an interpreter.
	
	OPAL is mainly developed at the Technical University of Berlin since
	1986 and it is used for research and evaluation of language concepts,
	algorithms and programming techniques.
	
	WWW: http://uebb.cs.tu-berlin.de/opal/

This is an initial version of the port. There are still a lot of things
to do, e.g. adding option knobs, make it possible to build without X
support, probably minor bug fixes and so on. In general the compiler (ocs)
and the interpreter (oasys) are in working order.

http://uebb.cs.tu-berlin.de/opal/install.html#testsuite
shows how to use the examples.
Comment 1 Björn König 2007-07-12 21:49:02 UTC
This is a resubmission of the new lang/ocs port. I added comments in
Makefile which explain the ambiguous approach of installing this software.

Björn
Comment 2 Thierry Thomas freebsd_committer freebsd_triage 2007-09-01 20:42:39 UTC
State Changed
From-To: open->feedback


Hello, 

It seems that a dependency on Perl is missing: 

checking for vi... vi 
checking for perl... no 
configure: error: no perl interpreter found 
===>  Script "configure" failed unexpectedly. 
Please report the problem to bkoenig@cs.tu-berlin.de [maintainer] and attach 
the "/work/a/ports/lang/ocs/work/ocs/config.log" including the output of the 
failure of your make command. Also, it might be a good idea to provide an 
overview of all packages installed on your system (e.g. an `ls /var/db/pkg`). 
*** Error code 1 

Could you please check it again? 

Regards, 
--  
Th. Thomas. 



Comment 3 Thierry Thomas freebsd_committer freebsd_triage 2007-09-01 20:42:39 UTC
Responsible Changed
From-To: freebsd-ports-bugs->thierry


Take it.
Comment 4 Björn König 2007-09-01 22:37:17 UTC
Thanks, I missed that. I created a new version of the port with the
following changes:

  - added USE_PERL5= yes
  - added ONLY_FOR_ARCHS= i386 sparc
  - replaced LOCALBASE with X11BASE

I'm not sure whether this port will build for sparc architecture. OCS has
been developed on Solaris, so think that it will work. Pointyhat need to
prove this. It doesn't work on amd64 yet. I'll do this later.
Comment 5 Thierry Thomas freebsd_committer freebsd_triage 2007-09-02 09:21:05 UTC
On Sat  1 sep 07 at 23:37:17 +0200, Björn König <bkoenig@alpha-tierchen.de>
 wrote:
> Thanks, I missed that. I created a new version of the port with the
> following changes:
> 
>   - added USE_PERL5= yes
>   - added ONLY_FOR_ARCHS= i386 sparc
>   - replaced LOCALBASE with X11BASE
> 
> I'm not sure whether this port will build for sparc architecture. OCS has
> been developed on Solaris, so think that it will work. Pointyhat need to
> prove this. It doesn't work on amd64 yet. I'll do this later.

Thanks for your quick answer, but unfortunately configure still fails,
because it also depends on X libs:

checking for tcl.h... yes
checking for X... no
configure: error: "need X libraries and include files for opal_tk library"
===>  Script "configure" failed unexpectedly.
Please report the problem to bkoenig@cs.tu-berlin.de [maintainer] and attach
the "/work/a/ports/lang/ocs/work/ocs/config.log" including the output of the
failure of your make command. Also, it might be a good idea to provide an
overview of all packages installed on your system (e.g. an `ls /var/db/pkg`).
*** Error code 1

Regards,
-- 
Th. Thomas.
Comment 6 Björn König 2007-09-02 10:17:09 UTC
Can you send me the config.log please? I had this problem too with FreeBSD
6.2 and X.org 6.9; for this reason I changed LOCALBASE to X11BASE.
Comment 7 Thierry Thomas freebsd_committer freebsd_triage 2007-09-02 11:33:41 UTC
On Sun  2 sep 07 at 11:17:09 +0200, Björn König <bkoenig@alpha-tierchen.de>
 wrote:
> Can you send me the config.log please? I had this problem too with FreeBSD
> 6.2 and X.org 6.9; for this reason I changed LOCALBASE to X11BASE.

See attachment.
-- 
Th. Thomas.
Comment 8 Björn König 2007-09-02 15:04:52 UTC
Thanks, please add USE_XORG=xt. Now it should work.

Björn
Comment 9 Björn König 2007-09-02 15:15:29 UTC
Please add also

 INSTALLS_SHLIB= yes
 LDCONFIG_DIRS+= ${OCS}/lib/freebsd${OSREL}-${ARCH}

Thanks.

Björn
Comment 10 Björn König 2007-09-02 19:31:43 UTC
Please use

USE_LDCONFIG= ${OCS}/lib/freebsd${OSREL}-${ARCH}

instead of the last two lines that I suggested. Thanks.

Björn
Comment 11 Thierry Thomas freebsd_committer freebsd_triage 2007-09-02 21:37:14 UTC
On Sun  2 sep 07 at 20:31:43 +0200, Björn König <bkoenig@alpha-tierchen.de>
 wrote:
> Please use
> 
> USE_LDCONFIG= ${OCS}/lib/freebsd${OSREL}-${ARCH}
> 
> instead of the last two lines that I suggested. Thanks.

Thanks for your feedback.

For ldconfig to work, you should add symbolic links to get library names
as "libxxxx.so.2". ATM, the port installs the following libs:

ll /usr/local/ocs-2.3k/lib/freebsd6.2-i386
total 22152
-rw-r--r--  1 root  wheel   953868  2 sep 21:48 liboasys_main.a
-rwxr-xr-x  1 root  wheel   764634  2 sep 21:48 liboasys_main.so.2.3.5
-rw-r--r--  1 root  wheel  1608390  2 sep 21:45 liboasys_shared.a
-rwxr-xr-x  1 root  wheel  1300703  2 sep 21:45 liboasys_shared.so.2.3.5
-rw-r--r--  1 root  wheel  3622382  2 sep 21:35 liboc_oc1.a
-rwxr-xr-x  1 root  wheel  2804038  2 sep 21:35 liboc_oc1.so.2.3.1
-rw-r--r--  1 root  wheel  1764756  2 sep 21:37 liboc_oc2.a
-rwxr-xr-x  1 root  wheel  1395020  2 sep 21:37 liboc_oc2.so.2.3.1
-rw-r--r--  1 root  wheel   743724  2 sep 21:40 liboc_reflections.a
-rwxr-xr-x  1 root  wheel   553458  2 sep 21:40 liboc_reflections.so.2.3.1
-rw-r--r--  1 root  wheel   357098  2 sep 21:28 liboc_shared.a
-rwxr-xr-x  1 root  wheel   309510  2 sep 21:28 liboc_shared.so.2.3.1
-rw-r--r--  1 root  wheel  2241178  2 sep 21:27 libopal_base.a
-rwxr-xr-x  1 root  wheel  1656701  2 sep 21:27 libopal_base.so.2.3.1
-rw-r--r--  1 root  wheel    67638  2 sep 21:38 libopal_parserlight.a
-rwxr-xr-x  1 root  wheel    66688  2 sep 21:38 libopal_parserlight.so.2.3.1
-rw-r--r--  1 root  wheel     4968  2 sep 21:38 libopal_readline.a
-rwxr-xr-x  1 root  wheel   377168  2 sep 21:38 libopal_readline.so.2.3.1
-rw-r--r--  1 root  wheel    26270  2 sep 21:38 libopal_tcl.a
-rwxr-xr-x  1 root  wheel    31209  2 sep 21:38 libopal_tcl.so.2.3.1
-rw-r--r--  1 root  wheel     5138  2 sep 21:38 libopal_tk.a
-rwxr-xr-x  1 root  wheel    10649  2 sep 21:38 libopal_tk.so.2.3.1
-rw-r--r--  1 root  wheel   869986  2 sep 21:39 libopal_win.a
-rwxr-xr-x  1 root  wheel   702703  2 sep 21:39 libopal_win.so.2.3.1

and nothing is registered: `ldconfig -r | grep oasys_main' does not
return anything!

BTW, usually the directories are not versionned in FreeBSD: could it be
installed under ${PREFIX}/ocs/ ?
(i.e. OCS=		${PREFIX}/${PORTNAME})

If make is run by user joe, `${CP} -Rp' will retain joe's ownership: you
could use the COPYTREE_ macros to avoid a chown.

And another point: why don't you install the examples under
${EXAMPLESDIR}? (and don't forget to tweak ${PLIST} if WITHOUT_EXAMPLES
is defined!)

Regards,
-- 
Th. Thomas.
Comment 12 Björn König 2007-09-03 10:20:09 UTC
Ok, this is a reworked version of the port with the following changes:
  - use ${PREFIX}/${PORTNAME}
  - use COPYTREE_* macros instead of ${CP} and ${CHMOD}
  - install examples to ${EXAMPLESDIR}
  - use NOT_FOR_ARCHS instead of ONLY_FOR_ARCHS

It is not necessary that ldconfig -r shows the libraries explicitely. The
run-time linker will find the libraries nevertheless. Without USE_LDCONFIG
I'll get the following:

# ldd /usr/local/ocs/lib/freebsd6.2-i386/libopal_win.so.2.3.1
/usr/local/ocs/lib/freebsd6.2-i386/libopal_win.so.2.3.1:
        libopal_tk.so.2.3.1 => not found (0x0)
        [...]

and execution of graphical Opal applications will fail because of this.
With USE_LDCONFIG the linker finds the library. Therefore I think that
links (e.g. libopal_tk.so.2 -> libopal_tk.so.2.3.1) are not necessary.
Opal applications compile and execute without problems although ldconfig
-r shows none of the required libraries.

Björn
Comment 13 Thierry Thomas freebsd_committer freebsd_triage 2007-09-03 22:48:02 UTC
On Mon  3 sep 07 at 11:20:09 +0200, Björn König <bkoenig@alpha-tierchen.de>
 wrote:
> Ok, this is a reworked version of the port with the following changes:
>   - use ${PREFIX}/${PORTNAME}
>   - use COPYTREE_* macros instead of ${CP} and ${CHMOD}
>   - install examples to ${EXAMPLESDIR}
>   - use NOT_FOR_ARCHS instead of ONLY_FOR_ARCHS
> 
> It is not necessary that ldconfig -r shows the libraries explicitely. The
> run-time linker will find the libraries nevertheless. Without USE_LDCONFIG

OK, thanks for the explanations and the new version: the tests on
<http://uebb.cs.tu-berlin.de/opal/install.html#testsuite> run fine.

Regards,
-- 
Th. Thomas.
Comment 14 dfilter service freebsd_committer freebsd_triage 2007-09-03 22:48:55 UTC
thierry     2007-09-03 21:48:38 UTC

  FreeBSD ports repository

  Modified files:
    lang                 Makefile 
  Added files:
    lang/ocs             Makefile distinfo pkg-descr 
  Log:
  The OPAL compilation system (OCS) is a set of development tools for
  creating software using the algebraic programming language OPAL. The
  package includes a native compiler and an interpreter.
  
  OPAL is mainly developed at the Technical University of Berlin since
  1986 and it is used for research and evaluation of language concepts,
  algorithms and programming techniques.
  
  WWW: http://uebb.cs.tu-berlin.de/opal/
  
  PR:             ports/114511
  Submitted by:   Björn König <bkoenig at cs.tu-berlin.de>
  
  Revision  Changes    Path
  1.569     +1 -0      ports/lang/Makefile
  1.1       +104 -0    ports/lang/ocs/Makefile (new)
  1.1       +3 -0      ports/lang/ocs/distinfo (new)
  1.1       +9 -0      ports/lang/ocs/pkg-descr (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 15 Thierry Thomas freebsd_committer freebsd_triage 2007-09-03 22:49:20 UTC
State Changed
From-To: feedback->closed


New port added, thanks!