head/graphics/svgalib does not build in poudriere

Matthias Apitz guru at unixarea.de
Sun Jan 25 10:11:51 UTC 2015


El día Sunday, January 25, 2015 a las 08:51:22AM +0100, Matthias Apitz escribió:

> 
> Hello,
> 
> This is in head r276659, ports r377801 and with poudriere 3.1.1 on
> amd64; the port graphics/svgalib fails to build (only) in poudriere with:
> 
> ...
> clang -Wall -Wstrict-prototypes -Wall -Wstrict-prototypes -fPIC
> -I/wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/include -I.
> -fstack-protector -fno-strict-aliasing  -I../include -L../sharedlib -o
> restorefont restorefont.o -lvga -lm
> ../sharedlib/libvga.so: undefined reference to `_outb'
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> /wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/utils/Makefile:34:
> recipe for target 'restorefont' failed
> gmake[2]: *** [restorefont] Error 1
> gmake[2]: Leaving directory
> '/wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/utils'
> Makefile:423: recipe for target 'textutils' failed
> gmake[1]: *** [textutils] Error 2
> gmake[1]: Leaving directory
> '/wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3'
> *** Error code 2
> 
> Stop.
> make: stopped in /usr/ports/graphics/svgalib
> ====>> Cleaning up wrkdir
> ===>  Cleaning for svgalib-1.4.3_7
> build of graphics/svgalib ended at Sun Jan 25 04:52:14 CET 2015
> build time: 00:00:59
> !!! build failure encountered !!!
> -- 
> the offending code is in src/paradise.c:
> 
> ...
> void inline _outb(unsigned port,unsigned value)
> {
> #ifdef DEBUG
>  printf ("0x%x, 0x%x\n",port,value);
> #endif
> outb(port,value);
> }
> ...
> 
> When I do the ports build the normal way, it builds fine and the object
> files do not contain any reference to _out:
> 
> # find . -name paradise.o
> ./sharedlib/paradise.o
> ./staticlib/paradise.o
> # nm `find . -name paradise.o` | fgrep out
> #
> 

additional information: I compared how src/paradise.c gets compiled as
normal port or in poudriere:

port:

cc -Wall -Wstrict-prototypes -fPIC
 -I/usr/ports-head/graphics/svgalib/work/svgalib-1.4.3/include -I.
 -I/usr/ports-head/graphics/svgalib/work/svgalib-1.4.3/src
 -I/usr/ports-head/graphics/svgalib/work/svgalib-1.4.3/src/config -Wall
 -Wstrict-prototypes -fPIC
 -I/usr/ports-head/graphics/svgalib/work/svgalib-1.4.3/include -I. -O2
 -pipe  -fstack-protector -fno-strict-aliasing  -DNO_ASSEMBLY
 -DSVGALIB_CONFIG_FILE=\"/usr/local/etc/vga/libvga.config\"
 -DALLOW_MOUSE_OVERRIDE
 -DET4000_REGS=\"/usr/local/etc/vga/libvga.et4000\" -DDYNAMIC -c -o
 paradise.o
 /usr/ports-head/graphics/svgalib/work/svgalib-1.4.3/src/paradise.c

poudriere:

clang -Wall -Wstrict-prototypes -fPIC
 -I/wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/include -I.
 -I/wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/src
 -I/wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/src/config
 -Wall -Wstrict-prototypes -fPIC
 -I/wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/include -I.
 -fstack-protector -fno-strict-aliasing  -DNO_ASSEMBLY
 -DSVGALIB_CONFIG_FILE=\"/usr/local/etc/vga/libvga.config\"
 -DALLOW_MOUSE_OVERRIDE
 -DET4000_REGS=\"/usr/local/etc/vga/libvga.et4000\" -DDYNAMIC -c -o
 paradise.o
 /wrkdirs/usr/ports/graphics/svgalib/work/svgalib-1.4.3/src/paradise.c


the only interesting diff is that as port it gets compiled with '-O2 -pipe' in
addition;

HIH

	matthias

-- 
Matthias Apitz, guru at unixarea.de, http://www.unixarea.de/ +49-170-4527211
1989-2014: The Wall was torn down so that we go to war together again.
El Muro ha sido derribado para que nos unimos en ir a la guerra otra vez.
Diese Grenze wurde aufgehoben damit wir gemeinsam wieder in den Krieg ziehen.


More information about the freebsd-ports mailing list