Re: compiling skalibs-1.4.1

From: Jorge Almeida <jalmeida_at_math.ist.utl.pt>
Date: Sat, 12 Oct 2013 14:37:27 +0100 (WEST)

On Sat, 12 Oct 2013, Laurent Bercot wrote:

> Hi Jorge,
> You asked the exact same thing about skalibs-1.3.0 and dietlibc


Ooops... Sorry. Copied configuration from a different computer.
> My answer was:
>
> * Ask Felix to fix his netinet/in.h : IPV6_V6ONLY is in Single Unix v4.
> * In the meantime, compile with -DIPV6_V6ONLY=26 (the value on Linux)
> * or touch conf-compile/flag-noipv6 if your use of skalibs allows it.

Tried with flag-noipv6:
        exec ./compile iobufferk_fill.c
        iobufferk_fill.c: In function 'iobufferk_tee':
        iobufferk_fill.c:14:3: warning: implicit declaration of function 'tee'
        [-Wimplicit-function-declaration]
        exec ./compile iobufferk_finish.c
        exec ./compile iobufferk_flush.c
        exec ./compile iobuffer_kfromu.c
        exec ./compile iobufferk_init.c
        exec ./compile iobufferk_isworking.c
        exec ./compile iobufferk_nosys.c
        exec ./compile iobuffer_salvage.c
        exec ./compile iobufferu_fill.c
        exec ./compile iobufferu_finish.c
        exec ./compile iobufferu_flush.c
        exec ./compile iobuffer_ufromk.c
        exec ./compile iobufferu_init.c
        exec ./compile iopause.c
        exec ./compile iopause_stamp.c
        exec ./compile ip46_scan.c
        exec ./compile ip46_scanlist.c
        ip46_scanlist.c: In function 'ip46full_scanlist':
        ip46_scanlist.c:15:13: error: 'ip46_t' has no member named 'is6'
        ip46_scanlist.c:20:8: error: 'ip46_t' has no member named 'is6'
        ip46_scanlist.c:22:12: error: incompatible types when assigning to type
        'struct ip46full_s' from type 'ip46_t'
        make[2]: *** [ip46_scanlist.o] Error 1
        make[2]: Leaving directory
        `/slash/package/prog/skalibs-1.4.1/compile/libstddjb'
        make[1]: *** [.done] Error 2
        make[1]: Leaving directory
        `/slash/package/prog/skalibs-1.4.1/compile/libstddjb'
        make: *** [.done] Error 2
        

I remembered I had edited netinet/in.h, so I tried again:
        enum {
        #define IPV6_V6ONLY IPV6_V6ONLY
        IPV6_V6ONLY=26,
        
Same error message...


Even if it compiled, I'm having doubts about using dietlibc for this.
The problem is that dietlibc ignores right timezones, so maybe software
that uses right timezones would be silently broken?
>
> I would now add a fourth bullet:
>
> * Use musl instead: http://musl-libc.org/
>

I have musl installed, and I used it to statically compile bash (to put in
my initramfs_cum_emergency_system...)

Not working:

exec ./compile tryclockrt.c
tryclockrt.c: In function 'main':
tryclockrt.c:8:19: error: storage size of 'ts' isn't known
tryclockrt.c:9:3: warning: implicit declaration of function
'clock_gettime' [-Wimplicit-function-declaration]
tryclockrt.c:9:21: error: 'CLOCK_REALTIME' undeclared (first use in this
function)
tryclockrt.c:9:21: note: each undeclared identifier is reported only
once for each function it appears in
tryclockrt.c:8:19: warning: unused variable 'ts' [-Wunused-variable]
make[1]: *** [hasclockrt.h] Error 1
make[1]: Leaving directory
`/slash/package/prog/skalibs-1.4.1/compile/sysdeps'
make: *** [.done] Error 2

conf-cc: /opt/bin/musl-gcc -static -Os -march=native -mfpmath=sse -mssse3 -W -Wall -fomit-frame-pointer -pipe
conf-ld: /opt/bin/musl-gcc -static

Maybe the latter is wrong?

> (The only problem I got was s6-devd (in s6-linux-utils) where musl just
> needs an additional set of kernel headers to find linux/netlink.h.)

This one would be sort of a show-stopper for us amateur folks... (I
actually have a use for s6-devd :))

Anyway, I wanted to make sure I had the latest versions before
reporting this bug:

        #!/command/execlineb -P
        pipeline { echo blah }

The syntax error is not detected and it segfaults.


Thanks,

Jorge
Received on Sat Oct 12 2013 - 13:37:27 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:38:49 UTC