Posted: Sun Jan 21, 2007 11:54 pm Post subject: Re: HEAD compile error
skuld wrote:
tried to fecth again OpenOffice sources, but it changes nothing. Do you know where can I be wrong ?
The build system is very unstable right now as Ed and I are feverishing trying to get both Intel and PowerPC machines to build and work. The code is changing many times each day and will continue to do so until at least early February.
So, at this point, if the build fails your only real option is to completely delete your entire neojava directory, do a clean checkout, and a clean build.
Joined: Apr 25, 2006 Posts: 2315 Location: Montpellier, France
Posted: Mon Jan 22, 2007 10:40 am Post subject:
My own build failed Sunday morning (unable to access the odf-converter svn for some reason ). Since the code keeps changing on a frequent basis, I decided not to restart the build (it takes me more than 36 hours to build, and that the OOo portion seems to require a rebuild every day or so ).
I'll be focusing on other things (such as translating Planamesa fr) until the OOo portion of the build has become more stable
Joined: Mar 20, 2005 Posts: 19 Location: Toulouse, France
Posted: Tue Jan 23, 2007 6:55 am Post subject:
I now have a compile problem at odf_converter build step :
Code:
touch "build.oo_all"
( cd "build/odf-converter" ; patch -b -R -p0 -N -r "/dev/null" ) < "patches/odf-converter/odf-converter.patch"
patching file build/common.mk
patching file source/OdfConverterTest/Makefile
patching file source/AdditionalTools/zlib123/contrib/minizip/Makefile
( cd "build/odf-converter" ; patch -b -p0 -N -r "/opt/neooffice/neojava/patch.rej" ) < "patches/odf-converter/odf-converter.patch"
patching file build/common.mk
patching file source/OdfConverterTest/Makefile
patching file source/AdditionalTools/zlib123/contrib/minizip/Makefile
cd "build/odf-converter" ; "make"
uname: illegal option -- o
usage: uname [-amnprsv]
uname: illegal option -- o
usage: uname [-amnprsv]
make all-local
uname: illegal option -- o
usage: uname [-amnprsv]
cc -dynamiclib -single_module -install_name '@executable_path/libzlibwapi.dylib' -lz -fPIC -g -O0 -Wall \
-o libzlibwapi.dylib zip.c unzip.c ioapi.c
zip.c:194: warning: ‘free_linkedlist’ defined but not used
unzip.c: In function ‘unzlocal_GetCurrentFileInfoInternal’:
unzip.c:610: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c:690: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c:715: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c: In function ‘unzlocal_CheckCurrentFileCoherencyHeader’:
unzip.c:979: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c: In function ‘unzGetGlobalComment’:
unzip.c:1537: warning: unused variable ‘err’
cc -c -g -O0 -Wall zip.c unzip.c ioapi.c
zip.c:194: warning: ‘free_linkedlist’ defined but not used
unzip.c: In function ‘unzlocal_GetCurrentFileInfoInternal’:
unzip.c:610: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c:690: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c:715: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c: In function ‘unzlocal_CheckCurrentFileCoherencyHeader’:
unzip.c:979: warning: suggest explicit braces to avoid ambiguous ‘else’
unzip.c: In function ‘unzGetGlobalComment’:
unzip.c:1537: warning: unused variable ‘err’
ar rc libzlibwapi.a zip.o unzip.o ioapi.o # FIXME - do better
ranlib libzlibwapi.a
uname: illegal option -- o
usage: uname [-amnprsv]
make all-local
uname: illegal option -- o
usage: uname [-amnprsv]
make[3]: Nothing to be done for `all-local'.
uname: illegal option -- o
usage: uname [-amnprsv]
make all-local
uname: illegal option -- o
usage: uname [-amnprsv]
make[3]: Nothing to be done for `all-local'.
uname: illegal option -- o
usage: uname [-amnprsv]
make all-local
uname: illegal option -- o
usage: uname [-amnprsv]
gmcs -d:DEBUG -debug+ -d:MONO -target:exe -out:OdfConverterTest.exe \
-reference:../OdfZipUtils/OdfZipUtils.dll \
-reference:../OdfConverterLib/OdfConverterLib.dll \
OdfCommandLineException.cs OdfConverterTest.cs OoxValidator.cs OdfValidator.cs
OoxValidator.cs(78,24): warning CS0414: The private field `CleverAge.OdfConverter.CommandLineTool.OoxValidator.report' is assigned but its value is never used
Compilation succeeded - 1 warning(s)
MONO_PATH='../OdfZipUtils:../OdfConverterLib' mkbundle2 -c -o main.c -oo bundle.o --deps OdfConverterTestStatic.exe
OS is: Darwin
Sources: 1 Auto-dependencies: True
embedding: /opt/neooffice/neojava/build/odf-converter/source/OdfConverterTest/OdfConverterTestStatic.exe
embedding: /Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/mono/2.0/mscorlib.dll
embedding: /opt/neooffice/neojava/build/odf-converter/source/OdfConverterLib/OdfConverterLibStatic.dll
embedding: /Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/mono/gac/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
embedding: /Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll
embedding: /Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/mono/gac/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
embedding: /Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/mono/gac/System.Security/2.0.0.0__b03f5f7f11d50a3a/System.Security.dll
embedding: /Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/mono/gac/Mono.Security/2.0.0.0__0738eb9f132ed756/Mono.Security.dll
embedding: /opt/neooffice/neojava/build/odf-converter/source/OdfZipUtils/OdfZipUtilsStatic.dll
Compiling:
as -o bundle.o temp.s
rm -f OdfConverter
gcc -o OdfConverter -Wall `pkg-config --cflags mono` main.c \
`pkg-config --libs-only-L mono` -bind_at_load -all_load -lz \
../AdditionalTools/zlib123/contrib/minizip/libzlibwapi.a \
`pkg-config --libs-only-l mono` bundle.o
Package mono was not found in the pkg-config search path.
Perhaps you should add the directory containing `mono.pc'
to the PKG_CONFIG_PATH environment variable
No package 'mono' found
Package mono was not found in the pkg-config search path.
Perhaps you should add the directory containing `mono.pc'
to the PKG_CONFIG_PATH environment variable
No package 'mono' found
Package mono was not found in the pkg-config search path.
Perhaps you should add the directory containing `mono.pc'
to the PKG_CONFIG_PATH environment variable
No package 'mono' found
main.c:2:36: error: mono/metadata/assembly.h: No such file or directory
main.c:5: error: parse error before ‘assembly_bundle_OdfConverterTestStatic_exe’
main.c:5: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_OdfConverterTestStatic_exe’
main.c:5: warning: initialization makes integer from pointer without a cast
main.c:5: warning: excess elements in scalar initializer
main.c:5: warning: (near initialization for ‘assembly_bundle_OdfConverterTestStatic_exe’)
main.c:5: warning: excess elements in scalar initializer
main.c:5: warning: (near initialization for ‘assembly_bundle_OdfConverterTestStatic_exe’)
main.c:5: warning: data definition has no type or storage class
main.c:7: error: parse error before ‘assembly_bundle_mscorlib_dll’
main.c:7: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_mscorlib_dll’
main.c:7: warning: initialization makes integer from pointer without a cast
main.c:7: warning: excess elements in scalar initializer
main.c:7: warning: (near initialization for ‘assembly_bundle_mscorlib_dll’)
main.c:7: warning: excess elements in scalar initializer
main.c:7: warning: (near initialization for ‘assembly_bundle_mscorlib_dll’)
main.c:7: warning: data definition has no type or storage class
main.c:9: error: parse error before ‘assembly_bundle_OdfConverterLibStatic_dll’
main.c:9: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_OdfConverterLibStatic_dll’
main.c:9: warning: initialization makes integer from pointer without a cast
main.c:9: warning: excess elements in scalar initializer
main.c:9: warning: (near initialization for ‘assembly_bundle_OdfConverterLibStatic_dll’)
main.c:9: warning: excess elements in scalar initializer
main.c:9: warning: (near initialization for ‘assembly_bundle_OdfConverterLibStatic_dll’)
main.c:9: warning: data definition has no type or storage class
main.c:11: error: parse error before ‘assembly_bundle_System_Xml_dll’
main.c:11: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_System_Xml_dll’
main.c:11: warning: initialization makes integer from pointer without a cast
main.c:11: warning: excess elements in scalar initializer
main.c:11: warning: (near initialization for ‘assembly_bundle_System_Xml_dll’)
main.c:11: warning: excess elements in scalar initializer
main.c:11: warning: (near initialization for ‘assembly_bundle_System_Xml_dll’)
main.c:11: warning: data definition has no type or storage class
main.c:13: error: parse error before ‘assembly_bundle_System_dll’
main.c:13: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_System_dll’
main.c:13: warning: initialization makes integer from pointer without a cast
main.c:13: warning: excess elements in scalar initializer
main.c:13: warning: (near initialization for ‘assembly_bundle_System_dll’)
main.c:13: warning: excess elements in scalar initializer
main.c:13: warning: (near initialization for ‘assembly_bundle_System_dll’)
main.c:13: warning: data definition has no type or storage class
main.c:15: error: parse error before ‘assembly_bundle_System_Configuration_dll’
main.c:15: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_System_Configuration_dll’
main.c:15: warning: initialization makes integer from pointer without a cast
main.c:15: warning: excess elements in scalar initializer
main.c:15: warning: (near initialization for ‘assembly_bundle_System_Configuration_dll’)
main.c:15: warning: excess elements in scalar initializer
main.c:15: warning: (near initialization for ‘assembly_bundle_System_Configuration_dll’)
main.c:15: warning: data definition has no type or storage class
main.c:17: error: parse error before ‘assembly_bundle_System_Security_dll’
main.c:17: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_System_Security_dll’
main.c:17: warning: initialization makes integer from pointer without a cast
main.c:17: warning: excess elements in scalar initializer
main.c:17: warning: (near initialization for ‘assembly_bundle_System_Security_dll’)
main.c:17: warning: excess elements in scalar initializer
main.c:17: warning: (near initialization for ‘assembly_bundle_System_Security_dll’)
main.c:17: warning: data definition has no type or storage class
main.c:19: error: parse error before ‘assembly_bundle_Mono_Security_dll’
main.c:19: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_Mono_Security_dll’
main.c:19: warning: initialization makes integer from pointer without a cast
main.c:19: warning: excess elements in scalar initializer
main.c:19: warning: (near initialization for ‘assembly_bundle_Mono_Security_dll’)
main.c:19: warning: excess elements in scalar initializer
main.c:19: warning: (near initialization for ‘assembly_bundle_Mono_Security_dll’)
main.c:19: warning: data definition has no type or storage class
main.c:21: error: parse error before ‘assembly_bundle_OdfZipUtilsStatic_dll’
main.c:21: warning: type defaults to ‘int’ in declaration of ‘assembly_bundle_OdfZipUtilsStatic_dll’
main.c:21: warning: initialization makes integer from pointer without a cast
main.c:21: warning: excess elements in scalar initializer
main.c:21: warning: (near initialization for ‘assembly_bundle_OdfZipUtilsStatic_dll’)
main.c:21: warning: excess elements in scalar initializer
main.c:21: warning: (near initialization for ‘assembly_bundle_OdfZipUtilsStatic_dll’)
main.c:21: warning: data definition has no type or storage class
main.c:23: error: parse error before ‘*’ token
main.c:23: warning: type defaults to ‘int’ in declaration of ‘bundled’
main.c:34: error: ‘NULL’ undeclared here (not in a function)
main.c:34: warning: data definition has no type or storage class
main.c: In function ‘mono_mkbundle_init’:
main.c:46: warning: implicit declaration of function ‘mono_register_bundled_assemblies’
main.c: In function ‘main’:
main.c:64: warning: implicit declaration of function ‘mono_set_dirs’
make[3]: *** [OdfConverter] Error 1
make[2]: *** [do-all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [build.odf-converter_patches] Error 2
Joined: Mar 20, 2005 Posts: 19 Location: Toulouse, France
Posted: Tue Jan 23, 2007 1:02 pm Post subject:
I had to start build process with "make PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/pkgconfig" in order to have odf_converter to build.
I had to start build process with "make PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/1.2.2.1/lib/pkgconfig" in order to have odf_converter to build.
I think it should be a good idea to talk about this environment variable into README.txt file.
Didn't read the README.txt file very closely, did you? Item number 5 in the file goes into great detail about this pkg-config installation requirements for the build. Wonderful that your build worked with your hack, but I'm not going to change instructions when people don't follow what's there in the first place.
Joined: Mar 20, 2005 Posts: 19 Location: Toulouse, France
Posted: Tue Jan 23, 2007 11:34 pm Post subject:
Item 5 just says : install coreutils pkg-config and libIDL through DarwinPorts, and that was I did (a long long time ago, as I used it to build old NeoOffice versions).
Code:
5. Make sure that you have installed the "gcp" and "pkg-config" commands. You can download, compile, and install these commands by downloading, compiling, and installing the following packages from the http://www.darwinports.org/ website. Note that you will need to follow the instructions on the website for downloading, compiling, and installing the DarwinPorts "port" command. The "port" command is then used to do the downloading, compiling, and installation of the following
packages:
Joined: May 25, 2003 Posts: 4752 Location: Santa Barbara, CA
Posted: Tue Jan 23, 2007 11:52 pm Post subject:
The contents of that particular step in the readme have changed over time...originally not all of those packages were included IIRC. Strange that the mono framework contains some pkgconfig binaries, but hey, whatever. All of mine are in /opt from DarwinPorts (the default paths in the makefile assume /opt).
If you do a cvs update and see the readme has changed, it is important to do a cvs diff to check which parts have changed or to peek at the change history. While we do our best to keep that file and other instructions up to date, doing so is not our priority during heavy development periods.
Also note that if you ever do an "archive and install" of Mac OS X, it will blow away /usr, /opt (IIRC), and other such private directories that are Unixy but not standard Mac OS Xy. I belive the same applies to /etc for the X11 configs.
We are a user-centric, feature-centric project. It is our aim to keep users happy by giving them the bug fixes and features they want Updating the readme is secondary to those during times of heavy development. I guess this type of neglect for the expense of our users is why we've earned the hatred of some other open source developers
Joined: Mar 20, 2005 Posts: 19 Location: Toulouse, France
Posted: Wed Jan 24, 2007 12:15 am Post subject:
OPENSTEP wrote:
The contents of that particular step in the readme have changed over time...originally not all of those packages were included IIRC. Strange that the mono framework contains some pkgconfig binaries, but hey, whatever. All of mine are in /opt from DarwinPorts (the default paths in the makefile assume /opt).
My DarwinPort installation also use /opt
OPENSTEP wrote:
If you do a cvs update and see the readme has changed, it is important to do a cvs diff to check which parts have changed or to peek at the change history. While we do our best to keep that file and other instructions up to date, doing so is not our priority during heavy development periods.
When I see README.txt changes, I read it in order to track theses changes.
OPENSTEP wrote:
Also note that if you ever do an "archive and install" of Mac OS X, it will blow away /usr, /opt (IIRC), and other such private directories that are Unixy but not standard Mac OS Xy. I belive the same applies to /etc for the X11 configs.
I didn't "archive and install" my system since I have installed DarwinPorts and pkg-config. So my /opt tree is as fresh as a young girl
Maybe its a path issue? Normally, the Mono installation creates a /usr/bin/pkg-config file that is a link to the Mono pkg-config executable. Mono needs that pkg-config and OOo and Mozilla need the /opt one. Grrr.
I wonder if I need to put /usr/bin in the front of the path when building odf-converter?
Joined: Apr 25, 2006 Posts: 2315 Location: Montpellier, France
Posted: Wed Jan 24, 2007 1:03 pm Post subject:
Patrick, did you build DarwinPorts from the sources ? In the README, you always specify the path to the port and other commands installed by MacPorts. The installation instruction page on the MacPorts wiki tells you to create a ~/.profile file containing the MacPorts paths (which I believe is done for you if you install from a .dmg).
According to the wiki, this is critical for MacPorts to function; however, it doesn't say if it is needed to install any (or some) MacPorts packages, or if it is only necessary to use MacPorts-installed packages. If it is only needed to use MacPorts-related packages, and since the paths to /opt are in the makefile, it is possible that you don't have this file but are able to use pkg-config, coreutils and libIDL anyway.
The ~/.profile file has to be created so that if you have utilities or libraries from both MacPorts and OS X's standard install, the MacPorts libraries will be run instead of the ones provided by Apple. Thus, if pkg-config is present in both /opt and /usr/bin, MacPort's pkg-config will be used first.
Could that be the reason why skuld had a compile error when building odf-converter whereas you didn't (as far as I can understand, you didn't need to set PKG_CONFIG_PATH, right) ?
Could that be the reason why skuld had a compile error when building odf-converter whereas you didn't (as far as I can understand, you didn't need to set PKG_CONFIG_PATH, right) ?
I don't think so. skuld's finished the OOo build which uses the MacPorts pkg-config and it failed in odf-converter which needs the pkg-config shipped with the Mono framwork.
I am testing a change to the makefile that puts /usr/bin at the front of the path when building Mono so that /usr/bin/pkg-config is used for the odf-converter portion of the build.
Joined: Mar 20, 2005 Posts: 19 Location: Toulouse, France
Posted: Wed Jan 24, 2007 2:02 pm Post subject:
My $PATH is like that : [...]/opt/local/bin:[...]/usr/bin:[...]. The DarwinPorts pkg-config is then used by default, and the Mono one is ignored (that's why I have to set PKG_CONFIG_PATH.
Patrick's solution to force /usr/bin/pkg-config is a good solution : if user use by default /opt/local/bin binaries, he won't have to specify the path to the port and other commands installed by DarwinPorts, and if he use by default /usr/bin/ binaries, specifying the path to the commands installed by DarwinPorts will be enought.
My $PATH is like that : [...]/opt/local/bin:[...]/usr/bin:[...]. The DarwinPorts pkg-config is then used by default, and the Mono one is ignored (that's why I have to set PKG_CONFIG_PATH.
Patrick's solution to force /usr/bin/pkg-config is a good solution : if user use by default /opt/local/bin binaries, he won't have to specify the path to the port and other commands installed by DarwinPorts, and if he use by default /usr/bin/ binaries, specifying the path to the commands installed by DarwinPorts will be enought.
I vote for it
I just committed this change to the makefile and it is available via anoncvs (I manually synced the anoncvs server).
Note that when you cvs update, Ed and I have changed a few modules in the last few days so if you already have finished the OOo portion of the build, I recommend that you do the following:
1. Delete all of the build.neo_*_patch files in the neojava directory
2. Delete all of the build.odf-converter_* files in the neojava directory
3. Delete the entire build/odf-converter directory
After that you can invoke make to rebuild without forcing OOo to rebuild.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum