possible case-sensitive problems during building

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[resend - originally sent around 28 July 2007 IIRC,
 something ate it going to the list - now with more info]

Hi,

I'm trying to build the current cvs on a case-sensitive HFS+ volume
(darwin/osx).  In my particular case, the build volume BigUn3 is
case-sensitive, while the system/boot/root/install volume itself is
not.  (Apple preinstalls OSX onto a non-case-sensitive format, so
this _is_ a very common case.)  Building xf86 stumbles in certain
places -- one is shown here:

# pwd
/Volumes/BigUn3/Projects/xf86_cvs/build/programs/Xserver/Xprint
# make
make: Entering directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/Xserver/Xprint'
rm -f Util.o
/usr/bin/cc -c -Os -g -Wall -Wpointer-arith -Wstrict-prototypes                                 -Wmissing-prototypes -Wmissing-declarations                                 -Wredundant-decls -Wnested-externs                                 -no-cpp-precomp -UNEED_SCREEN_REGIONS     -I. -I../../../programs/Xserver/mfb -I../../../programs/Xserver/mi          -I../../../programs/Xserver/cfb -I../../../programs/Xserver/Xext        -I../../../programs/Xserver/include -I../../../lib/X11  -I../../../exports/include    -D__i386__ -D__DARWIN__                                 -DNO_ALLOCA -DCSRG_BASED  -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP  -DXCSECURITY -DXSYNC -DXF86BIGFONT        -DBIGREQS -DPANORAMIX -DRENDER -DRANDR         -DRES  -DPIXPRIV                              -DNDEBUG                        -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH                           -DXFree86Server                                -DSMART_SCHEDULE                       -DBUILDDEBUG                   
           -DX_BYTE_ORDER=X_LITTLE_ENDIAN     -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR                          -DDDXOSVERRORF       -DMITSHM -DMITMISC -DXTEST         -DXTRAP -DXCMISC -DXRECORD -DTOGCUP             -DDBE -DEVI -DSCREENSAVER -DXV  -DXVMC -DGLXEXT -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL -fno-common -DFONTCACHE -UXINPUT -UXKB -UDPMSExtension -UPANORAMIX     -UGLXEXT -UXF86DRI -UXF86VIDMODE        -UXF86MISC -UXFreeXDGA -UXTESTEXT1      -USCREENSAVER -UXV      -UXVMC -UXFree86LOADER -D_XP_PRINT_SERVER_           -DXPRINTDIR=\"/usr/X11R6/lib/X11/xserver\"              -DXPRASTERDDX -DXPPCLDDX  -DXPPSDDX   util.c
