Help - Search - Members - Calendar
Full Version: Compiling Apps On Current Pdaxii13 Akita
OESF Forums > Distros, Development, and Model Specific Forums > Distro Support and Discussion > pdaXrom
renick
I have questions about setting up pdaxii13 for compiling apps natively.

I am running into problems compiling the wmii window manager, which I mention in this thread:

http://www.oesf.org/forums/index.php?showt...=0&#entry166021

I think part of the problem may be similar to that described in this thread:

http://www.oesf.org/forums/index.php?showt...st=&#entry86574

I can compile some things, such as GNU screen (I couldn't get either of the two packages I found in feeds to work). However, wmii is failing because, as it was described to me, it can't find libc. I know the sources are good because I compiled them without trouble on two laptops.

The second link above talks about creating some symbolic links to various files. Could someone explain this in more detail than the above thread or point me to some more detailed documentation on how to do this?

I should add that I'm using zgcc-3.4.6.squashfs in /data mounted to /opt/native/arm/3.4.6-xscale-softvfp.
pelrun
That's odd - strictly speaking, "-lc" shouldn't even be passed explicitly as it's automatically included. Try deleting it from the config.mk file and recompiling.
adf
The 28 meg or the 40 meg zgcc? If I recall correctly, there were some issues with one of the versions--I don't remember which, but do remeber there was some discussion a month or so ago..
renick
QUOTE(adf @ Aug 10 2007, 05:32 PM)
The 28 meg or the 40 meg zgcc?  If I recall correctly, there were some issues with one of the versions--I don't remember which, but do remeber there was some discussion a month or so ago..
*


It's the 40 mb one. I'll try to hunt down that thread and take a look.
renick
QUOTE(pelrun @ Aug 10 2007, 05:21 PM)
That's odd - strictly speaking, "-lc" shouldn't even be passed explicitly as it's automatically included. Try deleting it from the config.mk file and recompiling.
*


Thanks for the suggestion, but it didn't make any difference. The same error resulted.
Meanie
QUOTE(renick @ Aug 11 2007, 12:35 AM)
QUOTE(pelrun @ Aug 10 2007, 05:21 PM)
That's odd - strictly speaking, "-lc" shouldn't even be passed explicitly as it's automatically included. Try deleting it from the config.mk file and recompiling.
*


Thanks for the suggestion, but it didn't make any difference. The same error resulted.
*



did you also rerun configure again after that before you started recompiling?
renick
QUOTE(Meanie @ Aug 11 2007, 06:37 PM)
QUOTE(renick @ Aug 11 2007, 12:35 AM)
QUOTE(pelrun @ Aug 10 2007, 05:21 PM)
That's odd - strictly speaking, "-lc" shouldn't even be passed explicitly as it's automatically included. Try deleting it from the config.mk file and recompiling.
*


Thanks for the suggestion, but it didn't make any difference. The same error resulted.
*



did you also rerun configure again after that before you started recompiling?
*



Thanks a lot for your attention to my problem.

There's no configure for wmii. The readme just says run make and then make install after editing the config.mk file. I ditched the unpacked tar, reunpacked it, and then removed -lc from this line:

CODE
# Includes and libs
INCS = -I. -I${ROOT}/include -I${INCLUDE} -I/usr/include
LIBS = -L/usr/lib -lc


so that it read:

CODE
LIBS = -L/usr/lib


Then I ran make. The process began again from the very beginning, like before, and resulted in the exact same error.

Now, I'll admit that I don't really know what I am doing. I've barely started to learn C, so this is all over my head. Have I edited the line incorrectly? I suppose another possibility is that there's something else in config.mk that I haven't configured correctly. Here's the whole file:

CODE
# Customize below to fit your system

# paths
PREFIX = /usr/local
BIN = ${PREFIX}/bin
MAN = ${PREFIX}/share/man
ETC = ${PREFIX}/etc
LIBDIR = ${PREFIX}/lib
INCLUDE = ${PREFIX}/include

# Includes and libs
INCS = -I. -I${ROOT}/include -I${INCLUDE} -I/usr/include
LIBS = -L/usr/lib

# Flags
include ${ROOT}/mk/gcc.mk
# wmii is IO bound, not CPU bound. Please do not use -O2 here. -O is more than sufficient.
CFLAGS +=
LDFLAGS +=
STATIC = -static

# Compiler
CC = cc -c
# Linker (Under normal circumstances, this should *not* be 'ld')
LD = cc
# Other
AR = ar crs
#AR = sh -c 'ar cr "$$@" && ranlib "$$@"'

P9PATHS = /usr/local/plan9 /usr/local/9 /opt/plan9 /opt/9 /usr/plan9 /usr/9

INCX11 = -I/usr/X11R6/include
LIBX11 = -L/usr/X11R6/lib -lX11
LIBIXP = ${ROOT}/libixp/libixp.a

# Solaris
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
#LDFLAGS = ${LIBS} -R${PREFIX}/lib
#LDFLAGS += -lsocket -lnsl
#CFLAGS += -xtarget=ultra
#FCALL_H_VERSION=.nounion
Meanie
QUOTE(renick @ Aug 11 2007, 09:47 PM)
QUOTE(Meanie @ Aug 11 2007, 06:37 PM)
QUOTE(renick @ Aug 11 2007, 12:35 AM)
QUOTE(pelrun @ Aug 10 2007, 05:21 PM)
That's odd - strictly speaking, "-lc" shouldn't even be passed explicitly as it's automatically included. Try deleting it from the config.mk file and recompiling.
*


Thanks for the suggestion, but it didn't make any difference. The same error resulted.
*



did you also rerun configure again after that before you started recompiling?
*



Thanks a lot for your attention to my problem.

There's no configure for wmii. The readme just says run make and then make install after editing the config.mk file. I ditched the unpacked tar, reunpacked it, and then removed -lc from this line:

CODE
# Includes and libs
INCS = -I. -I${ROOT}/include -I${INCLUDE} -I/usr/include
LIBS = -L/usr/lib -lc


so that it read:

CODE
LIBS = -L/usr/lib


Then I ran make. The process began again from the very beginning, like before, and resulted in the exact same error.

Now, I'll admit that I don't really know what I am doing. I've barely started to learn C, so this is all over my head. Have I edited the line incorrectly? I suppose another possibility is that there's something else in config.mk that I haven't configured correctly. Here's the whole file:

CODE
# Customize below to fit your system

# paths
PREFIX = /usr/local
BIN = ${PREFIX}/bin
MAN = ${PREFIX}/share/man
ETC = ${PREFIX}/etc
LIBDIR = ${PREFIX}/lib
INCLUDE = ${PREFIX}/include

# Includes and libs
INCS = -I. -I${ROOT}/include -I${INCLUDE} -I/usr/include
LIBS = -L/usr/lib

# Flags
include ${ROOT}/mk/gcc.mk
# wmii is IO bound, not CPU bound. Please do not use -O2 here. -O is more than sufficient.
CFLAGS +=
LDFLAGS +=
STATIC = -static

# Compiler
CC = cc -c
# Linker (Under normal circumstances, this should *not* be 'ld')
LD = cc
# Other
AR = ar crs
#AR = sh -c 'ar cr "$$@" && ranlib "$$@"'

P9PATHS = /usr/local/plan9 /usr/local/9 /opt/plan9 /opt/9 /usr/plan9 /usr/9

INCX11 = -I/usr/X11R6/include
LIBX11 = -L/usr/X11R6/lib -lX11
LIBIXP = ${ROOT}/libixp/libixp.a

# Solaris
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
#LDFLAGS = ${LIBS} -R${PREFIX}/lib
#LDFLAGS += -lsocket -lnsl
#CFLAGS += -xtarget=ultra
#FCALL_H_VERSION=.nounion

*




actually, which version are you trying to compile?
i just tried to compile the following http://suckless.org/download/wmii-3.1.tar.gz
and it worked without any problems.

i think the -static is the culprit. just remove it and try again or download the source i used which compiled without any problems.
renick
QUOTE
i think the -static is the culprit. just remove it and try again or download the source i used which compiled without any problems.
*


Thank you! Eliminating that allowed the latest snapshot to compile and run without segfaults or anything (at least, not yet). I'm glad to know there aren't really problems with compiling. I've now compiled screen, wmii, dwm, htop, abook, worker, and others without trouble.

As an aside, there ought to be packages for several of those things above. Maybe I'm missing a console fan's feed...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.