Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Nov 2002 14:36:58 +0100 (CET)
From:      Philipp Mergenthaler <philipp.mergenthaler@stud.uni-karlsruhe.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/45030: lang/pm3-base broken in -current because of stdio-changes
Message-ID:  <200211071336.gA7DawP0043646@i609a.hadiko.de>

next in thread | raw e-mail | index | archive | help

>Number:         45030
>Category:       ports
>Synopsis:       lang/pm3-base broken in -current because of stdio-changes
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 07 05:40:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Philipp Mergenthaler
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
University of Karlsruhe, Germany
>Environment:
System: FreeBSD i609a.hadiko.de 5.0-CURRENT FreeBSD 5.0-CURRENT #598: Mon Nov 4 15:07:53 CET 2002 p@i609a.hadiko.de:/usr/obj/usr/src/sys/I609 i386


	
>Description:

Building this port breaks because one of its files has a reference to
__sF, which, in -current, is now static.

>How-To-Repeat:
	Build the port on a current -current (see "last full run" on bento):

[...]
---------- building m3bundle in language/modula3/m3tools ----------

/usr/ports/lang/pm3-base/work/pm3-1.1.15/src/../boot-FreeBSD4/m3build/FreeBSD4/m3build -T /usr/ports/lang/pm3-base/work/pm3-1.1.15/src/../m3config/src -F /usr/ports/lang/pm3-base/work/pm3-1.1.15/src/../FreeBSD4/config.tmpl -DUSE_M3DOC=
mkdir FreeBSD4
--- building in FreeBSD4 ---
new source -> compiling ../src/m3bundle.m3
 -> linking m3bundle
/usr/local/lib/m3/pkg/m3core/FreeBSD4/libm3core.so: undefined reference to `__sF'
[...]

>Fix:

The patch is good enough that pm3-base builds and cvsup works.
However, I don't know enough about Modula and its compiler to judge
1)
  whether it is correct and won't cause other problems.
2)
  whether it would be better to create a subdirectory FreeBSD5 instead
  of modifying a file in FreeBSD4. I did the latter since its just a
  one line-change.

I've written this as EXTRA_PATCH because, AFAIK,  Modula-3 doesn't have
a compiler directive like #if. Since there wasn't a version bump when
libc was changed, I used the last version bump before that (about two
weeks earlier), ${OSVERSION} >= 500041



diff -ruN lang/pm3-base.old/Makefile lang/pm3-base/Makefile
--- lang/pm3-base.old/Makefile	Thu Nov  7 12:58:00 2002
+++ lang/pm3-base/Makefile	Thu Nov  7 14:04:35 2002
@@ -68,6 +68,9 @@
 WORDSIZE=	64
 BOOTSTRAP=	pm3-${PORTVERSION}-${TARGET}-boot.tar.bz2
 .endif
+.if ${OSVERSION} >= 500041
+EXTRA_PATCHES+=${PATCHDIR}/extra-patch-l3
+.endif
 
 .if !defined(TARGET)
 pre-fetch:
diff -ruN lang/pm3-base.old/files/extra-patch-l3 lang/pm3-base/files/extra-patch-l3
--- lang/pm3-base.old/files/extra-patch-l3	Thu Jan  1 01:00:00 1970
+++ lang/pm3-base/files/extra-patch-l3	Thu Nov  7 10:04:27 2002
@@ -0,0 +1,11 @@
+--- libs/m3core/src/C/FreeBSD4/Cstdio.i3.orig	Wed May 31 19:54:13 2000
++++ libs/m3core/src/C/FreeBSD4/Cstdio.i3	Thu Nov  7 10:03:48 2002
+@@ -61,7 +61,7 @@
+ 
+   FILE_star = UNTRACED REF FILE;
+ 
+-<*EXTERNAL "__sF"*> VAR sF : ARRAY [0..NSTDBUF-1] OF FILE;
++                    VAR sF : ARRAY [0..NSTDBUF-1] OF FILE;
+                     VAR iF : ARRAY [0..NIOBRW-1]  OF FILE_star;
+ 
+ <*EXTERNAL fbsd_feof*>      PROCEDURE feof (f: FILE_star): int;

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211071336.gA7DawP0043646>