i686-apple-darwin8-gcc-4.0.1: util.c: No such file or directory
i686-apple-darwin8-gcc-4.0.1: no input files
make: *** [Util.o] Error 1
make: Leaving directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/Xserver/Xprint'
# ls -al
total 348
drwxr-xr-x 36 root scifi  1224 2007-07-28 17:48 .
drwxr-xr-x 47 root scifi  1598 2007-07-28 17:33 ..
lrwxr-xr-x  1 root scifi    50 2007-07-28 17:21 AttrValid.c -> ../../../../xc/programs/Xserver/Xprint/AttrValid.c
lrwxr-xr-x  1 root scifi    50 2007-07-28 17:21 AttrValid.h -> ../../../../xc/programs/Xserver/Xprint/AttrValid.h
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 DiPrint.h -> ../../../../xc/programs/Xserver/Xprint/DiPrint.h
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 Imakefile -> ../../../../xc/programs/Xserver/Xprint/Imakefile
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 Init.c -> ../../../../xc/programs/Xserver/Xprint/Init.c
-rw-r--r--  1 root scifi 72476 2007-07-28 17:48 Init.o
-rw-r--r--  1 root scifi 70830 2007-07-28 17:36 Makefile
-rw-r--r--  1 root scifi 33270 2007-07-28 17:33 Makefile.bak
lrwxr-xr-x  1 root scifi    44 2007-07-28 17:21 Oid.c -> ../../../../xc/programs/Xserver/Xprint/Oid.c
lrwxr-xr-x  1 root scifi    44 2007-07-28 17:21 Oid.h -> ../../../../xc/programs/Xserver/Xprint/Oid.h
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 OidDefs.h -> ../../../../xc/programs/Xserver/Xprint/OidDefs.h
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 OidStrs.h -> ../../../../xc/programs/Xserver/Xprint/OidStrs.h
lrwxr-xr-x  1 root scifi    25 2007-07-28 17:34 Quarks.c -> ../../../lib/X11/Quarks.c
-rw-r--r--  1 root scifi  7036 2007-07-28 17:48 Quarks.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 Util.c -> ../../../../xc/programs/Xserver/Xprint/Util.c
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 ValTree.c -> ../../../../xc/programs/Xserver/Xprint/ValTree.c
drwxr-xr-x 10 root scifi   340 2007-07-28 17:36 XTrap
drwxr-xr-x 44 root scifi  1496 2007-07-28 17:36 Xext
lrwxr-xr-x  1 root scifi    51 2007-07-28 17:21 attributes.c -> ../../../../xc/programs/Xserver/Xprint/attributes.c
lrwxr-xr-x  1 root scifi    51 2007-07-28 17:21 attributes.h -> ../../../../xc/programs/Xserver/Xprint/attributes.h
-rw-r--r--  1 root scifi 91724 2007-07-28 17:48 attributes.o
drwxr-xr-x  8 root scifi   272 2007-07-28 17:36 dbe
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 ddxInit.c -> ../../../../xc/programs/Xserver/Xprint/ddxInit.c
drwxr-xr-x 29 root scifi   986 2007-07-28 17:36 dix
lrwxr-xr-x  1 root scifi    51 2007-07-28 17:21 mediaSizes.c -> ../../../../xc/programs/Xserver/Xprint/mediaSizes.c
lrwxr-xr-x  1 root scifi    40 2007-07-28 17:34 miinitext.c -> ../../../programs/Xserver/mi/miinitext.c
drwxr-xr-x 27 root scifi   918 2007-07-28 17:36 os
drwxr-xr-x 28 root scifi   952 2007-07-28 17:36 pcl
drwxr-xr-x  3 root scifi   102 2007-07-28 17:21 pcl-mono
drwxr-xr-x 27 root scifi   918 2007-07-28 17:36 ps
drwxr-xr-x  7 root scifi   238 2007-07-28 17:36 randr
drwxr-xr-x  8 root scifi   272 2007-07-28 17:36 raster
drwxr-xr-x  8 root scifi   272 2007-07-28 17:36 record
drwxr-xr-x 16 root scifi   544 2007-07-28 17:36 render

The lower-case 'util.c' string is not in this subdir's Imakefile or
Makefile; in fact I can't grep for it without finding a few hundred
other hits i.e. which one's "this" one.  ;)

So to get around this I simply put a symlink in this subdir:
ln -s Util.c util.c
which then causes Util.o to not be found, so another symlink is needed:
ln -s util.o Util.o
in a backwards fashion.

I don't know why I haven't stumbled on this before: I'm using the
same current GNU make-3.81.90+ from their cvs repo, and I've built
xf86-cvs before on case-sensitive HFS+ volumes.

p.s.  I now have a new 24-inch iMac with core2 duo chipset, maxed
out SDRAM, extra firewire disks, etc.  We're actually running a
fixed build of this version of xf86 already (using current cvs/svn
of pan2 and many gnome components also; see User-Agent header of
this post ;) ).

-*-

Okay further build issues come about that are related to the above.

