[Fink-devel] Sorted - Re: Trying to port your package to Fink
Dear All, Sorry for the post. I have fixed it. It was a minor trouble with symlinks! Btw, I am trying to create a cross-compiler, i386-elf-gcc. Everything goes well, except for this fink validate warning: $ fink validate /sw/fink/10.5/local/main/binary-darwin-i386/devel/i386- elf-gcc_3.4.6-1_darwin-i386.deb Validating .deb file /sw/fink/10.5/local/main/binary-darwin-i386/devel/ i386-elf-gcc_3.4.6-1_darwin-i386.deb... Error: Libtool file points to fink build dir. Offending file: /sw/share/i386-elf/i386-elf/lib/libstdc++.la Offending file: /sw/share/i386-elf/i386-elf/lib/libsupc++.la I am new to compiling cross-compilers. What do you do with this? Any guidance would be appreciated. With many thanks. Best regards, Murali. On 5 Feb 2008, at 02:35, Murali Vadivelu wrote: Begin forwarded message: From: Murali Vadivelu [EMAIL PROTECTED] Date: 5 February 2008 02:10:23 GMT To: pguyot AT kallisys.net Subject: Trying to port your package to Fink Dear Developer, I am trying to port you package to Fink, i386-elf-gcc. I am not sure how t troubleshoot this error: ed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ -e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \ -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ -e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*USE_WEAK\)/_GLIBCXX_\1/ g' \ -e 's,^#include \(.*\),#include bits/\1,g' \ /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libstdc++- v3/../gcc/gthr-single.h i386-elf/bits/gthr-default.h /bin/sh ./../gcc-3.4.6/mkinstalldirs i386-elf/libiberty ; \ rm -f i386-elf/libiberty/Makefile || : ; \ cp multilib.out i386-elf/libiberty/multilib.out mkdir i386-elf/libiberty Configuring in i386-elf/libiberty configure: creating cache ./config.cache checking whether to enable maintainer-specific portions of Makefiles... no checking for makeinfo... makeinfo checking for perl... perl checking build system type... i686-apple-darwin9.1.0 checking host system type... i386-pc-elf checking for i386-elf-ar... i386-elf-ar checking for i386-elf-ranlib... i386-elf-ranlib checking for i386-elf-gcc... /sw/src/fink.build/i386-elf- gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf- gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/ share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/ include -isystem /sw/share/i386-elf/i386-elf/sys-include checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/ share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ - isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386- elf/i386-elf/sys-include accepts -g... yes checking for /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/ share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ - isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386- elf/i386-elf/sys-include option to accept ANSI C... none needed checking how to run the C preprocessor... /sw/src/fink.build/i386- elf-gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf- gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/ share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/ include -isystem /sw/share/i386-elf/i386-elf/sys-include -E checking whether /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/ share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ - isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386- elf/i386-elf/sys-include and cc understand -c and -o together... yes checking for an ANSI C-conforming const... yes checking for inline... inline checking whether byte ordering is bigendian... cross-compiling... unknown checking to probe for byte ordering... /sw/share/i386-elf/i386-elf/ bin/ld: crt0.o: No such file: No such file or directory collect2: ld returned 1 exit status unknown configure: error: unknown endianess - sorry /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libiberty/ configure: line 3289: exit: please: numeric argument required /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libiberty/ configure: line 3289: exit: please: numeric argument required make: *** [configure-target-libiberty] Error 1 ### execution of /var/tmp/tmp.1.BNrDZG failed, exit code 2 Please help if you could. With many thanks. Best, Murali. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ Fink-devel mailing list Fink-devel@lists.sourceforge.net
Re: [Fink-devel] Sorted - Re: Trying to port your package to Fink
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 It's nothing specific to cross-compilers. The issue is talked about on http://wiki.finkproject.org/index.php/Fink:Porting_Notes, in theCommon Libtool Linking Problems section, item 2. Murali Vadivelu wrote: | Dear All, | | Sorry for the post. I have fixed it. It was a minor trouble with symlinks! | | Btw, I am trying to create a cross-compiler, i386-elf-gcc. Everything goes well, except for this fink validate warning: | $ fink validate /sw/fink/10.5/local/main/binary-darwin-i386/devel/i386-elf-gcc_3.4.6-1_darwin-i386.deb | Validating .deb file /sw/fink/10.5/local/main/binary-darwin-i386/devel/i386-elf-gcc_3.4.6-1_darwin-i386.deb... | Error: Libtool file points to fink build dir. | Offending file: /sw/share/i386-elf/i386-elf/lib/libstdc++.la | Offending file: /sw/share/i386-elf/i386-elf/lib/libsupc++.la | | I am new to compiling cross-compilers. What do you do with this? Any guidance would be appreciated. | | With many thanks. | | Best regards, | Murali. | | On 5 Feb 2008, at 02:35, Murali Vadivelu wrote: | | | | Begin forwarded message: | | *From: *Murali Vadivelu [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] | *Date: *5 February 2008 02:10:23 GMT | *To: *pguyot AT kallisys.net mailto:[EMAIL PROTECTED] | *Subject: **Trying to port your package to Fink* | | Dear Developer, | | I am trying to port you package to Fink, i386-elf-gcc. | | I am not sure how t troubleshoot this error: | ed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ |-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \ |-e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ |-e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*USE_WEAK\)/_GLIBCXX_\1/g' \ |-e 's,^#include \(.*\),#include bits/\1,g' \ | /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libstdc++-v3/../gcc/gthr-single.h i386-elf/bits/gthr-default.h | /bin/sh ./../gcc-3.4.6/mkinstalldirs i386-elf/libiberty ; \ | rm -f i386-elf/libiberty/Makefile || : ; \ | cp multilib.out i386-elf/libiberty/multilib.out | mkdir i386-elf/libiberty | Configuring in i386-elf/libiberty | configure: creating cache ./config.cache | checking whether to enable maintainer-specific portions of Makefiles... no | checking for makeinfo... makeinfo | checking for perl... perl | checking build system type... i686-apple-darwin9.1.0 | checking host system type... i386-pc-elf | checking for i386-elf-ar... i386-elf-ar | checking for i386-elf-ranlib... i386-elf-ranlib | checking for i386-elf-gcc... /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386-elf/i386-elf/sys-include | checking for suffix of object files... o | checking whether we are using the GNU C compiler... yes | checking whether /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386-elf/i386-elf/sys-include accepts -g... yes | checking for /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386-elf/i386-elf/sys-include option to accept ANSI C... none needed | checking how to run the C preprocessor... /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386-elf/i386-elf/sys-include -E | checking whether /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386-elf/i386-elf/sys-include and cc understand -c and -o together... yes | checking for an ANSI C-conforming const... yes | checking for inline... inline | checking whether byte ordering is bigendian... cross-compiling... | unknown | checking to probe for byte ordering... /sw/share/i386-elf/i386-elf/bin/ld: crt0.o: No such file: No such file or directory | collect2: ld returned 1 exit status | unknown | configure: error: unknown endianess - sorry | /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libiberty/configure: line 3289: exit: please: numeric argument required | /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libiberty/configure: line 3289: exit: please: numeric argument required | make: *** [configure-target-libiberty] Error 1 | ### execution of /var/tmp/tmp.1.BNrDZG failed, exit code 2 | | Please help if you could. | | With many thanks. | | Best, | Murali. | | -BEGIN
Re: [Fink-devel] Sorted - Re: Trying to port your package to Fink
I tried all the possible fixes suggested there or looked for the problem. I could not fix the warning though. Could be some vague thing related to point no. 3 made in that wiki-page. On 5 Feb 2008, at 15:40, Alexander K. Hansen wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 It's nothing specific to cross-compilers. The issue is talked about on http://wiki.finkproject.org/index.php/Fink:Porting_Notes, in theCommon Libtool Linking Problems section, item 2. Murali Vadivelu wrote: | Dear All, | | Sorry for the post. I have fixed it. It was a minor trouble with symlinks! | | Btw, I am trying to create a cross-compiler, i386-elf-gcc. Everything goes well, except for this fink validate warning: | $ fink validate /sw/fink/10.5/local/main/binary-darwin-i386/devel/ i386-elf-gcc_3.4.6-1_darwin-i386.deb | Validating .deb file /sw/fink/10.5/local/main/binary-darwin-i386/ devel/i386-elf-gcc_3.4.6-1_darwin-i386.deb... | Error: Libtool file points to fink build dir. | Offending file: /sw/share/i386-elf/i386-elf/lib/libstdc++.la | Offending file: /sw/share/i386-elf/i386-elf/lib/libsupc++.la | | I am new to compiling cross-compilers. What do you do with this? Any guidance would be appreciated. | | With many thanks. | | Best regards, | Murali. | | On 5 Feb 2008, at 02:35, Murali Vadivelu wrote: | | | | Begin forwarded message: | | *From: *Murali Vadivelu [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] | *Date: *5 February 2008 02:10:23 GMT | *To: *pguyot AT kallisys.net mailto:[EMAIL PROTECTED] | *Subject: **Trying to port your package to Fink* | | Dear Developer, | | I am trying to port you package to Fink, i386-elf-gcc. | | I am not sure how t troubleshoot this error: | ed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ |-e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \ |-e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ |-e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*USE_WEAK\)/_GLIBCXX_\1/ g' \ |-e 's,^#include \(.*\),#include bits/\1,g' \ | /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libstdc++- v3/../gcc/gthr-single.h i386-elf/bits/gthr-default.h | /bin/sh ./../gcc-3.4.6/mkinstalldirs i386-elf/libiberty ; \ | rm -f i386-elf/libiberty/Makefile || : ; \ | cp multilib.out i386-elf/libiberty/multilib.out | mkdir i386-elf/libiberty | Configuring in i386-elf/libiberty | configure: creating cache ./config.cache | checking whether to enable maintainer-specific portions of Makefiles... no | checking for makeinfo... makeinfo | checking for perl... perl | checking build system type... i686-apple-darwin9.1.0 | checking host system type... i386-pc-elf | checking for i386-elf-ar... i386-elf-ar | checking for i386-elf-ranlib... i386-elf-ranlib | checking for i386-elf-gcc... /sw/src/fink.build/i386-elf- gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/ build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/ i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/include -isystem / sw/share/i386-elf/i386-elf/sys-include | checking for suffix of object files... o | checking whether we are using the GNU C compiler... yes | checking whether /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/ gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/ share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ - isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386- elf/i386-elf/sys-include accepts -g... yes | checking for /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/ share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ - isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386- elf/i386-elf/sys-include option to accept ANSI C... none needed | checking how to run the C preprocessor... /sw/src/fink.build/ i386-elf-gcc-3.4.6-1/build/gcc/xgcc -B/sw/src/fink.build/i386-elf- gcc-3.4.6-1/build/gcc/ -B/sw/share/i386-elf/i386-elf/bin/ -B/sw/ share/i386-elf/i386-elf/lib/ -isystem /sw/share/i386-elf/i386-elf/ include -isystem /sw/share/i386-elf/i386-elf/sys-include -E | checking whether /sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/ gcc/xgcc -B/sw/src/fink.build/i386-elf-gcc-3.4.6-1/build/gcc/ -B/sw/ share/i386-elf/i386-elf/bin/ -B/sw/share/i386-elf/i386-elf/lib/ - isystem /sw/share/i386-elf/i386-elf/include -isystem /sw/share/i386- elf/i386-elf/sys-include and cc understand -c and -o together... yes | checking for an ANSI C-conforming const... yes | checking for inline... inline | checking whether byte ordering is bigendian... cross-compiling... | unknown | checking to probe for byte ordering... /sw/share/i386-elf/i386- elf/bin/ld: crt0.o: No such file: No such file or directory | collect2: ld returned 1 exit status | unknown | configure: error: unknown endianess - sorry | /sw/src/fink.build/i386-elf-gcc-3.4.6-1/gcc-3.4.6/libiberty/ configure: line
Re: [Fink-devel] Sorted - Re: Trying to port your package to Fink
Look for where the bad .la file gets created. There's probably a libtool command in the build output that does -o libstdc++.la. Look at that libtool command and the compiler command after it, see if they have any -L flags that point to the build dir (either absolute -L/sw/src/whatever or relative -L./whatever). One should only pass -L flags for system and dependent libraries, not for things that are part of the thing you are building. If the libtool command has them, then there's a bug in the Makefile (okay, the Makefile.in template, or its Makefile.am template, depending on how the package is written), or more rarely in the ./configure script that sets some flags in the Makefile. If the libtool command does not but the compiler command does, then it's the bug in libtool. dan On Tue, Feb 05, 2008 at 04:38:00PM +, Murali Vadivelu wrote: I tried all the possible fixes suggested there or looked for the problem. I could not fix the warning though. Could be some vague thing related to point no. 3 made in that wiki-page. On 5 Feb 2008, at 15:40, Alexander K. Hansen wrote: It's nothing specific to cross-compilers. The issue is talked about on http://wiki.finkproject.org/index.php/Fink:Porting_Notes, in theCommon Libtool Linking Problems section, item 2. Murali Vadivelu wrote: | | Btw, I am trying to create a cross-compiler, i386-elf-gcc. Everything goes well, except for this fink validate warning: | $ fink validate /sw/fink/10.5/local/main/binary-darwin-i386/devel/ i386-elf-gcc_3.4.6-1_darwin-i386.deb | Validating .deb file /sw/fink/10.5/local/main/binary-darwin-i386/ devel/i386-elf-gcc_3.4.6-1_darwin-i386.deb... | Error: Libtool file points to fink build dir. | Offending file: /sw/share/i386-elf/i386-elf/lib/libstdc++.la | Offending file: /sw/share/i386-elf/i386-elf/lib/libsupc++.la -- Daniel Macks [EMAIL PROTECTED] http://www.netspace.org/~dmacks - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel
Re: [Fink-devel] Sorted - Re: Trying to port your package to Fink
Daniel Macks wrote: Look for where the bad .la file gets created. There's probably a libtool command in the build output that does -o libstdc++.la. Look at that libtool command and the compiler command after it, see if they have any -L flags that point to the build dir (either absolute -L/sw/src/whatever or relative -L./whatever). One should only pass -L flags for system and dependent libraries, not for things that are part of the thing you are building. If the libtool command has them, then there's a bug in the Makefile (okay, the Makefile.in template, or its Makefile.am template, depending on how the package is written), or more rarely in the ./configure script that sets some flags in the Makefile. If the libtool command does not but the compiler command does, then it's the bug in libtool. This is a gcc build-system bug that has been reported again and again. There is no easy way to adjust the build system to fix, the best bet is to remove the builddir refereces from the .la files after installing in the staging dir using sed/perl etc. Peter -- Peter O'Gorman http://pogma.com - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel