Skip site navigation (1)Skip section navigation (2)
From:      Daniel Lang <dl@leo.org>
To:        jasone@freebsd.org, freebsd-ports@freebsd.org
Subject:   Problem building linuxthreads-port
Message-ID:  <20000119142928.C1795@hprbg4.informatik.tu-muenchen.de>

next in thread | raw e-mail | index | archive | help
Hi Jasone,

I run FreeBSD 3.4-STABLE #15: Tue Dec 28 15:39:29 CET 1999
and encounter problems building the linuxthreads port.
As far as I can tell from -hackers, the port should work
on -STABLE uniprocessors (though not SMP systems).

The build fails in wrapsyscall.c. It looks like a problem
including the right headerfiles.

First, there are a lot of warnings like:
[..]
freebsd-compat.h:93: warning: `struct timezone' declared inside parameter list
freebsd-compat.h:93: warning: its scope is only this definition or declaration,
freebsd-compat.h:93: warning: which is probably not what you want.
[..]

pthread.c shows more warnings:
[..]
pthread.c:36: warning: alignment of `__pthread_initial_thread' is greater than maximum object file alignment
pthread.c:64: warning: braces around scalar initializer for `__pthread_initial_thread.p_start_args.mask'
pthread.c:64: warning: braces around scalar initializer for `__pthread_initial_thread.p_start_args.mask'
pthread.c:82: warning: alignment of `__pthread_manager_thread' is greater than maximum object file alignment
pthread.c:110: warning: braces around scalar initializer for `__pthread_manager_thread.p_start_args.mask'
pthread.c:110: warning: braces around scalar initializer for `__pthread_manager_thread.p_start_args.mask'
[..]

In wrapsyscall.c /usr/include/sys/resource.h is included,
which uses struct timeval. This struct is defined in <sys/time.h>,
which is not included in resource.h.
Further socklen_t is used but nowhere defined, maybe this comes
along with -current ? 
It seems socklen_t is commonly defined as a size_t or uint32_t, but
the prototypes in socket.h seem to use int, so I included an apropriate
typedef into wrapsyscall.c.

libgcc_r doesn't seem to build, as well, as -fexceptions is used
(which is available with gcc 2.95 but not 2.7.2.3), and other problems like:
[..]
In file included from /usr/src/contrib/gcc/config/i386/xm-i386.h:43,
                 from config.h:1,
                cc1: Invalid option `-fexceptions'
 from /usr/src/contrib/gcc/libgcc1.c:35:
tm.h:4: freebsd.h: No such file or directory
In file included from /usr/src/contrib/gcc/config/i386/freebsd.h:31,
                 from tm.h:5,
                 from /usr/src/contrib/gcc/config/i386/xm-i386.h:43,
                 from config.h:1,
                 from /usr/src/contrib/gcc/libgcc1.c:35:
/usr/src/contrib/gcc/config/i386/att.h:49: warning: `ASM_OUTPUT_ASCII' redefined
/usr/src/contrib/gcc/config/svr4.h:892: warning: this is the location of the previous definition
[..]

I guess, it is not thought to build linuxthreads with plain
old gcc 2.7.2.3, but I think the port should be aware which gcc
is avaiable (including its sources!) and fail to build at all, if 
the requirements are not met.

Of course it could be, that there is general mistake, I made
and that I'm not aware of, if so, please tell me.

Regards,
 Daniel 
-- 
IRCnet: Mr-Spock           - Burn them to ashes, then burn the ashes. -  
RL: Daniel Lang * dl@leo.org * +49 89 8540017 * http://www.leo.org/~dl/


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?20000119142928.C1795>