Re: two buildworld problems
2010/6/15 Dag-Erling Smørgrav d...@des.no: Alexander Best alexbes...@uni-muenster.de writes: Dag-Erling Smørgrav d...@des.no writes: The problem is that /usr/src/ is not a prefix of /usr/src. ah i see. would something like empty(.CURDIR:M/usr/src*) instead of empty(.aCURDIR:M/usr/src/*) work? I think so. My hypothesis is that CC, CXX etc. were set in the top-level Makefile and inherited by sub-makes. indeed it worked. :) thanks a bunch. however it seems that CC/CXX/CPP have to be set in make.conf. setting them in src.conf breaks buildworld. maybe this should go into src.conf(5)? DES -- Dag-Erling Smørgrav - d...@des.no -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
Alexander Best alexbes...@uni-muenster.de writes: indeed it worked. :) thanks a bunch. however it seems that CC/CXX/CPP have to be set in make.conf. setting them in src.conf breaks buildworld. Yes, I noticed - you can't set CFLAGS in src.conf either. I don't know why. maybe this should go into src.conf(5)? I'll leave that to someone who knows why it doesn't work :) DES -- Dag-Erling Smørgrav - d...@des.no ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
Alexander Best alexbes...@uni-muenster.de writes: Dag-Erling Smørgrav d...@des.no writes: Alexander Best alexbes...@uni-muenster.de writes: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif What happens when .CURDIR = /usr/src? i'm now using [...] I was trying to show you why what you had didn't work... DES -- Dag-Erling Smørgrav - d...@des.no ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
2010/6/15 Dag-Erling Smørgrav d...@des.no: Alexander Best alexbes...@uni-muenster.de writes: Dag-Erling Smørgrav d...@des.no writes: Alexander Best alexbes...@uni-muenster.de writes: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif What happens when .CURDIR = /usr/src? i'm now using [...] I was trying to show you why what you had didn't work... sorry. i didn't mean to affend you. doug barton already pointed out that what i had in my make.conf beforehand won't work unless /usr/src and /usr/obj are literal directories in /usr [1]. here's the error ouput i got with .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif in my make.conf: [2] [1] http://www.mail-archive.com/freebsd-current@freebsd.org/msg122986.html [2] http://www.mail-archive.com/freebsd-current@freebsd.org/msg122975.html cheers. alex DES -- Dag-Erling Smørgrav - d...@des.no -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On 06/15/10 04:11, Alexander Best wrote: 2010/6/15 Dag-Erling Smørgravd...@des.no: Alexander Bestalexbes...@uni-muenster.de writes: Dag-Erling Smørgravd...@des.no writes: Alexander Bestalexbes...@uni-muenster.de writes: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif What happens when .CURDIR = /usr/src? i'm now using [...] I was trying to show you why what you had didn't work... sorry. i didn't mean to affend you. doug barton already pointed out that what i had in my make.conf beforehand won't work unless /usr/src and /usr/obj are literal directories in /usr [1]. You're really working hard to make this more complicated than it needs to be. Try this: cd /usr/src make -V .CURDIR Then tell us what it says. Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover!http://SupersetSolutions.com/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Tue, Jun 15, 2010 at 7:12 PM, Doug Barton do...@freebsd.org wrote: On 06/15/10 04:11, Alexander Best wrote: 2010/6/15 Dag-Erling Smørgravd...@des.no: Alexander Bestalexbes...@uni-muenster.de writes: Dag-Erling Smørgravd...@des.no writes: Alexander Bestalexbes...@uni-muenster.de writes: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif What happens when .CURDIR = /usr/src? i'm now using [...] I was trying to show you why what you had didn't work... sorry. i didn't mean to affend you. doug barton already pointed out that what i had in my make.conf beforehand won't work unless /usr/src and /usr/obj are literal directories in /usr [1]. You're really working hard to make this more complicated than it needs to be. Try this: cd /usr/src make -V .CURDIR Then tell us what it says. *lol* sorry. i'm quite busy with other stuff atm so i'm not that good at reading mails very thoroughly right now. ;9 `make -V .CURDIR` in /usr/src returns /usr/src cheers. alex Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On 06/15/10 10:24, Alexander Best wrote: `make -V .CURDIR` in /usr/src returns /usr/src Thanks. Now: cd /usr/obj/usr/src make -V .CURDIR Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover!http://SupersetSolutions.com/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Tue, Jun 15, 2010 at 7:30 PM, Doug Barton do...@freebsd.org wrote: On 06/15/10 10:24, Alexander Best wrote: `make -V .CURDIR` in /usr/src returns /usr/src Thanks. Now: cd /usr/obj/usr/src make -V .CURDIR /usr/obj/usr/src Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
Alexander Best alexbes...@uni-muenster.de writes: sorry. i didn't mean to affend you. doug barton already pointed out that what i had in my make.conf beforehand won't work unless /usr/src and /usr/obj are literal directories in /usr [1]. The problem is that /usr/src/ is not a prefix of /usr/src. DES -- Dag-Erling Smørgrav - d...@des.no ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
2010/6/15 Dag-Erling Smørgrav d...@des.no: Alexander Best alexbes...@uni-muenster.de writes: sorry. i didn't mean to affend you. doug barton already pointed out that what i had in my make.conf beforehand won't work unless /usr/src and /usr/obj are literal directories in /usr [1]. The problem is that /usr/src/ is not a prefix of /usr/src. ah i see. would something like empty(.CURDIR:M/usr/src*) instead of empty(.CURDIR:M/usr/src/*) work? alex DES -- Dag-Erling Smørgrav - d...@des.no -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
Alexander Best alexbes...@uni-muenster.de writes: Dag-Erling Smørgrav d...@des.no writes: The problem is that /usr/src/ is not a prefix of /usr/src. ah i see. would something like empty(.CURDIR:M/usr/src*) instead of empty(.aCURDIR:M/usr/src/*) work? I think so. My hypothesis is that CC, CXX etc. were set in the top-level Makefile and inherited by sub-makes. DES -- Dag-Erling Smørgrav - d...@des.no ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Mon, Jun 14, 2010 at 6:58 AM, Ed Schouten e...@80386.nl wrote: * Alexander Best alexbes...@uni-muenster.de wrote: CC=gcc44 CXX=g++44 CPP=cpp44 As I mentioned before, gcc44 and /usr/local/bin/gcc44 are spelled differently. yes, but the point is: i don't want gcc44 to be used at all during buildworld/buildkernel. so even if buildworld/buildkernel are chaging $PATH it shouldn't cause any problems because both targets should never use gcc44. i changed the values of CC/CXX/CPP like you suggested however because somewhere else (apart from /usr/src) $PATH might get changed somehow. what i'm now trying to do in order to having everything being built with gcc44 expect buildworld and buildkernel is this (in make.conf): .if !target(buildworld) !target(buildkernel) exists(/usr/local/bin/gcc44) CC = /usr/local/bin/gcc44 CXX = /usr/local/bin/g++44 CPP = /usr/local/bin/cpp44 .endif i'm just running buildworld to see if it works. cheers. alex btw: making 'buildworld' with clang also failed when CXX was set to 'clang++' (CCC/CPP remained being set to 'clang'). here's the output: clang -O2 -pipe -fno-strict-aliasing -funroll-loops -march=native -DTERMIOS -DANSI_SOURCE -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto -I/usr/obj/usr/src/secure/lib/libcrypto -DOPENSSL_THREADS -DDSO_DLF clang: warning: argument unused during compilation: '-funroll-loops'^M clang -O2 -pipe -fno-strict-aliasing -funroll-loops -march=native -DTERMIOS -DANSI_SOURCE -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto -I/usr/obj/usr/src/secure/lib/libcrypto -DOPENSSL_THREADS -DDSO_DLF clang: warning: argument unused during compilation: '-funroll-loops'^M ^[[1m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:122:11: ^[[0m^[[0;1;31merror: ^[[0m^[[1munsupported inline asm: input with type 'unsigned long' matching output with type 'unsigned int'^M ^[[0mA=S[ii]=ROTATE_l32(k,3);^M ^[[0;1;32m^~~^M ^[[0m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:122:22: note: instantiated from:^M A=S[ii]=ROTATE_l32(k,3);^M ^[[0;1;32m ^^M ^[[0m^[[1m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:125:11: ^[[0m^[[0;1;31merror: ^[[0m^[[1munsupported inline asm: input with type 'unsigned long' matching output with type 'unsigned int'^M ^[[0mB=L[jj]=ROTATE_l32(k,m);^M ^[[0;1;32m^~~^M ^[[0m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:125:22: note: instantiated from:^M B=L[jj]=ROTATE_l32(k,m);^M ^[[0;1;32m ^^M ^[[0m2 errors generated.^M *** Error code 1^M ^M Stop in /usr/src/secure/lib/libcrypto.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M -- Ed Schouten e...@80386.nl WWW: http://80386.nl/ -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Sun, Jun 13, 2010 at 10:28:23PM +0200, Alexander Best wrote: hi there. i'm experiencing two problems during buildworld. i'm not sure if these are the result of me doing weird stuff or a problem in the src structure: 1. i have the following in my make.conf: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif you may want to reverse the condition, ie. .if !empty(.CURDIR:M/usr/ports/*) ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Mon, Jun 14, 2010 at 12:05 PM, Roman Divacky rdiva...@freebsd.org wrote: On Sun, Jun 13, 2010 at 10:28:23PM +0200, Alexander Best wrote: hi there. i'm experiencing two problems during buildworld. i'm not sure if these are the result of me doing weird stuff or a problem in the src structure: 1. i have the following in my make.conf: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif you may want to reverse the condition, ie. .if !empty(.CURDIR:M/usr/ports/*) yeah i had something like that in my make.conf beforehand. the problem was however that this would only use gcc44 when 'make' was run in the ports directory. however i want make to ALWAYS use gcc44 apart from /usr/src. I think this solution works quite well now: .if !target(buildworld) !target(buildkernel) exists(/usr/local/bin/gcc44) CC = /usr/local/bin/gcc44 CXX = /usr/local/bin/g++44 CPP = /usr/local/bin/cpp44 .endif so here're the results: 1. (buildworld without CC/CXX/CPP set in src.conf) = suceeds. 2. (buildworld with CC=gcc CXX=g++ CPP=cpp in src.conf) mkdep -f .depend -a-I/usr/src/lib/csu/i386-elf/../common -I/usr/src/lib/csu/i386-elf/../../libc/include /usr/src/lib/csu/i386-elf/crti.S /usr/src/lib/csu/i386-elf/crtn.S^M cc -O2 -pipe -fno-strict-aliasing -funroll-loops -I/usr/src/lib/csu/i386-elf/../common -I/usr/src/lib/csu/i386-elf/../../libc/include -g -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari cc -O2 -pipe -fno-strict-aliasing -funroll-loops -I/usr/src/lib/csu/i386-elf/../common -I/usr/src/lib/csu/i386-elf/../../libc/include -g -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari cc -O2 -pipe -fno-strict-aliasing -funroll-loops -I/usr/src/lib/csu/i386-elf/../common -I/usr/src/lib/csu/i386-elf/../../libc/include -g -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari cc -O2 -pipe -fno-strict-aliasing -funroll-loops -I/usr/src/lib/csu/i386-elf/../common -I/usr/src/lib/csu/i386-elf/../../libc/include -g -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-ari /usr/src/lib/csu/i386-elf/crt1_s.S: Assembler messages:^M /usr/src/lib/csu/i386-elf/crt1_s.S:34: Error: suffix or operands invalid for `push'^M /usr/src/lib/csu/i386-elf/crt1_s.S:37: Error: `8(%ebp)' is not a valid 64 bit base/index expression^M /usr/src/lib/csu/i386-elf/crt1_s.S:38: Error: suffix or operands invalid for `push'^M /usr/src/lib/csu/i386-elf/crt1_s.S:39: Error: `4(%ebp)' is not a valid 64 bit base/index expression^M /usr/src/lib/csu/i386-elf/crt1_s.S:40: Error: suffix or operands invalid for `push'^M *** Error code 1^M ^M Stop in /usr/src/lib/csu/i386-elf.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M ^[[1m^[[7m%^[[27m^[[1m^[[m 3. (buildworld with CC=clang CXX=clang++ CPP=clang in src.conf) clang: warning: argument unused during compilation: '-funroll-loops'^M clang -O2 -pipe -fno-strict-aliasing -funroll-loops -march=native -DTERMIOS -DANSI_SOURCE -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl -I/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto -I/usr/obj/usr/src/secure/lib/libcrypto -DOPENSSL_THREADS -DDSO_DLF clang: warning: argument unused during compilation: '-funroll-loops'^M ^[[1m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:122:11: ^[[0m^[[0;1;31merror: ^[[0m^[[1munsupported inline asm: input with type 'unsigned long' matching output with type 'unsigned int'^M ^[[0mA=S[ii]=ROTATE_l32(k,3);^M ^[[0;1;32m^~~^M ^[[0m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:122:22: note: instantiated from:^M A=S[ii]=ROTATE_l32(k,3);^M ^[[0;1;32m ^^M ^[[0m^[[1m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:125:11: ^[[0m^[[0;1;31merror: ^[[0m^[[1munsupported inline asm: input with type 'unsigned long' matching output with type 'unsigned int'^M ^[[0mB=L[jj]=ROTATE_l32(k,m);^M ^[[0;1;32m^~~^M ^[[0m/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/rc5/rc5_skey.c:125:22: note: instantiated from:^M B=L[jj]=ROTATE_l32(k,m);^M ^[[0;1;32m ^^M ^[[0m2 errors generated.^M *** Error code 1^M ^M Stop in /usr/src/secure/lib/libcrypto.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M *** Error code 1^M ^M Stop in /usr/src.^M cheers.
Re: two buildworld problems
Alexander Best alexbes...@uni-muenster.de writes: On Mon, Jun 14, 2010 at 12:05 PM, Roman Divacky rdiva...@freebsd.org wrote: On Sun, Jun 13, 2010 at 10:28:23PM +0200, Alexander Best wrote: hi there. i'm experiencing two problems during buildworld. i'm not sure if these are the result of me doing weird stuff or a problem in the src structure: 1. i have the following in my make.conf: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif you may want to reverse the condition, ie. .if !empty(.CURDIR:M/usr/ports/*) yeah i had something like that in my make.conf beforehand. the problem was however that this would only use gcc44 when 'make' was run in the ports directory. however i want make to ALWAYS use gcc44 apart from /usr/src. It may be easier to make gcc44 symlinks for cc/c++/gcc/g++ in e.g. HOME/.bin and add it to PATH before /usr/bin[1]. make buildworld overrides its own PATH and shouldn't be affected but pretty much anything else will use gcc44, not only make(1) targets. You can create basegcc/baseg++ symlinks then for things that don't compile by gcc44 but in case of portmaster you'd have to teach it respect user-defined PATH in order for CC=basegcc in make.conf to work. [1] *after* ccache if you have it installed, e.g. PATH=$LOCALBASE/libexec/ccache:$HOME/.bin:...:/usr/bin:... ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Mon, Jun 14, 2010 at 4:17 PM, Anonymous swel...@gmail.com wrote: Alexander Best alexbes...@uni-muenster.de writes: On Mon, Jun 14, 2010 at 12:05 PM, Roman Divacky rdiva...@freebsd.org wrote: On Sun, Jun 13, 2010 at 10:28:23PM +0200, Alexander Best wrote: hi there. i'm experiencing two problems during buildworld. i'm not sure if these are the result of me doing weird stuff or a problem in the src structure: 1. i have the following in my make.conf: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif you may want to reverse the condition, ie. .if !empty(.CURDIR:M/usr/ports/*) yeah i had something like that in my make.conf beforehand. the problem was however that this would only use gcc44 when 'make' was run in the ports directory. however i want make to ALWAYS use gcc44 apart from /usr/src. It may be easier to make gcc44 symlinks for cc/c++/gcc/g++ in e.g. HOME/.bin and add it to PATH before /usr/bin[1]. make buildworld overrides its own PATH and shouldn't be affected but pretty much anything else will use gcc44, not only make(1) targets. You can create basegcc/baseg++ symlinks then for things that don't compile by gcc44 but in case of portmaster you'd have to teach it respect user-defined PATH in order for CC=basegcc in make.conf to work. [1] *after* ccache if you have it installed, e.g. PATH=$LOCALBASE/libexec/ccache:$HOME/.bin:...:/usr/bin:... thanks for hint. right now my main problem is that i'm not able to sucessfull do 'buildworld' with CC/CXX/CPP set in src.conf. this should be reproducable quite easy by either adding: CC=gcc CXX=g++ CPP=cpp to src.conf or CC=clang CXX=clang++ CPP=clang i posted the error output beforehand. this problems has nothing to do with anything in make.conf since i commented out every gcc44 stuff and even CFLAGS and so forth. for me the only way to successfully do 'buildworld' is to make sure CC/CXX/CPP aren't set in src.conf or as envars. cheers. alex -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
Alexander Best alexbes...@uni-muenster.de writes: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif What happens when .CURDIR = /usr/src? DES -- Dag-Erling Smørgrav - d...@des.no ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
2010/6/14 Dag-Erling Smørgrav d...@des.no: Alexander Best alexbes...@uni-muenster.de writes: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif What happens when .CURDIR = /usr/src? i'm now using .if !target(buildworld) !target(buildkernel) exists(/usr/local/bin/gcc44) CC = /usr/local/bin/gcc44 CXX = /usr/local/bin/g++44 CPP = /usr/local/bin/cpp44 .endif which works quite well. right now i'm trying to solve a different issue which i outlined in my previous posts. would be nice if somebody could try building world with the settings i have in src.conf (see earlier post). cheers. alex DES -- Dag-Erling Smørgrav - d...@des.no -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Jun 13, 2010, at 3:28 PM, Alexander Best wrote: hi there. i'm experiencing two problems during buildworld. i'm not sure if these are the result of me doing weird stuff or a problem in the src structure: 1. i have the following in my make.conf: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif this should make sure that anywhere outside of /usr/src and /usr/obj gcc44 should be used instead of the base gcc. however during buidlworld i get: I noticed the same thing on my system today. 2. if i set CC=cc (or clang) CXX=c++ (or clang) CPP=cpp (or clang) in src.conf buildworld fails with this error: My buildworld breaks in a different place at the beginning of the build process. My last successful build was r208970. === lib/clang/libllvmsupport (obj,depend,all,install) /usr/obj/usr/src/tmp/usr/src/lib/clang/libllvmsupport created for /usr/src/lib/clang/libllvmsupport rm -f .depend mkdep -f .depend -a-I/usr/obj/usr/src/tmp/legacy/usr/include /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regcomp.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regerror.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regexec.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regfree.c /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/regstrlcpy.c mkdep -f .depend -a-I/usr/obj/usr/src/tmp/legacy/usr/include /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APInt.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APSInt.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Allocator.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/CommandLine.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ConstantRange.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Debug.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/DeltaAlgorithm.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Dwarf.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ErrorHandling.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FileUtilities.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FoldingSet.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/FormattedStream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/GraphWriter.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IsInf.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/IsNAN.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/ManagedStatic.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/MemoryBuffer.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/MemoryObject.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/PluginLoader.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/PrettyStackTrace.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Regex.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SlowOperationInformer.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallPtrSet.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SmallVector.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SourceMgr.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Statistic.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringExtras.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringMap.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringPool.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/StringRef.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/SystemUtils.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/TargetRegistry.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Timer.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Triple.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/Twine.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/circular_raw_ostream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/raw_os_ostream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/raw_ostream.cpp /usr/src/lib/clang/libllvmsupport/../../../contrib/llvm/lib/Support/APFloat.cpp:15:30: error: llvm/ADT/APFloat.h: No such file or
Re: two buildworld problems
On Sun, Jun 13, 2010 at 10:28 PM, Alexander Best alexbes...@uni-muenster.de wrote: hi there. i'm experiencing two problems during buildworld. i'm not sure if these are the result of me doing weird stuff or a problem in the src structure: 1. i have the following in my make.conf: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif this should make sure that anywhere outside of /usr/src and /usr/obj gcc44 should be used instead of the base gcc. however during buidlworld i get: === libvers (installincludes)^M cd /usr/src/usr.bin/lex/lib; MAKEOBJDIRPREFIX=/usr/obj/lib32 _SHLIBDIRPREFIX=/usr/obj/usr/src/lib32 VERSION=FreeBSD 9.0-CURRENT amd64 900013 MACHINE=i386 MACHINE_ARCH=i386 MACHINE_CPU=i686 mmx sse sse2 INSTALL=sh /usr/src/tools/install.sh PATH=/usr/obj/usr/src/tm /usr/obj/lib32/usr/src/usr.bin/lex/lib created for /usr/src/usr.bin/lex/lib^M cd /usr/src/lib/ncurses/ncurses; MAKEOBJDIRPREFIX=/usr/obj/lib32 /usr/obj/usr/src/make.amd64/make SSP_CFLAGS= DESTDIR= build-tools^M sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/MKhashsize.sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/Caps hashsize.h^M AWK=awk sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/MKncurses_def.sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/ncurses_defs ncurses_def.h^M sed /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/curses.h.in curses.head -e /@BROKEN_LINKER@/s%%0% -e /@HAVE_VSSCANF@/s%%1% -e /@NCURSES_CH_T@/s%%chtype% -e /@NCURSES_CONST@/s%%const% -e /@NCURSES_EXT_COLORS@/s%%0% -e /@NCURSES_EXT_FUNCS@/s cat curses.head curses.h.new^M AWK=awk _POSIX2_VERSION=199209 sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/MKkey_defs.sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/Caps curses.h.new^M cat /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/curses.tail curses.h.new^M mv -f curses.h.new curses.h^M sed /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/MKterm.h.awk.in MKterm.h.awk -e /@BROKEN_LINKER@/s%%0% -e /@NCURSES_MAJOR@/s%%5% -e /@NCURSES_MINOR@/s%%7% -e /@NCURSES_CONST@/s%%const% -e /@NCURSES_TPARM_VARARGS@/s%%1% -e /@NCURSES_SBOOL@/ awk -f MKterm.h.awk /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/Caps term.h.new^M sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/edit_cfg.sh /usr/src/lib/ncurses/ncurses/ncurses_cfg.h term.h.new^M ** edit: HAVE_TCGETATTR 1^M ** edit: HAVE_TERMIOS_H 1^M ** edit: HAVE_TERMIO_H 0^M ** edit: BROKEN_LINKER 0^M mv -f term.h.new term.h^M sed /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/termcap.h.in termcap.h -e /@NCURSES_MAJOR@/s%%5% -e /@NCURSES_MINOR@/s%%7% -e /@NCURSES_CONST@/s%%const% -e /@NCURSES_OSPEED@/s%%short%^M sed /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/unctrl.h.in unctrl.h -e /@NCURSES_MAJOR@/s%%5% -e /@NCURSES_MINOR@/s%%7%^M cc -o make_hash -O2 -pipe -fno-strict-aliasing -funroll-loops -march=native -I. -I/usr/obj/lib32/usr/src/lib/ncurses/ncurses/../ncurses -I/usr/src/lib/ncurses/ncurses/../ncurses -I/usr/src/lib/ncurses/ncurses/../ncurses -I/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/ awk -f /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/ncurses/tinfo/MKnames.awk bigstrings=1 /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/Caps names.c^M cc -o make_keys -O2 -pipe -fno-strict-aliasing -funroll-loops -march=native -I. -I/usr/obj/lib32/usr/src/lib/ncurses/ncurses/../ncurses -I/usr/src/lib/ncurses/ncurses/../ncurses -I/usr/src/lib/ncurses/ncurses/../ncurses -I/usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/ cd /usr/src/lib/ncurses/ncursesw; MAKEOBJDIRPREFIX=/usr/obj/lib32 /usr/obj/usr/src/make.amd64/make SSP_CFLAGS= DESTDIR= build-tools^M sh /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/include/MKhashsize.sh /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/include/Caps hashsize.h^M AWK=awk sh /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/include/MKncurses_def.sh /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/include/ncurses_defs ncurses_def.h^M cc -o make_hash -O2 -pipe -fno-strict-aliasing -funroll-loops -march=native -D_XOPEN_SOURCE_EXTENDED -DENABLE_WIDEC -I. -I/usr/obj/lib32/usr/src/lib/ncurses/ncursesw/../ncursesw -I/usr/src/lib/ncurses/ncursesw/../ncursesw -I/usr/src/lib/ncurses/ncursesw/../ncurses -I/usr/src/ awk -f /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/ncurses/tinfo/MKnames.awk bigstrings=1 /usr/src/lib/ncurses/ncursesw/../../../contrib/ncurses/include/Caps names.c^M cc -o make_keys -O2 -pipe -fno-strict-aliasing -funroll-loops -march=native -D_XOPEN_SOURCE_EXTENDED -DENABLE_WIDEC -I. -I/usr/obj/lib32/usr/src/lib/ncurses/ncursesw/../ncursesw
Re: two buildworld problems
Alexander, * Alexander Best alexbes...@uni-muenster.de wrote: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif Try /usr/local/bin/gcc44. The FreeBSD build infrastructure overrides PATH to prevent accidental use of local tools. 2. if i set CC=cc (or clang) CXX=c++ (or clang) CPP=cpp (or clang) in src.conf buildworld fails with this error: I can't say what's going on here, but keep in mind that you shouldn't set CXX to clang, but clang++. -- Ed Schouten e...@80386.nl WWW: http://80386.nl/ pgpnEEOF3tFhp.pgp Description: PGP signature
Re: two buildworld problems
On Sun, Jun 13, 2010 at 11:46 PM, Ed Schouten e...@80386.nl wrote: Alexander, * Alexander Best alexbes...@uni-muenster.de wrote: .if empty(.CURDIR:M/usr/src/*) empty(.CURDIR:M/usr/obj/*) exists(/usr/local/bin/gcc44) CC = gcc44 CXX = g++44 CPP = cpp44 .endif Try /usr/local/bin/gcc44. The FreeBSD build infrastructure overrides PATH to prevent accidental use of local tools. hmmm...but i thought during buildworld either empty(.CURDIR:M/usr/src/*) or empty(.CURDIR:M/usr/obj/*) should be false. so CC/CXX/CPP should never actually be set during buildworld or buildkernel. cheers. alex 2. if i set CC=cc (or clang) CXX=c++ (or clang) CPP=cpp (or clang) in src.conf buildworld fails with this error: I can't say what's going on here, but keep in mind that you shouldn't set CXX to clang, but clang++. thanks for the hint. i'll try and see if that works. -- Ed Schouten e...@80386.nl WWW: http://80386.nl/ -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On 06/13/10 15:58, Alexander Best wrote: hmmm...but i thought during buildworld either empty(.CURDIR:M/usr/src/*) or empty(.CURDIR:M/usr/obj/*) should be false. so CC/CXX/CPP should never actually be set during buildworld or buildkernel. That depends, are /usr/src and /usr/obj literally directories in the /usr/ filesystem? -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover!http://SupersetSolutions.com/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Mon, Jun 14, 2010 at 1:02 AM, Doug Barton do...@freebsd.org wrote: On 06/13/10 15:58, Alexander Best wrote: hmmm...but i thought during buildworld either empty(.CURDIR:M/usr/src/*) or empty(.CURDIR:M/usr/obj/*) should be false. so CC/CXX/CPP should never actually be set during buildworld or buildkernel. That depends, are /usr/src and /usr/obj literally directories in the /usr/ filesystem? `mount -p stat -x /usr/src /usr/obj`: /dev/ufs/rootfs / ufs noatime 1 1 devfs /devdevfs rw 0 0 procfs /proc procfs rw 0 0 linprocfs /usr/compat/linux/proc linprocfs rw 0 0 linsysfs/usr/compat/linux/sys linsysfsrw 0 0 devfs /usr/compat/linux/dev devfs rw 0 0 linprocfs /usr/local/gentoo-stage3/proc linprocfs rw 0 0 linsysfs/usr/local/gentoo-stage3/sys linsysfs rw 0 0 devfs /usr/local/gentoo-stage3/dev devfs rw 0 0 tmpfs /tmptmpfs rw 0 0 /dev/cd0/media/dvd cd9660 ro,nosuid 0 0 File: /usr/src Size: 1024 FileType: Directory Mode: (0775/drwxrwxr-x) Uid: (0/root) Gid: (0/ wheel) Device: 0,93 Inode: 6854420Links: 23 Access: Tue Jun 8 03:06:08 2010 Modify: Sun Jun 13 23:02:23 2010 Change: Sun Jun 13 23:02:23 2010 File: /usr/obj Size: 512 FileType: Directory Mode: (0755/drwxr-xr-x) Uid: (0/root) Gid: (0/ wheel) Device: 0,93 Inode: 6830264Links: 3 Access: Thu Jun 10 01:32:19 2010 Modify: Sun Jun 13 23:08:27 2010 Change: Sun Jun 13 23:08:27 2010 -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On 06/13/10 16:21, Alexander Best wrote: `mount -p stat -x /usr/src /usr/obj`: wow, completely unhelpful. So let me try again. If the /usr/src and /usr/obj are not literal directories in /usr then the tests you posted won't work. Given what you've posted so far I strongly suspect that there is something in your environment that is more complicated than it needs to be, which is why you're running into the problems that you are. So to debug it I would suggest that you move make.conf out of the way, then try again without one. If that works, then you can gradually add things back until you find the culprit. hth, Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover!http://SupersetSolutions.com/ ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
On Mon, Jun 14, 2010 at 1:28 AM, Doug Barton do...@freebsd.org wrote: On 06/13/10 16:21, Alexander Best wrote: `mount -p stat -x /usr/src /usr/obj`: wow, completely unhelpful. So let me try again. If the /usr/src and /usr/obj are not literal directories in /usr then the tests you posted won't work. Given what you've posted so far I strongly suspect that there is something in your environment that is more complicated than it needs to be, which is why you're running into the problems that you are. oh sorry for that. if i comment out all the gcc44 stuff in my make.conf and don't set CC/CXX/CPP in src.conf everything works fine. any suggestions what i should put into my make.conf so that gcc44 only gets picked when the current directory is not /usr/src/* or /usr/obj/*? as you pointed out empty(.CURDIR:M/usr/src/*) and empty(.CURDIR:M/usr/obj/*) aren't doing what i want. actually i just modified this .if !empty(.CURDIR:M/usr/ports/*) exists(/usr/local/bin/gcc44) CC=gcc44 CXX=g++44 CPP=cpp44 .endif which was suggested over @ http://www.freebsd.org/doc/en_US.ISO8859-1/articles/custom-gcc/configuring-ports-gcc.html cheers. So to debug it I would suggest that you move make.conf out of the way, then try again without one. If that works, then you can gradually add things back until you find the culprit. hth, Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ -- Alexander Best ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: two buildworld problems
* Alexander Best alexbes...@uni-muenster.de wrote: CC=gcc44 CXX=g++44 CPP=cpp44 As I mentioned before, gcc44 and /usr/local/bin/gcc44 are spelled differently. -- Ed Schouten e...@80386.nl WWW: http://80386.nl/ pgpCgGKibtSmx.pgp Description: PGP signature