Opened 8 years ago

Closed 8 years ago

#669 closed defect (fixed)

Coastline builds compile errors

Reported by: Stanislav Gálfy Owned by:
Priority: major Milestone:
Component: helenos/unspecified Version:
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

When installing coastline programs, compile errors occur. I am using current toolchain to compile. Mainline is revision number 2573, coastline is revision number 119.

For example when installing msim:

~/helenos-bzr/coastline/hsct.sh install msim

the output is:

>>> Caching headers, libraries and compile flags
     -> Copying linker script and startup object file
     -> Copying libraries
     -> Copying headers
     -> Fixing includes in libc headers
     -> Saving config files
     -> Copying extra headers and libraries
     -> Fixing compiler flags
>>> Fetching sources...
>>> Building...
[hsct]: "tar" "xjf" "msim-1.3.8.1.tar.bz2" 
[hsct]: "cp" "config.h" "msim-1.3.8.1" 
[hsct]: "mkdir" "-p" "msim-1.3.8.1/src/arch/helenos" 
[hsct]: "cp" "helenos.h" "input.c" "misc.c" "msim-1.3.8.1/src/arch/helenos" 
[hsct]: "cp" "Makefile" "msim-1.3.8.1/src/" 
>>> Exctracting source file names.
[hsct]: "make" "-C" "src" "-j1" "CC=/usr/local/cross/ia32/bin/i686-pc-linux-gnu-gcc" "HSCT_CFLAGS= -O3 -imacros /home/stano/helenos-bzr/build-ia32/helenos/include/system_config.h -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32LE -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc -Wall -Wextra -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 -Wwrite-strings -pipe -ggdb -D__LE__ -march=pentium -mno-tls-direct-seg-refs -fno-omit-frame-pointer -I/home/stano/helenos-bzr/build-ia32/helenos/include/posix -I/home/stano/helenos-bzr/build-ia32/helenos/include/" "LD=/usr/local/cross/ia32/bin/i686-pc-linux-gnu-ld" "HSCT_LDFLAGS= --fatal-warnings -Bdynamic -L/home/stano/helenos-bzr/build-ia32/helenos/lib -n -T /home/stano/helenos-bzr/build-ia32/helenos/link.ld --whole-archive --start-group -lposixaslibc -lsoftint  --end-group --no-whole-archive -lc4posix" "HSCT_CACHE_INCLUDE=/home/stano/helenos-bzr/build-ia32/helenos/include" "HSCT_CACHE_LIB=/home/stano/helenos-bzr/build-ia32/helenos/lib/other" 
make: Entering directory `/home/stano/helenos-bzr/build-ia32/build/msim/msim-1.3.8.1/src'
/usr/local/cross/ia32/bin/i686-pc-linux-gnu-ld -o msim  -lclui -L/home/stano/helenos-bzr/build-ia32/helenos/lib/other --fatal-warnings -Bdynamic -L/home/stano/helenos-bzr/build-ia32/helenos/lib -n -T /home/stano/helenos-bzr/build-ia32/helenos/link.ld --whole-archive --start-group -lposixaslibc -lsoftint  --end-group --no-whole-archive -lc4posix
/home/stano/helenos-bzr/build-ia32/helenos/lib/libc4posix.a(libc.o): In function `__main':
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/libc.c:121: undefined reference to `main'
/home/stano/helenos-bzr/build-ia32/helenos/lib/libc4posix.a(tls.o): In function `tls_get_size':
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:54: undefined reference to `_tbss_end'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:54: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:54: undefined reference to `_tbss_end'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:54: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/build-ia32/helenos/lib/libc4posix.a(tls.o): In function `tls_make':
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:75: undefined reference to `_tbss_end'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:75: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:89: undefined reference to `_tdata_end'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:89: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:89: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:93: undefined reference to `_tbss_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:93: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:94: undefined reference to `_tbss_start'
/home/stano/helenos-bzr/build-ia32/helenos/lib/libc4posix.a(tls.o): In function `tls_get_size':
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:54: undefined reference to `_tbss_end'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:54: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/build-ia32/helenos/lib/libc4posix.a(tls.o): In function `tls_alloc_variant_2':
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:153: undefined reference to `_tls_alignment'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:153: undefined reference to `_tls_alignment'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:154: undefined reference to `_tls_alignment'
/home/stano/helenos-bzr/build-ia32/helenos/lib/libc4posix.a(tls.o): In function `tls_free_variant_2':
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:173: undefined reference to `_tls_alignment'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/tls.c:173: undefined reference to `_tls_alignment'
/home/stano/helenos-bzr/build-ia32/helenos/lib/libc4posix.a(module.o): In function `module_create_static_exec':
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/rtld/module.c:74: undefined reference to `_tdata_end'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/rtld/module.c:74: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/rtld/module.c:75: undefined reference to `_tbss_end'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/rtld/module.c:75: undefined reference to `_tbss_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/rtld/module.c:73: undefined reference to `_tdata_start'
/home/stano/helenos-bzr/mainline/uspace/lib/c/generic/rtld/module.c:76: undefined reference to `_tls_alignment'
make: *** [msim] Error 1
make: Leaving directory `/home/stano/helenos-bzr/build-ia32/build/msim/msim-1.3.8.1/src'
[hsct]: Error: Build failed!

Change History (2)

comment:1 by Jakub Jermář, 8 years ago

I think this has to do with the switch to the default dynamically linked builds on ia32. There is a workaround that will make it possible to build msim (and presumably also other harbours) for ia32 until the bug is fixed. After running:

 hsct.sh init ... ia32 build

go to the HelenOS source tree directory, reconfigure the build for static linking (by disabling Dynamic linking support) and rebuild (for example after hsct.sh install msim).

comment:2 by Martin Decky, 8 years ago

Resolution: fixed
Status: newclosed

This should be fixed (in a form of a temporary workaround at least) in coastline,121.

Note: See TracTickets for help on using tickets.