[...]
ranlib libcfb32.a
make[4]: Leaving directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/Xserver/cfb32'
/usr/bin/cc -o Xprt -Os -g -Wall -Wpointer-arith -Wstrict-prototypes                                 -Wmissing-prototypes -Wmissing-declarations                                 -Wredundant-decls -Wnested-externs                                 -no-cpp-precomp -UNEED_SCREEN_REGIONS  -Wl,-search_paths_first   -L../../exports/lib        Xprint/ddxInit.o Xprint/miinitext.o     Xprint/dix/libdix.a Xprint/os/libos.a                Xprint/libprinter.a                     Xprint/raster/libraster.a Xprint/pcl/libpcl.a  Xprint/ps/libps.a cfb32/libcfb32.a cfb/libcfb.a mfb/libmfb.a mi/libmi.a Xprint/Xext/libext.a Xprint/dbe/libdbe.a Xprint/record/librecord.a Xprint/XTrap/libxtrap.a lbx/liblbx.a                  ../../lib/lbxutil/liblbxutil.a  Xprint/randr/librandr.a Xprint/render/librender.a -L/usr/X11R6/lib         -L../../exports/lib  -lXfont -L/usr/X11R6/lib -lfreetype  -lz                        -lXau -lXdmcp                    
/usr/bin/ld: archive: Xprint/libprinter.a has no table of contents, add one with ranlib(1) (can't load from it)
collect2: ld returned 1 exit status
make: *** [Xprt] Error 1
make: Leaving directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/Xserver'

All ya gotta do is:

# ranlib Xprint/libprinter.a

then continue with a normal make, then we hit this third stumble:

make[1]: Leaving directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/Xserver/cfb32'
/usr/bin/cc -o Xprt -Os -g -Wall -Wpointer-arith -Wstrict-prototypes                                 -Wmissing-prototypes -Wmissing-declarations                                 -Wredundant-decls -Wnested-externs                                 -no-cpp-precomp -UNEED_SCREEN_REGIONS  -Wl,-search_paths_first   -L../../exports/lib        Xprint/ddxInit.o Xprint/miinitext.o     Xprint/dix/libdix.a Xprint/os/libos.a                Xprint/libprinter.a                     Xprint/raster/libraster.a Xprint/pcl/libpcl.a  Xprint/ps/libps.a cfb32/libcfb32.a cfb/libcfb.a mfb/libmfb.a mi/libmi.a Xprint/Xext/libext.a Xprint/dbe/libdbe.a Xprint/record/librecord.a Xprint/XTrap/libxtrap.a lbx/liblbx.a                  ../../lib/lbxutil/liblbxutil.a  Xprint/randr/librandr.a Xprint/render/librender.a -L/usr/X11R6/lib         -L../../exports/lib  -lXfont -L/usr/X11R6/lib -lfreetype  -lz                        -lXau -lXdmcp                    
/usr/bin/ld: Undefined symbols:
_ReplaceAnyString
_TransferBytes
_CopyContentsAndDelete
_ReplaceFileString
_XpFinishDocData
_XpOpenTmpFile
_XpSendDocumentData
collect2: ld returned 1 exit status
make: *** [Xprt] Error 1
make: Leaving directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/Xserver'

Apparently this is because libprinter.a didn't get [U,u]til.o rolled
into it due to its earlier case-sensitive build issues.  So manually
add util.o to this link cmd, which now needs -Wl,-m to accept
duplicate symbols:

/usr/bin/cc -o Xprt -Os -g -Wall -Wpointer-arith -Wstrict-prototypes                                 -Wmissing-prototypes -Wmissing-declarations                                 -Wredundant-decls -Wnested-externs                                 -no-cpp-precomp -UNEED_SCREEN_REGIONS  -Wl,-search_paths_first   -L../../exports/lib        Xprint/ddxInit.o Xprint/miinitext.o     Xprint/dix/libdix.a Xprint/os/libos.a                Xprint/libprinter.a                     Xprint/raster/libraster.a Xprint/pcl/libpcl.a  Xprint/ps/libps.a cfb32/libcfb32.a cfb/libcfb.a mfb/libmfb.a mi/libmi.a Xprint/Xext/libext.a Xprint/dbe/libdbe.a Xprint/record/librecord.a Xprint/XTrap/libxtrap.a lbx/liblbx.a                  ../../lib/lbxutil/liblbxutil.a  Xprint/randr/librandr.a Xprint/render/librender.a -L/usr/X11R6/lib         -L../../exports/lib  -lXfont -L/usr/X11R6/lib -lfreetype  -lz                        -lXau -lXdmcp Xprint/util.o -Wl,-m


-*-


Same type thing happens here:

[...]
make: Entering directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/lbxproxy/di'
rm -f pm.o
/usr/bin/cc -c -Os -g -Wall -Wpointer-arith -Wstrict-prototypes                                 -Wmissing-prototypes -Wmissing-declarations                                 -Wredundant-decls -Wnested-externs                                 -no-cpp-precomp -UNEED_SCREEN_REGIONS     -I. -I../include  -I../../../exports/include    -D__i386__ -D__DARWIN__                                 -DNO_ALLOCA -DCSRG_BASED  -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP     -DXCSECURITY -DXSYNC -DXF86BIGFONT       -DBIGREQS -DPANORAMIX -DRENDER -DRANDR         -DRES  -DPIXPRIV                              -DNDEBUG                         -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH                                  -DXFree86Server                                -DSMART_SCHEDULE                                -DBUILDDEBUG                            -DX_BYTE_ORDER=X_LITTLE_ENDIAN     -DBIGREQS  -DIPv6 PM.c
i686-apple-darwin8-gcc-4.0.1: PM.c: No such file or directory
i686-apple-darwin8-gcc-4.0.1: no input files
make: *** [pm.o] Error 1
make: Leaving directory `/Volumes/BigUn3/Projects/xf86_cvs/build/programs/lbxproxy/di'
# pwd
/Volumes/BigUn3/Projects/xf86_cvs/build/programs/lbxproxy/di
# ls -al
total 1220
drwxr-xr-x 62 root scifi  2108 2007-07-28 19:20 .
drwxr-xr-x 11 root scifi   374 2007-07-28 17:33 ..
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 Imakefile -> ../../../../xc/programs/lbxproxy/di/Imakefile
-rw-r--r--  1 root scifi 81038 2007-07-28 17:37 Makefile
-rw-r--r--  1 root scifi 27765 2007-07-28 17:33 Makefile.bak
lrwxr-xr-x  1 root scifi    47 2007-07-28 17:21 atomcache.c -> ../../../../xc/programs/lbxproxy/di/atomcache.c
-rw-r--r--  1 root scifi 37308 2007-07-28 19:20 atomcache.o
lrwxr-xr-x  1 root scifi    43 2007-07-28 17:21 cache.c -> ../../../../xc/programs/lbxproxy/di/cache.c
-rw-r--r--  1 root scifi 40340 2007-07-28 19:20 cache.o
lrwxr-xr-x  1 root scifi    42 2007-07-28 17:21 cmap.c -> ../../../../xc/programs/lbxproxy/di/cmap.c
-rw-r--r--  1 root scifi 62532 2007-07-28 19:20 cmap.o
lrwxr-xr-x  1 root scifi    46 2007-07-28 17:21 cmaputil.c -> ../../../../xc/programs/lbxproxy/di/cmaputil.c
-rw-r--r--  1 root scifi 54564 2007-07-28 19:20 cmaputil.o
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 connection.h -> ../../../../xc/programs/lbxproxy/di/connection.h
lrwxr-xr-x  1 root scifi    46 2007-07-28 17:21 dispatch.c -> ../../../../xc/programs/lbxproxy/di/dispatch.c
lrwxr-xr-x  1 root scifi    46 2007-07-28 17:21 dispatch.h -> ../../../../xc/programs/lbxproxy/di/dispatch.h
-rw-r--r--  1 root scifi 45896 2007-07-28 19:20 dispatch.o
lrwxr-xr-x  1 root scifi    48 2007-07-28 17:21 extensions.c -> ../../../../xc/programs/lbxproxy/di/extensions.c
-rw-r--r--  1 root scifi 40184 2007-07-28 19:20 extensions.o
lrwxr-xr-x  1 root scifi    41 2007-07-28 17:21 gfx.c -> ../../../../xc/programs/lbxproxy/di/gfx.c
lrwxr-xr-x  1 root scifi    41 2007-07-28 17:21 gfx.h -> ../../../../xc/programs/lbxproxy/di/gfx.h
-rw-r--r--  1 root scifi 70616 2007-07-28 19:20 gfx.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 globals.c -> ../../../../xc/programs/lbxproxy/di/globals.c
-rw-r--r--  1 root scifi 24964 2007-07-28 19:20 globals.o
lrwxr-xr-x  1 root scifi    42 2007-07-28 17:21 init.c -> ../../../../xc/programs/lbxproxy/di/init.c
-rw-r--r--  1 root scifi 28548 2007-07-28 19:20 init.o
lrwxr-xr-x  1 root scifi    46 2007-07-28 17:21 lbxfuncs.c -> ../../../../xc/programs/lbxproxy/di/lbxfuncs.c
lrwxr-xr-x  1 root scifi    46 2007-07-28 17:21 lbxfuncs.h -> ../../../../xc/programs/lbxproxy/di/lbxfuncs.h
-rw-r--r--  1 root scifi 62844 2007-07-28 19:20 lbxfuncs.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 lbxutil.c -> ../../../../xc/programs/lbxproxy/di/lbxutil.c
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 lbxutil.h -> ../../../../xc/programs/lbxproxy/di/lbxutil.h
-rw-r--r--  1 root scifi 44348 2007-07-28 19:20 lbxutil.o
lrwxr-xr-x  1 root scifi    42 2007-07-28 17:21 main.c -> ../../../../xc/programs/lbxproxy/di/main.c
-rw-r--r--  1 root scifi 36812 2007-07-28 19:20 main.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 options.c -> ../../../../xc/programs/lbxproxy/di/options.c
-rw-r--r--  1 root scifi 47036 2007-07-28 19:20 options.o
lrwxr-xr-x  1 root scifi    40 2007-07-28 17:21 pm.c -> ../../../../xc/programs/lbxproxy/di/pm.c
lrwxr-xr-x  1 root scifi    43 2007-07-28 17:21 props.c -> ../../../../xc/programs/lbxproxy/di/props.c
-rw-r--r--  1 root scifi 40940 2007-07-28 19:20 props.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 reqtype.c -> ../../../../xc/programs/lbxproxy/di/reqtype.c
-rw-r--r--  1 root scifi  2500 2007-07-28 19:20 reqtype.o
lrwxr-xr-x  1 root scifi    46 2007-07-28 17:21 resource.c -> ../../../../xc/programs/lbxproxy/di/resource.c
-rw-r--r--  1 root scifi 41668 2007-07-28 19:20 resource.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 swaprep.c -> ../../../../xc/programs/lbxproxy/di/swaprep.c
-rw-r--r--  1 root scifi 38092 2007-07-28 19:20 swaprep.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 swapreq.c -> ../../../../xc/programs/lbxproxy/di/swapreq.c
-rw-r--r--  1 root scifi 12944 2007-07-28 19:20 swapreq.o
lrwxr-xr-x  1 root scifi    44 2007-07-28 17:21 tables.c -> ../../../../xc/programs/lbxproxy/di/tables.c
lrwxr-xr-x  1 root scifi    44 2007-07-28 17:21 tables.h -> ../../../../xc/programs/lbxproxy/di/tables.h
-rw-r--r--  1 root scifi  8324 2007-07-28 19:20 tables.o
lrwxr-xr-x  1 root scifi    42 2007-07-28 17:21 tags.c -> ../../../../xc/programs/lbxproxy/di/tags.c
-rw-r--r--  1 root scifi 37520 2007-07-28 19:20 tags.o
lrwxr-xr-x  1 root scifi    46 2007-07-28 17:21 unsquish.c -> ../../../../xc/programs/lbxproxy/di/unsquish.c
-rw-r--r--  1 root scifi 20280 2007-07-28 19:20 unsquish.o
lrwxr-xr-x  1 root scifi    43 2007-07-28 17:21 utils.c -> ../../../../xc/programs/lbxproxy/di/utils.c
lrwxr-xr-x  1 root scifi    43 2007-07-28 17:21 utils.h -> ../../../../xc/programs/lbxproxy/di/utils.h
-rw-r--r--  1 root scifi 56616 2007-07-28 19:20 utils.o
lrwxr-xr-x  1 root scifi    42 2007-07-28 17:21 wire.c -> ../../../../xc/programs/lbxproxy/di/wire.c
-rw-r--r--  1 root scifi 68708 2007-07-28 19:20 wire.o
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 zeropad.c -> ../../../../xc/programs/lbxproxy/di/zeropad.c
lrwxr-xr-x  1 root scifi    45 2007-07-28 17:21 zeropad.h -> ../../../../xc/programs/lbxproxy/di/zeropad.h
-rw-r--r--  1 root scifi 25856 2007-07-28 19:20 zeropad.o

To get around this, do a symlink like with the util.c problem above:
ln -s pm.c PM.c
Let make run s'more, then the object will be missing, which needs:
ln -s PM.o pm.o
Let make run s'more, it'll need you to run ranlib on it,
then continue on with normal make,
and the next link step will need this object tacked on as well:
# pwd
/Volumes/BigUn3/Projects/xf86_cvs/build/programs/lbxproxy
# /usr/bin/cc -o lbxproxy -Os -g -Wall -Wpointer-arith -Wstrict-prototypes                                 -Wmissing-prototypes -Wmissing-declarations                                 -Wredundant-decls -Wnested-externs                                 -no-cpp-precomp -UNEED_SCREEN_REGIONS  -Wl,-search_paths_first   -L../../exports/lib   di/main.o di/libdilbx.a os/libos.a ../../lib/lbxutil/liblbxutil.a -L/usr/X11R6/lib    -lICE -lXext -lX11 -lz di/PM.o -Wl,-m



-*-


After these hacks, the rest of the build seems to go fine, even the
XDarwin.app is fixed.


I think if the case-sensitive issues with [u,U]til.[c,o] and
[PM][pm].[c,o] are fixed, the other link problems will
automatically be fixed, too.


Thanks for any help.  I can open a bugzilla report if needed for
more details.


_______________________________________________
Devel mailing list
Devel@xxxxxxxxxxx
http://XFree86.Org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [X Forum]     [XFree86]     [XFree86 Newbie]     [X.Org]     [IETF Annouce]     [Security]     [Fontconfig]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]

  Powered by Linux